Currently, creating and renaming a mailbox trigger the same operation.
Looking at CassandraMapper, we got the following code:
This means that upon create we try to perform a useless read to see if the mailbox previously existed.
Such read-before-writes is a Cassandra anti-pattern that should be avoided.
If this read fails, then the mailbox table is never updated, and we have an inconsistency.
We need to have a new method in the MailboxMapper:
We will provide a default method leveraging existing `save`.
We will implement it in `mailbox/cassandra` in order to skip the read before writes:
Unit test have to be written for MailboxMapper::create.
StoreMailboxManager::performConcurrentMailboxCreation needs to be adapted, and StoreMailboxManager::doCreateMailbox removed.
Kisscool refactoring effect
Maybe `Mailbox.mailboxId` can be made final once this change done.