Hi - no we haven't implemented this yet... we wound up getting sidetracked by some other priorities. But we are going to need to implement this at some point. It's been a bit since I've looked into the details but as I remember there were 2 key changes needed for C* 1.2:
1. C* 2.0 introduced the "IF NOT EXISTS" clause - so in CassandraStatements.scala <https://github.com/krasserm/akka-persistence-cassandra/blob/master/src/main/scala/akka/persistence/cassandra/journal/CassandraStatements.scala> (both in snapshot and journal files) that would need to be removed... which obviously means those will fail if the keyspaces/columnfamilies exist. I was thinking of just catching the exception in CassandraJournal.scala <https://github.com/krasserm/akka-persistence-cassandra/blob/f6c885fe943aaa898a3d191083368ecab6e1ddc0/src/main/scala/akka/persistence/cassandra/journal/CassandraJournal.scala#L27> (again would also need the same in CassandraSnapshotStore.scala ) 2. The Datastax 2.0 driver doesn't support C* 1.2, so that would need to be downgraded to the 1.0 driver. I believe this means the inserts currently using the BatchStatement will need to change... this will probably be the tricky part, although depending on your throughput needs it might be fine to just execute the prepared statements without batching. See http://www.datastax.com/dev/blog/client-side-improvements-in-cassandra-2-0 for a description of the new BatchStatement in the datastax driver. By looking at the old PreparedStatement you can see the types of changes that would need to be made. Ignore my comments above regarding the composite keys of processor_id and partition_nr... Cassandra 1.2 should support the composite PK as defined in this journal. So at first glance the changes for C* 1.2 seem not too bad - I would only be worried about any hidden gotchas that I haven't noticed regarding the 1.0 driver, and about the potential performance hit of not being able to use the BatchStatement. I don't know when we will take this on, but I'll post back to this thread when we do. On Thursday, August 14, 2014 12:35:27 AM UTC-4, ratika...@razorthink.net wrote: > > Hi Mathew, > > We also need to use the akka persistence journal plugin for older version > of Cassandra v 1.2.x, hoever the plugin available works for version 2.0.3 > or higher. Came across your post, did you happen to implement/tweak the > journal for older version of Cassandra ? If yes would share it with us or > let us know what were the tweaks required. Thanks for your help. > > --Ratika > > On Tuesday, May 6, 2014 12:51:25 AM UTC+5:30, Matthew Howard wrote: >> >> Has anyone implemented an akka persistence journal for older versions of >> Cassandra? I see the current journal is dependent on C* v2.0.3 or higher ( >> https://github.com/krasserm/akka-persistence-cassandra) but my app is >> currently on 1.1.9 and we are only actively planning to upgrade to v1.2 >> (just found this out - I thought we were moving to 2). >> >> I'm guessing there isn't one already out there, but thought I'd ask >> before attempting to implement one. Assuming I would need to implement it >> (probably a question for Martin directly) any warnings or recommendations? >> At first glance I'd obviously need to tweak the create >> keyspace/columnfamily commands (and change the driver), but I'm not seeing >> anything that appears to be too wildly dependent on C* v2.0.3 features. The >> handling of the partition_nr seems to be the biggest issue - I'm thinking >> we could just create the rowkey as a concatenation of the processor_id and >> partition_nr (e.g. "myprocessor-0", "myprocessor-1", etc... ). But I >> think/hope? otherwise the composite columns should work the same and I'm >> not going to get myself into a rabbit hole... >> >> Thanks in advance, >> Matt Howard >> >> -- >>>>>>>>>> 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+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.