diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerV2Impl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerV2Impl.java index 7f52d93086e8..9ad3043f23a0 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerV2Impl.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerV2Impl.java @@ -247,9 +247,9 @@ public void updatePipelineState( throws IOException { PipelineID pipelineID = PipelineID.getFromProtobuf(pipelineIDProto); Pipeline.PipelineState oldState = null; + lock.writeLock().lock(); try { oldState = getPipeline(pipelineID).getPipelineState(); - lock.writeLock().lock(); // null check is here to prevent the case where SCM store // is closed but the staleNode handlers/pipeline creations // still try to access it.