-
- private UUID getRandomIdForOwnedShard()
- {
- Set<Integer> ownedShards = ownedShards();
- UUID randomId;
-
- do
- {
- randomId = UUID.randomUUID();
- }
- while (!ownedShards.contains(shardingStrategy.selectShard(randomId)));
-
- return randomId;
- }
-
- private UUID getRandomIdForForeignShard()
- {
- Set<Integer> ownedShards = ownedShards();
- UUID randomId;
-
- do
- {
- randomId = UUID.randomUUID();
- }
- while (ownedShards.contains(shardingStrategy.selectShard(randomId)));
-
- return randomId;
- }
-
- private Set<Integer> ownedShards()
- {
- return IntStream
- .of(properties.getInmemory().getOwnedShards())
- .mapToObj(shard -> Integer.valueOf(shard))
- .collect(Collectors.toSet());
- }