From 83867d889f8565c74fcc7fecf9c07224fb8100d9 Mon Sep 17 00:00:00 2001 From: sadanand48 Date: Fri, 29 Jan 2021 10:53:24 +0530 Subject: [PATCH 1/2] TestOzoneFileSystem#testTrash failed when enabledFileSystemPaths and omRatisDisabled --- .../hadoop/ozone/om/TrashOzoneFileSystem.java | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashOzoneFileSystem.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashOzoneFileSystem.java index ba439608be08..920194ecc071 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashOzoneFileSystem.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashOzoneFileSystem.java @@ -35,6 +35,8 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyArgs; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus; +import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerRatisUtils; +import org.apache.hadoop.ozone.om.request.OMClientRequest; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.om.helpers.OMRatisHelper; import org.apache.hadoop.security.UserGroupInformation; @@ -107,6 +109,9 @@ private void submitRequest(OzoneManagerProtocolProtos.OMRequest omRequest) throws Exception { ozoneManager.getMetrics().incNumTrashWriteRequests(); if (ozoneManager.isRatisEnabled()) { + OMClientRequest omClientRequest = + OzoneManagerRatisUtils.createClientRequest(omRequest); + omRequest = omClientRequest.preExecute(ozoneManager); RaftClientRequest req = getRatisRequest(omRequest); ozoneManager.getOmRatisServer().submitRequest(omRequest, req); } else { @@ -434,12 +439,14 @@ boolean processKeyPath(List keyPathList) { private class DeleteIterator extends OzoneListingIterator { final private boolean recursive; + private List keysList; DeleteIterator(Path f, boolean recursive) throws IOException { super(f); this.recursive = recursive; + keysList = new ArrayList<>(); if (getStatus().isDirectory() && !this.recursive && listStatus(f).length != 0) { @@ -470,22 +477,23 @@ boolean processKeyPath(List keyPathList) { String volumeName = keyPath.getVolumeName(); String bucketName = keyPath.getBucketName(); String keyName = keyPath.getKeyName(); - - OzoneManagerProtocolProtos.KeyArgs keyArgs = - OzoneManagerProtocolProtos.KeyArgs.newBuilder() - .setKeyName(keyName) - .setVolumeName(volumeName) + keysList.clear(); + // Keys List will have only 1 entry. + keysList.add(keyName); + OzoneManagerProtocolProtos.DeleteKeyArgs.Builder deleteKeyArgs = + OzoneManagerProtocolProtos.DeleteKeyArgs.newBuilder() .setBucketName(bucketName) - .build(); - OzoneManagerProtocolProtos.DeleteKeyRequest deleteKeyRequest = - OzoneManagerProtocolProtos.DeleteKeyRequest.newBuilder() - .setKeyArgs(keyArgs) + .setVolumeName(volumeName); + deleteKeyArgs.addAllKeys(keysList); + OzoneManagerProtocolProtos.DeleteKeysRequest deleteKeysRequest = + OzoneManagerProtocolProtos.DeleteKeysRequest.newBuilder() + .setDeleteKeys(deleteKeyArgs) .build(); OzoneManagerProtocolProtos.OMRequest omRequest = OzoneManagerProtocolProtos.OMRequest.newBuilder() .setClientId(CLIENT_ID.toString()) - .setDeleteKeyRequest(deleteKeyRequest) - .setCmdType(OzoneManagerProtocolProtos.Type.DeleteKey) + .setDeleteKeysRequest(deleteKeysRequest) + .setCmdType(OzoneManagerProtocolProtos.Type.DeleteKeys) .build(); return omRequest; } From 5576532a99f35a769c47f9a25dee8246e144639a Mon Sep 17 00:00:00 2001 From: sadanand48 Date: Fri, 29 Jan 2021 12:32:55 +0530 Subject: [PATCH 2/2] trigger new CI check