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:
[email protected]
With regards,
Apache Git Services