Hi akka devs,

I have a scenario where a `akka-cluster-2.3.2` is running 
`akka-persistence-2.3.2` and 2 nodes participate. Next, we create two 
_distinct_ sets of (processor, view, actor, channel) to represent two 
domain objects in our application. Next, we have the two data sets write 
stuff to the `journal` configured locally using `levelDB`. 

Then, when one processor proceeds to write to the storage and another 
processor attempts to write to the same storage there's a failure condition 
triggered by the second processor (attempting the write) because the first 
processor has acquired the lock. (This is evident after reading through the 
source code of `levelDB`) 

Kindly see the detailed lock below

> ERROR] [05/16/2014 13:19:55.242] 
> [TrailingHammer-akka.actor.default-dispatcher-18] 
> [akka://TrailingHammer/system/journal] Unable to acquire lock on 
> '/Users/raymondtay/temp/bamboo-management-0.1-SNAPSHOT/journal/LOCK'
> akka.actor.ActorInitializationException: exception during creation
> at akka.actor.ActorInitializationException$.apply(Actor.scala:164)
> at akka.actor.ActorCell.create(ActorCell.scala:596)
> at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:456)
> at akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)
> at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)
> at akka.dispatch.Mailbox.run(Mailbox.scala:219)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.io.IOException: Unable to acquire lock on 
> '/Users/raymondtay/temp/bamboo-management-0.1-SNAPSHOT/journal/LOCK'
> at org.iq80.leveldb.impl.DbLock.<init>(DbLock.java:55)
> at org.iq80.leveldb.impl.DbImpl.<init>(DbImpl.java:167)
> at org.iq80.leveldb.impl.Iq80DBFactory.open(Iq80DBFactory.java:59)
> at 
> akka.persistence.journal.leveldb.LeveldbStore$class.preStart(LeveldbStore.scala:114)
> at 
> akka.persistence.journal.leveldb.LeveldbJournal.preStart(LeveldbJournal.scala:20)
> at akka.actor.Actor$class.aroundPreStart(Actor.scala:470)
> at 
> akka.persistence.journal.leveldb.LeveldbJournal.aroundPreStart(LeveldbJournal.scala:20)
> at akka.actor.ActorCell.create(ActorCell.scala:580)
> ... 7 more


I know the scenario is probably an outlier but i ran along with it anyway, 
the real question i have is whether this is a bug ? or some kind of outlier 
situation not catered for ?

I have opened this as a ticket: https://github.com/akka/akka/issues/15211 

br,
Raymond

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to