diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/Election.java b/aeron-cluster/src/main/java/io/aeron/cluster/Election.java index dedc6ec2af..fc3b31c8ef 100644 --- a/aeron-cluster/src/main/java/io/aeron/cluster/Election.java +++ b/aeron-cluster/src/main/java/io/aeron/cluster/Election.java @@ -1237,7 +1237,7 @@ private Subscription addFollowerSubscription() .rejoin(Boolean.FALSE) .socketRcvbufLength(logChannelUri) .receiverWindowLength(logChannelUri) - .alias("log") + .alias("log-cm") .build(); return aeron.addSubscription(channel, ctx.logStreamId()); diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java b/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java index 50b09ee67f..bed11e87d1 100644 --- a/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java +++ b/aeron-cluster/src/main/java/io/aeron/cluster/service/ClusteredServiceAgent.java @@ -107,6 +107,7 @@ final class ClusteredServiceAgent extends ClusteredServiceAgentHotFields impleme private final Collection unmodifiableClientSessions = Collections.unmodifiableCollection(sessions); private final BoundedLogAdapter logAdapter; private final DutyCycleTracker dutyCycleTracker; + private final String subscriptionAlias; private String activeLifecycleCallbackName; private ReadableCounter commitPosition; private ActiveLogEvent activeLogEvent; @@ -127,6 +128,7 @@ final class ClusteredServiceAgent extends ClusteredServiceAgentHotFields impleme epochClock = ctx.epochClock(); nanoClock = ctx.nanoClock(); dutyCycleTracker = ctx.dutyCycleTracker(); + subscriptionAlias = "log-sc-" + ctx.serviceId(); final String channel = ctx.controlChannel(); consensusModuleProxy = new ConsensusModuleProxy(aeron.addPublication(channel, ctx.consensusModuleStreamId())); @@ -762,7 +764,11 @@ private void joinActiveLog(final ActiveLogEvent activeLog) disconnectEgress(ctx.countedErrorHandler()); } - Subscription logSubscription = aeron.addSubscription(activeLog.channel, activeLog.streamId); + final String channel = new ChannelUriStringBuilder(activeLog.channel) + .alias(subscriptionAlias) + .build(); + + Subscription logSubscription = aeron.addSubscription(channel, activeLog.streamId); try { final Image image = awaitImage(activeLog.sessionId, logSubscription);