ACCUMULO-2061 Propagate errors on delete or mkdirs failure.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/7d48b1ad Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/7d48b1ad Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/7d48b1ad Branch: refs/heads/1.6.0-SNAPSHOT Commit: 7d48b1adec6b124054f64ca0c87913ba5a4b6b7e Parents: 550e5e6 Author: Josh Elser <els...@apache.org> Authored: Wed Mar 12 16:19:19 2014 -0400 Committer: Josh Elser <els...@apache.org> Committed: Thu Mar 20 18:59:19 2014 -0400 ---------------------------------------------------------------------- .../org/apache/accumulo/server/util/ChangeSecret.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/7d48b1ad/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java ---------------------------------------------------------------------- diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java b/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java index f0dcd14..2926a3f 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java +++ b/server/base/src/main/java/org/apache/accumulo/server/util/ChangeSecret.java @@ -147,8 +147,14 @@ public class ChangeSecret { // Need to recreate the instanceId on all of them to keep consistency for (Volume v : fs.getVolumes()) { final Path instanceId = ServerConstants.getInstanceIdLocation(v); - v.getFileSystem().delete(instanceId, true); - v.getFileSystem().mkdirs(instanceId); + if (!v.getFileSystem().delete(instanceId, true)) { + throw new IOException("Could not recursively delete " + instanceId); + } + + if (!v.getFileSystem().mkdirs(instanceId)) { + throw new IOException("Could not create directory " + instanceId); + } + v.getFileSystem().create(new Path(instanceId, newInstanceId)).close(); } }