diff --git a/coordinator-common/src/main/java/org/apache/kafka/coordinator/common/runtime/CoordinatorRuntime.java b/coordinator-common/src/main/java/org/apache/kafka/coordinator/common/runtime/CoordinatorRuntime.java index 9d82e983c3e1c..1d3fb49ad3075 100644 --- a/coordinator-common/src/main/java/org/apache/kafka/coordinator/common/runtime/CoordinatorRuntime.java +++ b/coordinator-common/src/main/java/org/apache/kafka/coordinator/common/runtime/CoordinatorRuntime.java @@ -578,7 +578,7 @@ class CoordinatorContext { /** * The current state. */ - CoordinatorState state; + volatile CoordinatorState state; /** * The current epoch of the coordinator. This represents diff --git a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorService.java b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorService.java index 2817eba179872..7e96c126086df 100644 --- a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorService.java +++ b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorService.java @@ -345,7 +345,7 @@ public GroupCoordinatorService build() { * The metadata image to extract topic id to names map. * This is initialised when the {@link GroupCoordinator#onNewMetadataImage(CoordinatorMetadataImage, CoordinatorMetadataDelta)} is called */ - private CoordinatorMetadataImage metadataImage = null; + private volatile CoordinatorMetadataImage metadataImage = null; /** *