From e28cab3646300c8cb03d0a08ec154bf3c44add05 Mon Sep 17 00:00:00 2001 From: Christopher Zell Date: Wed, 22 Sep 2021 15:07:21 +0200 Subject: [PATCH] feat: add partitionId to AsyncSnapshotDirector context (cherry picked from commit 741da77145ae23fed0b4b6464016c6319a8f0ec2) --- .../partitions/impl/AsyncSnapshotDirector.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/broker/src/main/java/io/camunda/zeebe/broker/system/partitions/impl/AsyncSnapshotDirector.java b/broker/src/main/java/io/camunda/zeebe/broker/system/partitions/impl/AsyncSnapshotDirector.java index 0cf62c424f81..9cb646d6216e 100644 --- a/broker/src/main/java/io/camunda/zeebe/broker/system/partitions/impl/AsyncSnapshotDirector.java +++ b/broker/src/main/java/io/camunda/zeebe/broker/system/partitions/impl/AsyncSnapshotDirector.java @@ -23,6 +23,7 @@ import io.camunda.zeebe.util.sched.future.CompletableActorFuture; import java.time.Duration; import java.util.HashSet; +import java.util.Map; import java.util.Set; import java.util.function.BooleanSupplier; import org.slf4j.Logger; @@ -57,6 +58,7 @@ public final class AsyncSnapshotDirector extends Actor private boolean persistingSnapshot; private volatile HealthStatus healthStatus = HealthStatus.HEALTHY; private long commitPosition; + private final int partitionId; private AsyncSnapshotDirector( final int nodeId, @@ -69,7 +71,8 @@ private AsyncSnapshotDirector( this.stateController = stateController; processorName = streamProcessor.getName(); this.snapshotRate = snapshotRate; - actorName = buildActorName(nodeId, "SnapshotDirector", partitionId); + this.partitionId = partitionId; + actorName = buildActorName(nodeId, "SnapshotDirector", this.partitionId); if (streamProcessorMode == StreamProcessorMode.REPLAY) { isLastWrittenPositionCommitted = () -> true; } else { @@ -77,6 +80,13 @@ private AsyncSnapshotDirector( } } + @Override + protected Map createContext() { + final var context = super.createContext(); + context.put(ACTOR_PROP_PARTITION_ID, Integer.toString(partitionId)); + return context; + } + @Override public String getName() { return actorName;