void createChatRoomData(ChatRoomInfo chatRoomInfo)
{
+ int shard = chatRoomInfo.getShard();
+
ChatRoomData chatRoomData = computeChatRoomData(
chatRoomInfo.getId(),
chatRoomInfo.getShard());
- chatRoomData.activate();
+
+ // TODO: Possible race-condition in case of an ongoing rebalance!
+ if (isShardOwned[shard])
+ {
+ chatRoomData.activate();
+ }
}
Mono<ChatRoomData> getChatRoomData(int shard, UUID id)