This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new e4048310aa HDDS-8978. SCM SequenceIdGenerator#reinitialize only needs 
to acquire the lock once (#5027)
e4048310aa is described below

commit e4048310aa21f562926a847a3858abe7248d734d
Author: hao guo <[email protected]>
AuthorDate: Thu Jul 20 02:29:32 2023 +0800

    HDDS-8978. SCM SequenceIdGenerator#reinitialize only needs to acquire the 
lock once (#5027)
---
 .../org/apache/hadoop/hdds/scm/ha/SequenceIdGenerator.java   | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SequenceIdGenerator.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SequenceIdGenerator.java
index 02b9565dd7..4e72376f85 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SequenceIdGenerator.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SequenceIdGenerator.java
@@ -161,23 +161,27 @@ public class SequenceIdGenerator {
   public void invalidateBatch() {
     lock.lock();
     try {
-      sequenceIdToBatchMap.forEach(
-          (sequenceId, batch) -> batch.nextId = batch.lastId + 1);
+      invalidateBatchInternal();
     } finally {
       lock.unlock();
     }
   }
 
+  private void invalidateBatchInternal() {
+    sequenceIdToBatchMap
+        .forEach((sequenceId, batch) -> batch.nextId = batch.lastId + 1);
+  }
+
   /**
    * Reinitialize the SequenceIdGenerator with the latest sequenceIdTable
    * during SCM reload.
    */
   public void reinitialize(Table<String, Long> sequenceIdTable)
       throws IOException {
+    LOG.info("reinitialize SequenceIdGenerator.");
     lock.lock();
     try {
-      LOG.info("reinitialize SequenceIdGenerator.");
-      invalidateBatch();
+      invalidateBatchInternal();
       stateManager.reinitialize(sequenceIdTable);
     } finally {
       lock.unlock();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to