From 6c4f61b405a3cebb9cd003f83890f3994b774da7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Antonsson?= Date: Mon, 9 Jun 2014 10:09:35 +0200 Subject: [PATCH] =per #13898 Make LocalSnapshotStore directory creation more robust --- .../akka/persistence/snapshot/local/LocalSnapshotStore.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/akka-persistence/src/main/scala/akka/persistence/snapshot/local/LocalSnapshotStore.scala b/akka-persistence/src/main/scala/akka/persistence/snapshot/local/LocalSnapshotStore.scala index 9e84364816..e43bd6b17a 100644 --- a/akka-persistence/src/main/scala/akka/persistence/snapshot/local/LocalSnapshotStore.scala +++ b/akka-persistence/src/main/scala/akka/persistence/snapshot/local/LocalSnapshotStore.scala @@ -111,7 +111,8 @@ private[persistence] class LocalSnapshotStore extends SnapshotStore with ActorLo override def preStart() { if (!snapshotDir.isDirectory) { - if (!snapshotDir.mkdirs()) { + // try to create the directory, on failure double check if someone else beat us to it + if (!snapshotDir.mkdirs() && !snapshotDir.isDirectory) { throw new IOException(s"Failed to create snapshot directory [${snapshotDir.getCanonicalPath}]") } }