Akka Persistence With Java and Cassandra Plugin Throwing Exception

313 views
Skip to first unread message

Prakhyat Mallikarjun

unread,
Oct 22, 2014, 3:28:28 PM10/22/14
to akka...@googlegroups.com
Team,

I working on a app built on top of akka persistence and java.

I am using cassandra plugin i.e. akka-persistence-cassandra_2.10-0.3.4.jar. Its from repository http://dl.bintray.com/krasserm/maven/

I am facing below exception. Kindly let me know, what is the expected fix.

Uncaught error from thread [rce-reference-java-akka.persistence.dispatchers.default-replay-dispatcher-25] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[rce-reference-java]
java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
at akka.persistence.cassandra.journal.CassandraRecovery$MessageIterator.<init>(CassandraRecovery.scala:34)
at akka.persistence.cassandra.journal.CassandraRecovery$class.replayMessages(CassandraRecovery.scala:29)
at akka.persistence.cassandra.journal.CassandraJournal.replayMessages(CassandraJournal.scala:17)
at akka.persistence.cassandra.journal.CassandraRecovery$$anonfun$asyncReplayMessages$1.apply$mcV$sp(CassandraRecovery.scala:17)
at akka.persistence.cassandra.journal.CassandraRecovery$$anonfun$asyncReplayMessages$1.apply(CassandraRecovery.scala:17)
at akka.persistence.cassandra.journal.CassandraRecovery$$anonfun$asyncReplayMessages$1.apply(CassandraRecovery.scala:17)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.ClassNotFoundException: scala.collection.GenTraversableOnce$class
at java.net.URLClassLoader$1.run(Unknown Source)[ERROR] [10/23/2014 00:51:13.965] [rce-reference-java-akka.persistence.dispatchers.default-replay-dispatcher-25] [ActorSystem(rce-reference-java)] Uncaught error from thread [rce-reference-java-akka.persistence.dispatchers.default-replay-dispatcher-25] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled
java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
at akka.persistence.cassandra.journal.CassandraRecovery$MessageIterator.<init>(CassandraRecovery.scala:34)
at akka.persistence.cassandra.journal.CassandraRecovery$class.replayMessages(CassandraRecovery.scala:29)
at akka.persistence.cassandra.journal.CassandraJournal.replayMessages(CassandraJournal.scala:17)
at akka.persistence.cassandra.journal.CassandraRecovery$$anonfun$asyncReplayMessages$1.apply$mcV$sp(CassandraRecovery.scala:17)
at akka.persistence.cassandra.journal.CassandraRecovery$$anonfun$asyncReplayMessages$1.apply(CassandraRecovery.scala:17)
at akka.persistence.cassandra.journal.CassandraRecovery$$anonfun$asyncReplayMessages$1.apply(CassandraRecovery.scala:17)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.ClassNotFoundException: scala.collection.GenTraversableOnce$class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 14 more


at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 14 more


Akka cassandra configuration,
cassandra-journal {

  # FQCN of the cassandra journal plugin
  class = "akka.persistence.cassandra.journal.CassandraJournal"

  # Comma-separated list of contact points in the cluster
  contact-points = ["127.0.0.1"]

  # Port of contact points in the cluster
  port = 9042

  # Name of the keyspace to be created/used by the journal
  keyspace = "akka"

  # Name of the table to be created/used by the journal
  table = "messages"

  # Replication factor to use when creating a keyspace
  replication-factor = 1

  # Write consistency level
  write-consistency = "QUORUM"

  # Read consistency level
  read-consistency = "QUORUM"

  # Maximum number of entries per partition (= columns per row).
  # Must not be changed after table creation (currently not checked).
  max-partition-size = 5000000

  # Maximum size of result set
  max-result-size = 50001

  # Dispatcher for the plugin actor.
  plugin-dispatcher = "akka.actor.default-dispatcher"

  # Dispatcher for fetching and replaying messages
  replay-dispatcher = "akka.persistence.dispatchers.default-replay-dispatcher"
}

-Prakhyat M M

Patrik Nordwall

unread,
Oct 23, 2014, 6:05:03 AM10/23/14
to akka...@googlegroups.com
I would guess you have an invalid or incomplete classpath.
/Patrik

--
>>>>>>>>>> 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 akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.



--

Patrik Nordwall
Typesafe Reactive apps on the JVM
Twitter: @patriknw

Prakhyat Mallikarjun

unread,
Oct 23, 2014, 11:33:58 AM10/23/14
to akka...@googlegroups.com
Hi Patrik,

I too felt it can be because of classpath. But I verified all settings are done and working.

We are using java 1.7 and it is defined in classpath. Also scala version used is 2.11 which is also defined in classpath.

Let me know is there any other classpath settings required? Or any specific version of java or scala?

- prakhyat m m
You received this message because you are subscribed to a topic in the Google Groups "Akka User List" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/akka-user/I-SuctD_-mk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to akka-user+...@googlegroups.com.

Martin Jöhren

unread,
Oct 23, 2014, 3:07:15 PM10/23/14
to akka...@googlegroups.com
You say that you are using scala 2.11 but the library that you are using is for 2.10. Can you double check?

Prakhyat

unread,
Oct 24, 2014, 1:45:58 AM10/24/14
to akka...@googlegroups.com, akka...@googlegroups.com
Hey Martin,

Let me check. I will validate this, missed to check this version.

-Prakhyat m m

Sent from my iPhone

> On 24-Oct-2014, at 0:37, Martin Jöhren <m.jo...@gmail.com> wrote:
>
> You say that you are using scala 2.11 but the library that you are using is for 2.10. Can you double check?
>
Reply all
Reply to author
Forward
0 new messages