You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by sa...@apache.org on 2022/05/16 07:58:43 UTC

[ozone] branch HDDS-3630 updated: HDDS-6745: [Merge rocksdb in datanode] Flush RocksDB WAL when closing container in Schema V3. (#3419)

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

sammichen pushed a commit to branch HDDS-3630
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/HDDS-3630 by this push:
     new 3998c1da1f HDDS-6745: [Merge rocksdb in datanode] Flush RocksDB WAL when closing container in Schema V3. (#3419)
3998c1da1f is described below

commit 3998c1da1f58fbcdf08c2bb3422249ccb3321f31
Author: Sammi Chen <sa...@apache.org>
AuthorDate: Mon May 16 15:58:37 2022 +0800

    HDDS-6745: [Merge rocksdb in datanode] Flush RocksDB WAL when closing container in Schema V3. (#3419)
---
 .../container/keyvalue/KeyValueContainer.java      | 26 +++++++---------------
 1 file changed, 8 insertions(+), 18 deletions(-)

diff --git a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainer.java b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainer.java
index 81cadf3178..6e47cb9f45 100644
--- a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainer.java
+++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/keyvalue/KeyValueContainer.java
@@ -334,14 +334,12 @@ public class KeyValueContainer implements Container<KeyValueContainerData> {
 
   @Override
   public void quasiClose() throws StorageContainerException {
-    closeAndFlushIfNeeded(containerData::quasiCloseContainer,
-        !containerData.getSchemaVersion().equals(OzoneConsts.SCHEMA_V3));
+    closeAndFlushIfNeeded(containerData::quasiCloseContainer);
   }
 
   @Override
   public void close() throws StorageContainerException {
-    closeAndFlushIfNeeded(containerData::closeContainer,
-        !containerData.getSchemaVersion().equals(OzoneConsts.SCHEMA_V3));
+    closeAndFlushIfNeeded(containerData::closeContainer);
     LOG.info("Container {} is closed with bcsId {}.",
         containerData.getContainerID(),
         containerData.getBlockCommitSequenceId());
@@ -359,28 +357,20 @@ public class KeyValueContainer implements Container<KeyValueContainerData> {
   }
 
   /**
-   * For db-per-container schemas, the DB must be synced during
-   * close operation.
-   * For db-per-volume schemas, don't sync the whole db on closing
-   * of a single container.
+   * Sync RocksDB WAL on closing of a single container.
    *
    * @param closer
-   * @param flush
    * @throws StorageContainerException
    */
-  private void closeAndFlushIfNeeded(Runnable closer, boolean flush)
+  private void closeAndFlushIfNeeded(Runnable closer)
       throws StorageContainerException {
-    if (flush) {
-      flushAndSyncDB();
-    }
+    flushAndSyncDB();
 
     writeLock();
     try {
-      if (flush) {
-        // Second sync should be a very light operation as sync has already
-        // been done outside the lock.
-        flushAndSyncDB();
-      }
+      // Second sync should be a very light operation as sync has already
+      // been done outside the lock.
+      flushAndSyncDB();
       updateContainerData(closer);
       clearPendingPutBlockCache();
     } finally {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org