private boolean isMyShard(String shardId) { if (myShardIds == null) { myShardIds = gondola.getShardsOnHost().stream() .map(Shard::getShardId) .collect(Collectors.toSet()); } return myShardIds.contains(shardId); }
private Map<Object, Object> getGondolaStatus(Gondola gondola, ChangeLogProcessor changeLogProcessor) throws InterruptedException { Map<Object, Object> shards = new LinkedHashMap<>(); for (Shard shard : gondola.getShardsOnHost()) { String shardId = shard.getShardId(); Map<Object, Object> shardMap = new LinkedHashMap<>(); shardMap.put("commitIndex", shard.getCommitIndex()); shardMap.put("savedIndex", shard.getLastSavedIndex()); shardMap.put("appliedIndex", changeLogProcessor.getAppliedIndex(shardId)); shardMap.put("slaveStatus", getSlaveStatus(shard)); shardMap.put("role", shard.getLocalRole()); shardMap.put("enabled", shard.getLocalMember().isEnabled()); shards.put(shardId, shardMap); } return shards; }
Map<String, RoutingService> services = new HashMap<>(); for (Shard shard : gondola.getShardsOnHost()) { RoutingService service = serviceClass.getConstructor(Gondola.class, String.class).newInstance(gondola, shard.getShardId());