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.

Reply via email to