Cluster Sharding - Persistence - Multiple Keyspaces

Hi everybody,

I have a question about Akka Casssandra Persistance Plugin and Cluster Shard Persistence Plugin…

In our project, we initially used one single Keyspace for Akka Cassapersistance Plugin and Cluster Shard Persistence Plugin, when we discerned our Cassandra Cluster overloaded, we started making some Load Tests and tried to write Akka Casssandra Persistance Plugin to one Cassandra Keyspace (for our Business Logic) and Cluster Shard Persistence to another Keyspace,

At the end we discovered %50 of writes to Cassandra caused by the Cluster Shard Persistence Plugin and the other %50 Akka Casssandra Persistance Plugin(our Business Logic) and now we are considering to use for our business logic a Cassandra Cluster and Cluster Shard Persistence another Cassandra Cluster…

Now our application also use ‘remember entities’ functionality of the Cluster Sharding, now when I have two Keyspaces in Cassandra I can see that Cluster Sharding writing to one Keyspace and Business Logic to another Keyspace but after the shutdown the Akka Cluster and restart with two Keyspace solution, Akka Cluster does not remember (recover) the entities but when I configure to write one Keyspace (Cluster Sharding and Business Logic)then ‘remember entities’ functions.

Does the ‘remember entities’ to work Cluster Sharding and Akka Cassandra Persistence Plugin must be configured to same Keyspace? (I don’t think there is a problem with the configuration of the Cassandra Connection oder Plugin while Sharding writes to correct ‘mysharding_akka’ Keyspace, I can see everything in 'messages ’ and Akka Cassandra Plugin writes correctly to another ‘my_akka’ Keyspace for business logic)…

Below is my Akka configuration for both plugins, one for single keyspace ‘my_akka’ configuration (and ‘remember entites’ works) the other one with two keyspaces ‘my_akka’ and ‘mysharding_akka’ which don’t but as you can see only change is the Keyspace configuration…

I am stuck with a little bit of an old version of Akka 2.5.x,

One Keyspace:

cassandra-journal {
contact-points = [“localhost”]
port = 9042
keyspace = “my_akka”
events-by-tag.enabled = false
}

cassandra-snapshot-store {
contact-points = [“localhost”]
port = 9042
keyspace = “my_akka”
}

cassandra-journal-sharding {
contact-points = [“localhost”]
port = 9042
keyspace = “my_akka”
}

cassandra-snapshot-store-sharding {
contact-points = [“localhost”]
port = 9042
keyspace = “my_akka”
}

akka {
cluster {
min-nr-of-members = 1
seed-nodes = [“akka://mysystem@127.0.0.1:2552”]
}
remote.artery {
enabled = on
transport = tcp
canonical.hostname = “127.0.0.1”
canonical.port = 2552
}
}

Two Keyspaces:

cassandra-journal {
contact-points = [“localhost”]
port = 9042
keyspace = “my_akka”
events-by-tag.enabled = false
}

cassandra-snapshot-store {
contact-points = [“localhost”]
port = 9042
keyspace = “my_akka”
}

cassandra-journal-sharding {
contact-points = [“localhost”]
port = 9042
keyspace = “mysharding_akka”
}

cassandra-snapshot-store-sharding {
contact-points = [“localhost”]
port = 9042
keyspace = “mysharding_akka”
}

akka {
cluster {
min-nr-of-members = 1
seed-nodes = [“akka://mysystem@127.0.0.1:2552”]
}
remote.artery {
enabled = on
transport = tcp
canonical.hostname = “127.0.0.1”
canonical.port = 2552
}
}

I think this is a misconfiguration. When using more than one plugin you have to define

and

This has been improved in 1.0.x version but maybe you can’t update yet?