From 2ac4646b8f0da8522c23444e3308e28961a24e32 Mon Sep 17 00:00:00 2001 From: jimwebber Date: Wed, 5 Oct 2016 15:02:09 -0700 Subject: [PATCH] Unbind an instance from the cluster. Embed the non-writable directory in the CannotWriteException for sane debugging. --- .../neo4j/commandline/dbms/CannotWriteException.java | 10 +++++++--- .../org/neo4j/commandline/dbms/StoreLockChecker.java | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/community/dbms/src/main/java/org/neo4j/commandline/dbms/CannotWriteException.java b/community/dbms/src/main/java/org/neo4j/commandline/dbms/CannotWriteException.java index 155f60547dee9..0baaa3316771b 100644 --- a/community/dbms/src/main/java/org/neo4j/commandline/dbms/CannotWriteException.java +++ b/community/dbms/src/main/java/org/neo4j/commandline/dbms/CannotWriteException.java @@ -19,10 +19,14 @@ */ package org.neo4j.commandline.dbms; -public class CannotWriteException extends Exception +import java.nio.file.Path; + +import static java.lang.String.format; + +class CannotWriteException extends Exception { - public CannotWriteException( String message ) + CannotWriteException( Path file ) { - super(message); + super( format("Could not write to: %s", file.toAbsolutePath().toString() )); } } diff --git a/community/dbms/src/main/java/org/neo4j/commandline/dbms/StoreLockChecker.java b/community/dbms/src/main/java/org/neo4j/commandline/dbms/StoreLockChecker.java index 17f51fada950f..9883468209299 100644 --- a/community/dbms/src/main/java/org/neo4j/commandline/dbms/StoreLockChecker.java +++ b/community/dbms/src/main/java/org/neo4j/commandline/dbms/StoreLockChecker.java @@ -27,9 +27,9 @@ import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.kernel.internal.StoreLocker; -public class StoreLockChecker +class StoreLockChecker { - public Closeable withLock( Path databaseDirectory ) throws CommandFailed, CannotWriteException + Closeable withLock( Path databaseDirectory ) throws CommandFailed, CannotWriteException { Path lockFile = databaseDirectory.resolve( StoreLocker.STORE_LOCK_FILENAME ); if ( Files.exists( lockFile ) ) @@ -44,7 +44,7 @@ public Closeable withLock( Path databaseDirectory ) throws CommandFailed, Cannot } else { - throw new CannotWriteException( "Store is not writable. Check permissions and try again." ); + throw new CannotWriteException( lockFile ); } } return () ->