@Test(expected = IllegalStateException.class) public void testBadRelativeDeleteTooLong() throws Exception { Upgrader9to10.resolveRelativeDelete("/5a/5a/t-0005/F0009.rf", VOL_PROP); }
static Path resolveRelativeDelete(String oldDelete, String upgradeProperty) { Path pathNoVolume = VolumeManager.FileType.TABLE.removeVolume(new Path(oldDelete)); Path pathToCheck = new Path(oldDelete); if (pathNoVolume != null) return pathToCheck; Preconditions.checkState( oldDelete.startsWith("/") && (pathToCheck.depth() == 2 || pathToCheck.depth() == 3), "Unrecognized relative delete marker {}", oldDelete); if (upgradeProperty == null || upgradeProperty.isBlank()) { throw new IllegalArgumentException( "Missing required property " + Property.INSTANCE_VOLUMES_UPGRADE_RELATIVE.getKey()); } return new Path(upgradeProperty, VolumeManager.FileType.TABLE.getDirectory() + oldDelete); }
Upgrader9to10 implements Upgrader { static Path resolveRelativeDelete(String oldDelete, String upgradeProperty) { Path pathNoVolume = VolumeManager.FileType.TABLE.removeVolume(new Path(oldDelete)); Path pathToCheck = new Path(oldDelete); if (pathNoVolume != null) return pathToCheck; Preconditions.checkState( oldDelete.startsWith("/") && (pathToCheck.depth() == 2 || pathToCheck.depth() == 3), "Unrecognized relative delete marker {}", oldDelete); if (upgradeProperty == null || upgradeProperty.isBlank()) { throw new IllegalArgumentException( "Missing required property " + Property.INSTANCE_VOLUMES_UPGRADE_RELATIVE.getKey()); } return new Path(upgradeProperty, VolumeManager.FileType.TABLE.getDirectory() + oldDelete); } }
Upgrader9to10 implements Upgrader { static Path resolveRelativeDelete(String oldDelete, String upgradeProperty) { Path pathNoVolume = VolumeManager.FileType.TABLE.removeVolume(new Path(oldDelete)); Path pathToCheck = new Path(oldDelete); if (pathNoVolume != null) return pathToCheck; Preconditions.checkState( oldDelete.startsWith("/") && (pathToCheck.depth() == 2 || pathToCheck.depth() == 3), "Unrecognized relative delete marker {}", oldDelete); if (upgradeProperty == null || upgradeProperty.isBlank()) { throw new IllegalArgumentException( "Missing required property " + Property.INSTANCE_VOLUMES_UPGRADE_RELATIVE.getKey()); } return new Path(upgradeProperty, VolumeManager.FileType.TABLE.getDirectory() + oldDelete); }  }
Upgrader9to10 implements Upgrader { static Path resolveRelativeDelete(String oldDelete, String upgradeProperty) { Path pathNoVolume = VolumeManager.FileType.TABLE.removeVolume(new Path(oldDelete)); Path pathToCheck = new Path(oldDelete); if (pathNoVolume != null) return pathToCheck; Preconditions.checkState( oldDelete.startsWith("/") && (pathToCheck.depth() == 2 || pathToCheck.depth() == 3), "Unrecognized relative delete marker {}", oldDelete); if (upgradeProperty == null || upgradeProperty.isBlank()) { throw new IllegalArgumentException( "Missing required property " + Property.INSTANCE_VOLUMES_UPGRADE_RELATIVE.getKey()); } return new Path(upgradeProperty, VolumeManager.FileType.TABLE.getDirectory() + oldDelete); }  @Override void upgradeZookeeper(ServerContext ctx); @Override void upgradeRoot(ServerContext ctx); @Override void upgradeMetadata(ServerContext ctx); void upgradeFileDeletes(ServerContext ctx, Ample.DataLevel level); void upgradeDirColumns(ServerContext ctx, Ample.DataLevel level); static String upgradeDirColumn(String dir); static void upgradeRelativePaths(ServerContext ctx, Ample.DataLevel level); static void replaceRelativePaths(AccumuloClient c, VolumeManager fs, String tableName,
      String upgradeProperty); static boolean checkForRelativePaths(AccumuloClient client, VolumeManager fs,
      String tableName, String upgradeProperty); }
Upgrader9to10 implements Upgrader { static Path resolveRelativeDelete(String oldDelete, String upgradeProperty) { Path pathNoVolume = VolumeManager.FileType.TABLE.removeVolume(new Path(oldDelete)); Path pathToCheck = new Path(oldDelete); if (pathNoVolume != null) return pathToCheck; Preconditions.checkState( oldDelete.startsWith("/") && (pathToCheck.depth() == 2 || pathToCheck.depth() == 3), "Unrecognized relative delete marker {}", oldDelete); if (upgradeProperty == null || upgradeProperty.isBlank()) { throw new IllegalArgumentException( "Missing required property " + Property.INSTANCE_VOLUMES_UPGRADE_RELATIVE.getKey()); } return new Path(upgradeProperty, VolumeManager.FileType.TABLE.getDirectory() + oldDelete); }  @Override void upgradeZookeeper(ServerContext ctx); @Override void upgradeRoot(ServerContext ctx); @Override void upgradeMetadata(ServerContext ctx); void upgradeFileDeletes(ServerContext ctx, Ample.DataLevel level); void upgradeDirColumns(ServerContext ctx, Ample.DataLevel level); static String upgradeDirColumn(String dir); static void upgradeRelativePaths(ServerContext ctx, Ample.DataLevel level); static void replaceRelativePaths(AccumuloClient c, VolumeManager fs, String tableName,
      String upgradeProperty); static boolean checkForRelativePaths(AccumuloClient client, VolumeManager fs,
      String tableName, String upgradeProperty); static final String ZROOT_TABLET_LOCATION; static final String ZROOT_TABLET_FUTURE_LOCATION; static final String ZROOT_TABLET_LAST_LOCATION; static final String ZROOT_TABLET_WALOGS; static final String ZROOT_TABLET_CURRENT_LOGS; static final String ZROOT_TABLET_PATH; static final Value UPGRADED; static final String OLD_DELETE_PREFIX; static final long CANDIDATE_BATCH_SIZE; }