You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2020/03/10 22:07:58 UTC

[GitHub] [accumulo] ctubbsii commented on a change in pull request #1558: Resolve relative delete markers on upgrade. Closes #1463

ctubbsii commented on a change in pull request #1558: Resolve relative delete markers on upgrade. Closes #1463
URL: https://github.com/apache/accumulo/pull/1558#discussion_r390637358
 
 

 ##########
 File path: server/master/src/main/java/org/apache/accumulo/master/upgrade/Upgrader9to10.java
 ##########
 @@ -625,4 +626,39 @@ private static Path resolveRelativePath(String metadataEntry, Key key) {
       return new Path(prefix + tableId.canonical() + metadataEntry);
     }
   }
+
+  /**
+   * Resolve old relative delete markers of the form /tableId/tabletDir/[file] to
+   * UpgradeVolume/tables/tableId/tabletDir/[file]
+   */
+  static Path resolveRelativeDelete(VolumeManager fs, String oldDelete, String upgradeProperty) {
+    Path pathNoVolume = VolumeManager.FileType.TABLE.removeVolume(new Path(oldDelete));
+
+    // abs path won't be null so return
+    if (pathNoVolume != null)
+      return pathNoVolume;
+
+    // use Path to check the format is correct
+    Path pathToCheck = new Path(oldDelete);
+    Preconditions.checkState(
+        oldDelete.startsWith("/") && (pathToCheck.depth() == 2 || pathToCheck.depth() == 3),
 
 Review comment:
   Should have comment to briefly explain intent of this check, so its implementation can be more easily verified. The current comment just says "check the format is correct", but does not explain what it means to be "correct".

----------------------------------------------------------------
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:
users@infra.apache.org


With regards,
Apache Git Services