[Lafgom][Cassandra]Column family ID mismatch

I read this topic, where looks like the issue was solved.

But it was reproduced for me.

I am using lagom 1.5.3.
One instance of Cassandra.
I have more than 10 microservices. In one microservice I have multiple Read Side Projections, several topic producers, subscribed on several kafka topics.

The issue I faced that Lagom tries to create several offsetStore for one microservice in Cassandra.
It crashing with Migration error.

Some my logs:

Create new table: org.apache.cassandra.config.CFMetaData@438bbd2e[cfId=f0f7a8f0-ef52-11e9-8776-41417f4e6c33,ksName=mc1,cfName=offsetstore
Create new table: org.apache.cassandra.config.CFMetaData@670691bf[cfId=f0f84530-ef52-11e9-8776-41417f4e6c33,ksName=scmmc1cfName=offsetstore

And then I see this error:
Column family ID mismatch (found f0f84530-ef52-11e9-8776-41417f4e6c33; expected f0f7a8f0-ef52-11e9-8776-41417f4e6c33)

Locally it works for me, only reproduced in production.
I will be glad to get any advice or help.

As I got from Lagom implementation, we create offset table for each topic producer. Also, as I got from code we have ReadSideActor that creates this table, but from, implementation I see that I create several ReadSideActors in ReadSideImpl please see code:

      val readSideProps =
        ReadSideActor.props(
          config,
          eventClass,
          globalPrepareTask,
          registry.eventStream[Event],
          processorFactory
        )

I tried to fix it by disable auto creation of tables like this:

cassandra-journal {
  keyspace-autocreate = false
  tables-autocreate = false
}
cassandra-snapshot-store {
  keyspace-autocreate = false
  tables-autocreate = false
}
lagom.persistence.read-side.cassandra {
  keyspace-autocreate = false
}

But I faced with issue that I cannot describe common tables only in one readside, I need to define them in every Read Side Processor. So, It looks like I will again faced with issue that it create offsetStore table in different threads simultaneously.

Also, I can reproduce this error during running tests.

Can you share a project that reproduces the problem?

I cannot share my production code. But I think I can try to create something similar on it. Will it work for you?

Yes, that’s what I meant. A minimal project that causes the problem without including other business logic.