devmadhuu commented on code in PR #4626:
URL: https://github.com/apache/ozone/pull/4626#discussion_r1223241502


##########
hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/tasks/OrphanMetaDataManagementTask.java:
##########
@@ -148,19 +158,53 @@ public Pair<String, Boolean> process(OMUpdateEventBatch 
events) {
 
   private void handleBucketDeleteEvent(OmBucketInfo updatedBucketInfo) {
     long objectID = updatedBucketInfo.getObjectID();
-    removeOrphanAndNSSummaryParentEntry(objectID);
+    try {
+      NSSummary nsSummary = 
reconNamespaceSummaryManager.getNSSummary(objectID);
+      if (null != nsSummary) {
+        if (nsSummary.getChildDir().size() == 0 &&
+            nsSummary.getNumOfFiles() == 0) {
+          removeOrphanMetaData(objectID);
+        }
+      }
+    } catch (IOException e) {
+      // Logging as Info as we don't want to log as error when any dir not
+      // found in orphan candidate metadata set. This is done to avoid 2
+      // rocks DB operations - check if present and then delete operation.
+      LOG.info("ObjectId {} may not be found in orphan metadata table.",
+          objectID);
+    }
   }
 
-  private void removeOrphanAndNSSummaryParentEntry(long objectID) {
+  private void removeOrphanMetaData(long objectID) {
     try {
       OrphanKeyMetaData orphanKeyMetaData =
           orphanKeysMetaDataTable.get(objectID);
       if (null != orphanKeyMetaData) {
         orphanKeysMetaDataTable.delete(objectID);
       }
+    } catch (IOException e) {
+      // Logging as Info as we don't want to log as error when any dir not
+      // found in orphan candidate metadata set. This is done to avoid 2
+      // rocks DB operations - check if present and then delete operation.
+      LOG.info("ObjectId {} may not be found in orphan metadata table.",

Review Comment:
   yes, fixed.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to