aryangupta1998 commented on a change in pull request #1561:
URL: https://github.com/apache/ozone/pull/1561#discussion_r521349466



##########
File path: 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/SCMBlockProtocolServer.java
##########
@@ -224,54 +224,49 @@ public void join() throws InterruptedException {
     }
     List<DeleteBlockGroupResult> results = new ArrayList<>();
     Map<String, String> auditMap = Maps.newHashMap();
-    for (BlockGroup keyBlocks : keyBlocksInfoList) {
-      ScmBlockLocationProtocolProtos.DeleteScmBlockResult.Result resultCode;
-      try {
-        // We delete blocks in an atomic operation to prevent getting
-        // into state like only a partial of blocks are deleted,
-        // which will leave key in an inconsistent state.
-        auditMap.put("keyBlockToDelete", keyBlocks.toString());
-        scm.getScmBlockManager().deleteBlocks(keyBlocks.getBlockIDList());
-        resultCode = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
-            .Result.success;
-        AUDIT.logWriteSuccess(
-            buildAuditMessageForSuccess(SCMAction.DELETE_KEY_BLOCK, auditMap)
-        );
-      } catch (SCMException scmEx) {
-        LOG.warn("Fail to delete block: {}", keyBlocks.getGroupID(), scmEx);
-        AUDIT.logWriteFailure(
-            buildAuditMessageForFailure(SCMAction.DELETE_KEY_BLOCK, auditMap,
-                scmEx)
-        );
-        switch (scmEx.getResult()) {
-        case SAFE_MODE_EXCEPTION:
-          resultCode = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
-              .Result.safeMode;
-          break;
-        case FAILED_TO_FIND_BLOCK:
-          resultCode = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
-              .Result.errorNotFound;
-          break;
-        default:
-          resultCode = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
-              .Result.unknownFailure;
-        }
-      } catch (IOException ex) {
-        LOG.warn("Fail to delete blocks for object key: {}", keyBlocks
-            .getGroupID(), ex);
-        AUDIT.logWriteFailure(
-            buildAuditMessageForFailure(SCMAction.DELETE_KEY_BLOCK, auditMap,
-                ex)
-        );
-        resultCode = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
-            .Result.unknownFailure;
+    ScmBlockLocationProtocolProtos.DeleteScmBlockResult.Result codeResult;
+    try{
+      scm.getScmBlockManager().deleteBlocks(keyBlocksInfoList);
+      codeResult = ScmBlockLocationProtocolProtos.
+              DeleteScmBlockResult.Result.success;
+      AUDIT.logReadSuccess(buildAuditMessageForSuccess(
+              SCMAction.DELETE_KEY_BLOCK, auditMap));
+    } catch (SCMException scmEx){
+      LOG.warn("Fail to delete {} keys", keyBlocksInfoList.size(), scmEx);
+      AUDIT.logWriteFailure(
+              buildAuditMessageForFailure(SCMAction.DELETE_KEY_BLOCK, auditMap,
+                      scmEx)
+      );
+      switch (scmEx.getResult()) {
+      case SAFE_MODE_EXCEPTION:
+        codeResult = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
+                .Result.safeMode;
+        break;
+      case FAILED_TO_FIND_BLOCK:
+        codeResult = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
+                .Result.errorNotFound;
+        break;
+      default:
+        codeResult = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
+                .Result.unknownFailure;
       }
-      List<DeleteBlockResult> blockResultList = new ArrayList<>();
-      for (BlockID blockKey : keyBlocks.getBlockIDList()) {
-        blockResultList.add(new DeleteBlockResult(blockKey, resultCode));
+    } catch (IOException ex){
+      LOG.warn("Fail to delete {} keys", keyBlocksInfoList.size(), ex);
+      AUDIT.logWriteFailure(
+              buildAuditMessageForFailure(SCMAction.DELETE_KEY_BLOCK, auditMap,
+                      ex)
+      );
+      codeResult = ScmBlockLocationProtocolProtos.DeleteScmBlockResult
+              .Result.unknownFailure;
+    }
+    for(BlockGroup bg : keyBlocksInfoList){
+      auditMap.put("KeyBlockToDelete", bg.toString());

Review comment:
       Please refer to the new changes.




----------------------------------------------------------------
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.

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