*/
JSONObject topo = getTopology(config.m_startAction, m_joinCoordinator);
m_partitionsToSitesAtStartupForExportInit = new ArrayList<Integer>();
try {
// IV2 mailbox stuff
ClusterConfig clusterConfig = new ClusterConfig(topo);
m_configuredReplicationFactor = clusterConfig.getReplicationFactor();
m_cartographer = new Cartographer(m_messenger, m_configuredReplicationFactor,
m_catalogContext.cluster.getNetworkpartition());
List<Integer> partitions = null;
if (isRejoin) {
m_configuredNumberOfPartitions = m_cartographer.getPartitionCount();
partitions = m_cartographer.getIv2PartitionsToReplace(m_configuredReplicationFactor,
clusterConfig.getSitesPerHost());
if (partitions.size() == 0) {
VoltDB.crashLocalVoltDB("The VoltDB cluster already has enough nodes to satisfy " +
"the requested k-safety factor of " +
m_configuredReplicationFactor + ".\n" +
"No more nodes can join.", false, null);
}
}
else {
m_configuredNumberOfPartitions = clusterConfig.getPartitionCount();
partitions = ClusterConfig.partitionsForHost(topo, m_messenger.getHostId());
}
for (int ii = 0; ii < partitions.size(); ii++) {
Integer partition = partitions.get(ii);
m_iv2InitiatorStartingTxnIds.put( partition, TxnEgo.makeZero(partition).getTxnId());