neils-dev commented on a change in pull request #2110:
URL: https://github.com/apache/ozone/pull/2110#discussion_r610339674
##########
File path:
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashPolicyOzone.java
##########
@@ -118,6 +120,25 @@ public Runnable getEmptier() throws IOException {
emptierInterval);
}
+ @Override
+ public boolean moveToTrash(Path path) throws IOException {
+ this.fs.getFileStatus(path);
+ Path trashRoot = this.fs.getTrashRoot(path);
+ Path trashCurrent = new Path(trashRoot, CURRENT);
+
+ String key = path.toUri().getPath();
+ String trashRootKey = trashRoot.toUri().getPath();
+
+ if (!OzoneFSUtils.isValidName(key)) {
+ throw new InvalidPathException("Invalid path Name " + key);
+ }
+
+ if (trashRootKey.startsWith(key) || key.startsWith(trashRootKey)) {
Review comment:
Thanks for asking to clarify. Added comments in code to explain. In
process also improved conditional to satisfy an edge condition where key = .Tra
(and the trash prefix is .Trash that would cause an unintentional action, by
deleting and not moving to trash).
```
// first condition tests when length key is <= length trash
// and second when length key > length trash
if ((key.contains(this.fs.TRASH_PREFIX)) &&
(trashRootKey.startsWith(key))
|| key.startsWith(trashRootKey)) {
```
--
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]