Source:
public VcrReplicationManager(CloudConfig cloudConfig, ReplicationConfig replicationConfig, ClusterMapConfig clusterMapConfig, StoreConfig storeConfig, StoreManager storeManager, StoreKeyFactory storeKeyFactory, ClusterMap clusterMap, VirtualReplicatorCluster virtualReplicatorCluster, CloudDestination cloudDestination, ScheduledExecutorService scheduler, ConnectionPool connectionPool, VcrMetrics vcrMetrics, NotificationSystem requestNotification, StoreKeyConverterFactory storeKeyConverterFactory, String transformerClassName) throws ReplicationException, IllegalStateException { super(replicationConfig, clusterMapConfig, storeKeyFactory, clusterMap, scheduler, virtualReplicatorCluster.getCurrentDataNodeId(), Collections.emptyList(), connectionPool, vcrMetrics.getMetricRegistry(), requestNotification, storeKeyConverterFactory, transformerClassName, null, storeManager); this.cloudConfig = cloudConfig; this.storeConfig = storeConfig; this.virtualReplicatorCluster = virtualReplicatorCluster; this.vcrMetrics = vcrMetrics; this.persistor = new CloudTokenPersistor(replicaTokenFileName, mountPathToPartitionInfos, replicationMetrics, clusterMap, tokenHelper, cloudDestination); this.cloudStorageCompactor = cloudConfig.cloudBlobCompactionEnabled ? new CloudStorageCompactor(cloudDestination, cloudConfig, partitionToPartitionInfo.keySet(), vcrMetrics) : null; trackPerPartitionLagInMetric = replicationConfig.replicationTrackRemoteFromLocalPerDatacenterLag; if (cloudConfig.vcrSourceDatacenters.isEmpty()) { throw new IllegalStateException("One or more VCR cross colo replication peer datacenter should be specified"); } }

Target:
public VcrReplicationManager(CloudConfig cloudConfig, ReplicationConfig replicationConfig, ClusterMapConfig clusterMapConfig, StoreConfig storeConfig, StoreManager storeManager, StoreKeyFactory storeKeyFactory, ClusterMap clusterMap, VirtualReplicatorCluster virtualReplicatorCluster, CloudDestination cloudDestination, ScheduledExecutorService scheduler, ConnectionPool connectionPool, VcrMetrics vcrMetrics, NotificationSystem requestNotification, StoreKeyConverterFactory storeKeyConverterFactory, String transformerClassName) throws ReplicationException, IllegalStateException { super(replicationConfig, clusterMapConfig, storeKeyFactory, clusterMap, scheduler, virtualReplicatorCluster.getCurrentDataNodeId(), Collections.emptyList(), connectionPool, vcrMetrics.getMetricRegistry(), requestNotification, storeKeyConverterFactory, transformerClassName, null, storeManager); this.cloudConfig = cloudConfig; this.storeConfig = storeConfig; this.virtualReplicatorCluster = virtualReplicatorCluster; this.vcrMetrics = vcrMetrics; this.persistor = new CloudTokenPersistor(replicaTokenFileName, mountPathToPartitionInfos, replicationMetrics, clusterMap, tokenHelper, cloudDestination); this.cloudStorageCompactor = cloudConfig.cloudBlobCompactionEnabled ? new CloudStorageCompactor(cloudDestination, cloudConfig, partitionToPartitionInfo.keySet(), vcrMetrics) : null; trackPerDatacenterLagInMetric = replicationConfig.replicationTrackPerDatacenterLagFromLocal; if (cloudConfig.vcrSourceDatacenters.isEmpty()) { throw new IllegalStateException("One or more VCR cross colo replication peer datacenter should be specified"); } }