This is an automated email from the ASF dual-hosted git repository.
msingh 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 8ec3c2e HDDS-4751. TestOzoneFileSystem#testTrash failed when
enabledFileSystemPaths and omRatisDisabled (#1851)
8ec3c2e is described below
commit 8ec3c2e30edfef0d80d33863591d3483be93b2b6
Author: Sadanand Shenoy <[email protected]>
AuthorDate: Fri Jan 29 16:58:25 2021 +0530
HDDS-4751. TestOzoneFileSystem#testTrash failed when enabledFileSystemPaths
and omRatisDisabled (#1851)
---
.../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 ba43960..920194e 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.OmBucketInfo;
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 @@ public class TrashOzoneFileSystem extends FileSystem {
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 @@ public class TrashOzoneFileSystem extends FileSystem {
private class DeleteIterator extends OzoneListingIterator {
final private boolean recursive;
+ private List<String> 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 @@ public class TrashOzoneFileSystem extends FileSystem {
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;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]