public static ReplicationMap roundRobinMap(int nPartitions, int repFactor, String... hosts) { List<ReplicationEntry> repEntries = new ArrayList<ReplicationEntry>(); for(int i = 0; i < nPartitions; i++) { int toNode = i % hosts.length; ReplicationEntry repEntry = new ReplicationEntry(); repEntry.setShard(i); List<String> shardDNodes = new ArrayList<String>(); for(int j = 0; j < repFactor; j++) { int chosen = (toNode + j) % hosts.length; shardDNodes.add(hosts[chosen]); } repEntry.setNodes(shardDNodes); repEntries.add(repEntry); } return new ReplicationMap(repEntries); }
public DeployInfo deploy(String tablespace, PartitionMap partitionMap, ReplicationMap replicationMap, URI dataUri) throws IOException { DeployRequest deployRequest = new DeployRequest(); deployRequest.setTablespace(tablespace); deployRequest.setData_uri(dataUri.toString()); deployRequest.setPartitionMap(partitionMap.getPartitionEntries()); deployRequest.setReplicationMap(replicationMap.getReplicationEntries()); return deploy(deployRequest); }
Iterator<ReplicationEntry> repIter = tablespace.getReplicationMap().getReplicationEntries().iterator(); while (repIter.hasNext()) { ReplicationEntry entry = repIter.next(); replicationMap.addAll(currentTablespace.getReplicationMap().getReplicationEntries()); deployDate = currentTablespace.getCreationDate(); } else { currentTablespace = new Tablespace(new PartitionMap(partitionMap), new ReplicationMap(replicationMap), versionName, deployDate); tablespaceVersionMap.put(tablespaceVersion, currentTablespace);
deployRequests[tIndex].setReplicationMap(ReplicationMap.roundRobinMap(partitionMap.getPartitionEntries().size(), repFactor, dnodes.toArray(new String[0])).getReplicationEntries());
for (ReplicationEntry rEntry : replicationMap.getReplicationEntries()) { log.info(rEntry);
public DeployInfo deploy(String tablespace, PartitionMap partitionMap, ReplicationMap replicationMap, URI dataUri) throws IOException { DeployRequest deployRequest = new DeployRequest(); deployRequest.setTablespace(tablespace); deployRequest.setData_uri(dataUri.toString()); deployRequest.setPartitionMap(partitionMap.getPartitionEntries()); deployRequest.setReplicationMap(replicationMap.getReplicationEntries()); return deploy(deployRequest); }
/** * Returns a one to one replication map with consecutive shard Ids from a list of hosts. This method is useful for * quickly having an instance of ReplicationMap that has no replication (1 shard -> 1 host). */ public static ReplicationMap oneToOneMap(String... hosts) { List<ReplicationEntry> replicationMap = new ArrayList<ReplicationEntry>(); int shard = 0; for(String host : hosts) { ReplicationEntry entry = new ReplicationEntry(); entry.setNodes(Arrays.asList(new String[] { host })); entry.setShard(shard); replicationMap.add(entry); shard++; } return new ReplicationMap(replicationMap); }
&& t.getReplicationMap().getReplicationEntries() != null && t.getReplicationMap().getReplicationEntries().size() > 0) { if (t.getPartitionMap().getPartitionEntries().size() == t.getReplicationMap() .getReplicationEntries().size()) { log.info("Ok, TablespaceVersion [" + req.getTablespace() + ", " + req.getVersion() + "] being handled by enough DNodes as reported by Hazelcast.");
public static ReplicationMap roundRobinMap(int nPartitions, int repFactor, String... hosts) { List<ReplicationEntry> repEntries = new ArrayList<ReplicationEntry>(); for (int i = 0; i < nPartitions; i++) { int toNode = i % hosts.length; ReplicationEntry repEntry = new ReplicationEntry(); repEntry.setShard(i); List<String> shardDNodes = new ArrayList<String>(); for (int j = 0; j < repFactor; j++) { int chosen = (toNode + j) % hosts.length; shardDNodes.add(hosts[chosen]); } repEntry.setNodes(shardDNodes); repEntries.add(repEntry); } return new ReplicationMap(repEntries); }
ReplicationEntry repEntry = null; for (ReplicationEntry rEntry : replicationMap.getReplicationEntries()) { if (rEntry.getShard() == partitionId) { repEntry = rEntry;
/** * Returns a one to one replication map with consecutive shard Ids from a list of hosts. This method is useful for * quickly having an instance of ReplicationMap that has no replication (1 shard -> 1 host). */ public static ReplicationMap oneToOneMap(String... hosts) { List<ReplicationEntry> replicationMap = new ArrayList<ReplicationEntry>(); int shard = 0; for (String host : hosts) { ReplicationEntry entry = new ReplicationEntry(); entry.setNodes(Arrays.asList(new String[]{host})); entry.setShard(shard); replicationMap.add(entry); shard++; } return new ReplicationMap(replicationMap); }