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

sumitagrawal 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 c1a606ebc1d HDDS-13965. Code cleanup for deleted block transaction. 
(#9337)
c1a606ebc1d is described below

commit c1a606ebc1d6ce96efcfc73700c2dac701369f83
Author: Priyesh Karatha <[email protected]>
AuthorDate: Mon Nov 24 13:45:00 2025 +0530

    HDDS-13965. Code cleanup for deleted block transaction. (#9337)
---
 .../scm/block/DeletedBlockLogStateManager.java     |  2 --
 .../scm/block/DeletedBlockLogStateManagerImpl.java | 26 ----------------------
 .../SCMDeletedBlockTransactionStatusManager.java   | 23 +++++++------------
 .../hdds/scm/ha/SCMHADBTransactionBufferImpl.java  |  3 +--
 .../TestScmDataDistributionFinalization.java       |  5 ++---
 5 files changed, 11 insertions(+), 48 deletions(-)

diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManager.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManager.java
index f22718ce9ef..32e0f5d260f 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManager.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManager.java
@@ -58,8 +58,6 @@ int resetRetryCountOfTransactionInDB(ArrayList<Long> txIDs)
   Table.KeyValueIterator<Long, DeletedBlocksTransaction> getReadOnlyIterator()
       throws IOException;
 
-  ArrayList<DeletedBlocksTransaction> getTransactionsFromDB(ArrayList<Long> 
txIDs) throws IOException;
-
   void onFlush();
 
   void reinitialize(Table<Long, DeletedBlocksTransaction> deletedBlocksTXTable,
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
index 7ef9708ac58..14c8986dcf1 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/DeletedBlockLogStateManagerImpl.java
@@ -24,7 +24,6 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.NoSuchElementException;
-import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import 
org.apache.hadoop.hdds.protocol.proto.HddsProtos.DeletedBlocksTransactionSummary;
@@ -210,31 +209,6 @@ public int 
resetRetryCountOfTransactionInDB(ArrayList<Long> txIDs)
     return 0;
   }
 
-  @Override
-  public ArrayList<DeletedBlocksTransaction> 
getTransactionsFromDB(ArrayList<Long> txIDs) throws IOException {
-    Objects.requireNonNull(txIDs, "txIds cannot be null.");
-    ArrayList<DeletedBlocksTransaction> transactions = new ArrayList<>();
-    for (long txId: txIDs) {
-      try {
-        if (deletingTxIDs.contains(txId)) {
-          LOG.debug("txId {} is already in deletingTxIDs.", txId);
-          continue;
-        }
-        DeletedBlocksTransaction transaction = deletedTable.get(txId);
-        if (transaction == null) {
-          LOG.debug("txId {} is not found in deletedTable.", txId);
-          continue;
-        }
-        transactions.add(transaction);
-      } catch (IOException ex) {
-        LOG.error("Could not get deleted block transaction {}.", txId, ex);
-        throw ex;
-      }
-    }
-    LOG.debug("Get {} DeletedBlocksTransactions for {} input txIDs", 
transactions.size(), txIDs.size());
-    return transactions;
-  }
-
   @Override
   public void onFlush() {
     // onFlush() can be invoked only when ratis is enabled.
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/SCMDeletedBlockTransactionStatusManager.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/SCMDeletedBlockTransactionStatusManager.java
index 3be3417799e..42df0591bcb 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/SCMDeletedBlockTransactionStatusManager.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/block/SCMDeletedBlockTransactionStatusManager.java
@@ -657,9 +657,6 @@ public static void 
setDisableDataDistributionForTest(boolean disabled) {
 
   @Nullable
   public DeletedBlocksTransactionSummary getTransactionSummary() {
-    if 
(!VersionedDatanodeFeatures.isFinalized(HDDSLayoutFeature.STORAGE_SPACE_DISTRIBUTION))
 {
-      return null;
-    }
     return DeletedBlocksTransactionSummary.newBuilder()
         .setTotalTransactionCount(totalTxCount.get())
         .setTotalBlockCount(totalBlockCount.get())
@@ -669,18 +666,14 @@ public DeletedBlocksTransactionSummary 
getTransactionSummary() {
   }
 
   private void initDataDistributionData() throws IOException {
-    if 
(VersionedDatanodeFeatures.isFinalized(HDDSLayoutFeature.STORAGE_SPACE_DISTRIBUTION))
 {
-      DeletedBlocksTransactionSummary summary = loadDeletedBlocksSummary();
-      if (summary != null) {
-        totalTxCount.set(summary.getTotalTransactionCount());
-        totalBlockCount.set(summary.getTotalBlockCount());
-        totalBlocksSize.set(summary.getTotalBlockSize());
-        totalReplicatedBlocksSize.set(summary.getTotalBlockReplicatedSize());
-        LOG.info("Data distribution is enabled with totalBlockCount {} 
totalBlocksSize {}",
-            totalBlockCount.get(), totalBlocksSize.get());
-      }
-    } else {
-      LOG.info(HDDSLayoutFeature.STORAGE_SPACE_DISTRIBUTION + " is not 
finalized");
+    DeletedBlocksTransactionSummary summary = loadDeletedBlocksSummary();
+    if (summary != null) {
+      totalTxCount.set(summary.getTotalTransactionCount());
+      totalBlockCount.set(summary.getTotalBlockCount());
+      totalBlocksSize.set(summary.getTotalBlockSize());
+      totalReplicatedBlocksSize.set(summary.getTotalBlockReplicatedSize());
+      LOG.info("Data distribution is enabled with totalBlockCount {} 
totalBlocksSize {}",
+          totalBlockCount.get(), totalBlocksSize.get());
     }
   }
 
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHADBTransactionBufferImpl.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHADBTransactionBufferImpl.java
index 2df3a68d0de..387b1001c2b 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHADBTransactionBufferImpl.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHADBTransactionBufferImpl.java
@@ -54,7 +54,6 @@ public class SCMHADBTransactionBufferImpl implements 
SCMHADBTransactionBuffer {
   private final AtomicLong txFlushPending = new AtomicLong(0);
   private long lastSnapshotTimeMs = 0;
   private final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
-  private boolean autoFlushEnabled = true;
 
   public SCMHADBTransactionBufferImpl(StorageContainerManager scm)
       throws IOException {
@@ -180,7 +179,7 @@ public boolean shouldFlush(long snapshotWaitTime) {
     rwLock.readLock().lock();
     try {
       long timeDiff = scm.getSystemClock().millis() - lastSnapshotTimeMs;
-      return autoFlushEnabled && txFlushPending.get() > 0 && timeDiff > 
snapshotWaitTime;
+      return txFlushPending.get() > 0 && timeDiff > snapshotWaitTime;
     } finally {
       rwLock.readLock().unlock();
     }
diff --git 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
index d443fc7f37e..1a15997860c 100644
--- 
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
+++ 
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/hdds/upgrade/TestScmDataDistributionFinalization.java
@@ -29,7 +29,6 @@
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.IOException;
@@ -183,7 +182,7 @@ public void shutdown() {
   @Test
   public void testFinalizationEmptyClusterDataDistribution() throws Exception {
     init(new OzoneConfiguration(), null, true);
-    
assertNull(cluster.getStorageContainerLocationClient().getDeletedBlockSummary());
+    assertEquals(EMPTY_SUMMARY, 
cluster.getStorageContainerLocationClient().getDeletedBlockSummary());
 
     finalizationFuture.get();
     TestHddsUpgradeUtils.waitForFinalizationFromClient(scmClient, CLIENT_ID);
@@ -288,7 +287,7 @@ public void 
testFinalizationNonEmptyClusterDataDistribution() throws Exception {
     StorageContainerManager activeSCM = cluster.getActiveSCM();
     
activeSCM.getScmBlockManager().getDeletedBlockLog().addTransactions(generateDeletedBlocks(txCount,
 false));
     flushDBTransactionBuffer(activeSCM);
-    
assertNull(cluster.getStorageContainerLocationClient().getDeletedBlockSummary());
+    assertEquals(EMPTY_SUMMARY, 
cluster.getStorageContainerLocationClient().getDeletedBlockSummary());
 
     finalizationFuture = Executors.newSingleThreadExecutor().submit(
         () -> {


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

Reply via email to