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]