I have a lot of clients that will try to create the same schema (a keyspace
with multiple tables) concurrently during application startup. The idea is that
the first time the application starts, the clients will create the schema
needed to run (create if not exists, etc...)
From what I’ve read, I think that Cassandra has support for concurrent schema
creation and modification, but I assume there will be conflicts of some sort.
Is there any known strategy for handling this? Specifically considering
conflicts.
In case of a conflict (e.g., two clients trying to create the exact same
table), will the client call return with an error? (Datastax driver)
Would a plausible strategy be (for each client) 1) try to create the table, 2)
examine any error coming back to determine if a conflict happened, 3) if
conflict, move on to next table?
Or is it just better to add a separate step to create the schema at some point
in time before the clients can be allowed to work (i.e. move schema creation
out of the clients)?
Thanks
/Magnus