ReliableStateManagerReplicatorSettings Class

  • java.lang.Object
    • microsoft.servicefabric.replicator.ReliableStateManagerReplicatorSettings

public class ReliableStateManagerReplicatorSettings

Settings that configure the replicator.

Method Summary

Modifier and Type Method and Description
Duration getBatchAcknowledgementInterval()

Gets the amount of time that the replicator waits after receiving an operation before sending back an acknowledgment. The default value is 5 milliseconds.

Integer getCheckpointThresholdInMB()

Gets the checkpoint threshold. A checkpoint will be initiated when the log usage exceeds this value. Default value is 50. The unit is MB.

Long getInitialCopyQueueSize()

Gets the initial size of the copy operation queue inside the replicator, which contains copy operations. Default value is 64. The value is the number of operations in the copy operation queue. Must be a power of 2.

Long getInitialPrimaryReplicationQueueSize()

Gets the initial primary replication queue size. Default value is 64. The value is the number of operations in the primary replication queue. Must be a power of 2.

Long getInitialSecondaryReplicationQueueSize()

Gets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

Integer getMaxAccumulatedBackupLogSizeInMB()

Gets the max size for an accumulated backup log across backups. An incremental backup requests will fail if the backup logs generated by the request causes the total amount of logs accumulated including the last full backup to be greater than MaxAccumulatedBackupLogSizeInMB. In such cases, user is required to take a full backup. Default value is 800. The unit is MB.

Long getMaxCopyQueueSize()

Gets the maximum size of the copy operation queue inside replicator, which contains copy operations. Default value is 1024. The value is the max number of operations in the copy operation queue. Must be a power of 2.

Integer getMaxMetadataSizeInKB()

Gets the amount of extra persistent storage space reserved for the replicator specified in kilobytes that is associated with this replica. This value must be a multiple of 4. The default value is 4. The unit is KB.

Long getMaxPrimaryReplicationQueueMemorySize()

Gets the max primary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

Long getMaxPrimaryReplicationQueueSize()

Gets the max primary replication queue size. Default value is 1024. The value is the max number of operations in the primary replication queue. Must be a power of 2.

Integer getMaxRecordSizeInKB()

Gets the largest record size which the replicator may write specified in kilobytes for the log that is associated with this replica. This value must be a multiple of 4 and greater than or equal to 128. The default value is 1024. The unit is KB.

Long getMaxReplicationMessageSize()

Gets the max replication message size. Default value is 50MB. The unit is Bytes.

Long getMaxSecondaryReplicationQueueMemorySize()

Gets the max secondary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

Long getMaxSecondaryReplicationQueueSize()

Gets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

Integer getMaxWriteQueueDepthInKB()

Gets the maximum write queue depth that the core logger can use as specified in kilobytes for the log that is associated with this replica. This value is the maximum number of bytes that can be outstanding during core logger updates. It may be 0 for the core logger to compute an appropriate value or a multiple of 4. The default value is 0. The unit is KB.

Integer getMinLogSizeInMB()

Gets the minimum log size. A truncation will not be initiated if it would reduce the size of the log to below this value. Default value is 0.

Boolean getOptimizeLogForLowerDiskUsage()

Gets a flag, when true indicates the log should optimize in a way where less disk space is used for the log at the cost of IO performance. If false, the log will use more disk space but have better IO performance. Default value is true.

String getReplicatorAddress()

Gets the address in {ip}:{port} format that this replicator will use when communicating with other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. If replicator is running inside a container, you should try setting up ReliableStateManagerReplicatorSettings#replicatorListenAddress and ReliableStateManagerReplicatorSettings#replicatorPublishAddress.

String getReplicatorListenAddress()

Gets the address in {ip}:{port} format that this replicator will use to receive information from other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the listen address can be obtained from getServiceListenAddress().

String getReplicatorPublishAddress()

Gets the address in {ip}:{port} format that this replicator will use to send information to other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the publish address can be obtained from getServicePublishAddress().

Duration getRetryInterval()

Gets how long the replicator waits after it transmits a message from the primary to the secondary for the secondary to acknowledge that it has received the message. The default value is 5 seconds.

Boolean getSecondaryClearAcknowledgedOperations()

Gets a flag, when true indicates the secondary replicator should clear the in-memory queue after acknowledging the operations to the primary (After the operations are flushed to disk). Default value is false. Settings this to "TRUE" can result in additional disk reads on the new primary, while catching up replicas after a failover.

SecurityCredentials getSecurityCredentials()

Gets the security credentials for securing the traffic between replicators.

String getSharedLogId()

Gets the GUID identifier for the log container that is shared by a number of replicas on the windows fabric node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

String getSharedLogPath()

Gets the full pathname to the log container that is shared by a number of replicas on the node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

Duration getSlowApiMonitoringDuration()

Gets the interval after which the replicator sends a warning health report that the API is slow and is taking longer than expected duration. Default value is 5 minutes.

Integer getThrottlingThresholdFactor()

Gets the throttling threshold factor. Throttling will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 3.

Integer getTruncationThresholdFactor()

Gets the truncation threshold factor. A truncation will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 2.

void setBatchAcknowledgementInterval(Duration batchAcknowledgementInterval)

Sets the amount of time that the replicator waits after receiving an operation before sending back an acknowledgment. The default value is 5 milliseconds.

void setCheckpointThresholdInMB(Integer checkpointThresholdInMB)

Sets the checkpoint threshold. A checkpoint will be initiated when the log usage exceeds this value. Default value is 50. The unit is MB.

void setInitialCopyQueueSize(Long initialCopyQueueSize)

Sets the initial size of the copy operation queue inside the replicator, which contains copy operations. Default value is 64. The value is the number of operations in the copy operation queue. Must be a power of 2.

void setInitialPrimaryReplicationQueueSize(Long initialPrimaryReplicationQueueSize)

Sets the initial primary replication queue size. Default value is 64. The value is the number of operations in the primary replication queue. Must be a power of 2.

void setInitialSecondaryReplicationQueueSize(Long initialSecondaryReplicationQueueSize)

Sets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

void setMaxAccumulatedBackupLogSizeInMB(Integer maxAccumulatedBackupLogSizeInMB)

Sets the max size for an accumulated backup log across backups. An incremental backup requests will fail if the backup logs generated by the request causes the total amount of logs accumulated including the last full backup to be greater than MaxAccumulatedBackupLogSizeInMB. In such cases, user is required to take a full backup. Default value is 800. The unit is MB.

void setMaxCopyQueueSize(Long maxCopyQueueSize)

Sets the maximum size of the copy operation queue inside replicator, which contains copy operations. Default value is 1024. The value is the max number of operations in the copy operation queue. Must be a power of 2.

void setMaxMetadataSizeInKB(Integer maxMetadataSizeInKB)

Sets the amount of extra persistent storage space reserved for the replicator specified in kilobytes that is associated with this replica. This value must be a multiple of 4. The default value is 4. The unit is KB.

void setMaxPrimaryReplicationQueueMemorySize(Long maxPrimaryReplicationQueueMemorySize)

Sets the max primary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

void setMaxPrimaryReplicationQueueSize(Long maxPrimaryReplicationQueueSize)

Sets the max primary replication queue size. Default value is 1024. The value is the max number of operations in the primary replication queue. Must be a power of 2.

void setMaxRecordSizeInKB(Integer maxRecordSizeInKB)

Sets the largest record size which the replicator may write specified in kilobytes for the log that is associated with this replica. This value must be a multiple of 4 and greater than or equal to 128. The default value is 1024. The unit is KB.

void setMaxReplicationMessageSize(Long maxReplicationMessageSize)

Sets the max replication message size. Default value is 50MB. The unit is Bytes.

void setMaxSecondaryReplicationQueueMemorySize(Long maxSecondaryReplicationQueueMemorySize)

Sets the max secondary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

void setMaxSecondaryReplicationQueueSize(Long maxSecondaryReplicationQueueSize)

Sets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

void setMaxWriteQueueDepthInKB(Integer maxWriteQueueDepthInKB)

Sets the maximum write queue depth that the core logger can use as specified in kilobytes for the log that is associated with this replica. This value is the maximum number of bytes that can be outstanding during core logger updates. It may be 0 for the core logger to compute an appropriate value or a multiple of 4. The default value is 0. The unit is KB.

void setMinLogSizeInMB(Integer minLogSizeInMB)

Sets the minimum log size. A truncation will not be initiated if it would reduce the size of the log to below this value. Default value is 0.

void setOptimizeLogForLowerDiskUsage(Boolean optimizeLogForLowerDiskUsage)

Sets a flag, when true indicates the log should optimize in a way where less disk space is used for the log at the cost of IO performance. If false, the log will use more disk space but have better IO performance. Default value is true.

void setReplicatorAddress(String replicatorAddress)

Sets the address in {ip}:{port} format that this replicator will use when communicating with other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. If replicator is running inside a container, you should try setting up ReliableStateManagerReplicatorSettings#replicatorListenAddress and ReliableStateManagerReplicatorSettings#replicatorPublishAddress.

void setReplicatorListenAddress(String replicatorListenAddress)

Sets the address in {ip}:{port} format that this replicator will use to receive information from other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the listen address can be obtained from getServiceListenAddress().

void setReplicatorPublishAddress(String replicatorPublishAddress)

Sets the address in {ip}:{port} format that this replicator will use to send information to other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the publish address can be obtained from getServicePublishAddress().

void setRetryInterval(Duration retryInterval)

Sets how long the replicator waits after it transmits a message from the primary to the secondary for the secondary to acknowledge that it has received the message. The default value is 5 seconds.

void setSecondaryClearAcknowledgedOperations(Boolean secondaryClearAcknowledgedOperations)

Sets a flag, when true indicates the secondary replicator should clear the in-memory queue after acknowledging the operations to the primary (After the operations are flushed to disk). Default value is false. Settings this to "TRUE" can result in additional disk reads on the new primary, while catching up replicas after a failover.

void setSecurityCredentials(SecurityCredentials securityCredentials)

Sets the security credentials for securing the traffic between replicators.

void setSharedLogId(String sharedLogId)

Sets the GUID identifier for the log container that is shared by a number of replicas on the windows fabric node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

void setSharedLogPath(String sharedLogPath)

Sets the full pathname to the log container that is shared by a number of replicas on the node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

void setSlowApiMonitoringDuration(Duration slowApiMonitoringDuration)

Sets the interval after which the replicator sends a warning health report that the API is slow and is taking longer than expected duration. Default value is 5 minutes.

void setThrottlingThresholdFactor(Integer throttlingThresholdFactor)

Sets the throttling threshold factor. Throttling will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 3.

void setTruncationThresholdFactor(Integer truncationThresholdFactor)

Sets the truncation threshold factor. A truncation will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 2.

Method Details

getBatchAcknowledgementInterval

public Duration getBatchAcknowledgementInterval()

Gets the amount of time that the replicator waits after receiving an operation before sending back an acknowledgment. The default value is 5 milliseconds.

Returns:

The batch acknowledgment interval.

getCheckpointThresholdInMB

public Integer getCheckpointThresholdInMB()

Gets the checkpoint threshold. A checkpoint will be initiated when the log usage exceeds this value. Default value is 50. The unit is MB.

Returns:

The checkpoint threshold.

getInitialCopyQueueSize

public Long getInitialCopyQueueSize()

Gets the initial size of the copy operation queue inside the replicator, which contains copy operations. Default value is 64. The value is the number of operations in the copy operation queue. Must be a power of 2.

Returns:

The initial copy queue size.

getInitialPrimaryReplicationQueueSize

public Long getInitialPrimaryReplicationQueueSize()

Gets the initial primary replication queue size. Default value is 64. The value is the number of operations in the primary replication queue. Must be a power of 2.

Returns:

The initial primary replication queue size.

getInitialSecondaryReplicationQueueSize

public Long getInitialSecondaryReplicationQueueSize()

Gets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

Returns:

The initial secondary replication queue size.

getMaxAccumulatedBackupLogSizeInMB

public Integer getMaxAccumulatedBackupLogSizeInMB()

Gets the max size for an accumulated backup log across backups. An incremental backup requests will fail if the backup logs generated by the request causes the total amount of logs accumulated including the last full backup to be greater than MaxAccumulatedBackupLogSizeInMB. In such cases, user is required to take a full backup. Default value is 800. The unit is MB.

Returns:

The max accumulated backup log size in MB.

getMaxCopyQueueSize

public Long getMaxCopyQueueSize()

Gets the maximum size of the copy operation queue inside replicator, which contains copy operations. Default value is 1024. The value is the max number of operations in the copy operation queue. Must be a power of 2.

Returns:

The max copy queue size.

getMaxMetadataSizeInKB

public Integer getMaxMetadataSizeInKB()

Gets the amount of extra persistent storage space reserved for the replicator specified in kilobytes that is associated with this replica. This value must be a multiple of 4. The default value is 4. The unit is KB.

Returns:

The max metadata size.

getMaxPrimaryReplicationQueueMemorySize

public Long getMaxPrimaryReplicationQueueMemorySize()

Gets the max primary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

Returns:

The max primary replication queue memory size.

getMaxPrimaryReplicationQueueSize

public Long getMaxPrimaryReplicationQueueSize()

Gets the max primary replication queue size. Default value is 1024. The value is the max number of operations in the primary replication queue. Must be a power of 2.

Returns:

The max primary replication queue size.

getMaxRecordSizeInKB

public Integer getMaxRecordSizeInKB()

Gets the largest record size which the replicator may write specified in kilobytes for the log that is associated with this replica. This value must be a multiple of 4 and greater than or equal to 128. The default value is 1024. The unit is KB.

Returns:

The max record size.

getMaxReplicationMessageSize

public Long getMaxReplicationMessageSize()

Gets the max replication message size. Default value is 50MB. The unit is Bytes.

Returns:

The max replication message size.

getMaxSecondaryReplicationQueueMemorySize

public Long getMaxSecondaryReplicationQueueMemorySize()

Gets the max secondary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

Returns:

The max secondary replication queue size.

getMaxSecondaryReplicationQueueSize

public Long getMaxSecondaryReplicationQueueSize()

Gets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

Returns:

The initial secondary replication queue size.

getMaxWriteQueueDepthInKB

public Integer getMaxWriteQueueDepthInKB()

Gets the maximum write queue depth that the core logger can use as specified in kilobytes for the log that is associated with this replica. This value is the maximum number of bytes that can be outstanding during core logger updates. It may be 0 for the core logger to compute an appropriate value or a multiple of 4. The default value is 0. The unit is KB.

Returns:

The max write queue depth.

getMinLogSizeInMB

public Integer getMinLogSizeInMB()

Gets the minimum log size. A truncation will not be initiated if it would reduce the size of the log to below this value. Default value is 0.

Returns:

The minimum log size.

getOptimizeLogForLowerDiskUsage

public Boolean getOptimizeLogForLowerDiskUsage()

Gets a flag, when true indicates the log should optimize in a way where less disk space is used for the log at the cost of IO performance. If false, the log will use more disk space but have better IO performance. Default value is true.

Returns:

If the OptimizeLogForLowerDiskUsage option is enabled.

getReplicatorAddress

public String getReplicatorAddress()

Gets the address in {ip}:{port} format that this replicator will use when communicating with other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. If replicator is running inside a container, you should try setting up ReliableStateManagerReplicatorSettings#replicatorListenAddress and ReliableStateManagerReplicatorSettings#replicatorPublishAddress.

Returns:

The replicator address.

getReplicatorListenAddress

public String getReplicatorListenAddress()

Gets the address in {ip}:{port} format that this replicator will use to receive information from other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the listen address can be obtained from getServiceListenAddress().

Returns:

The replicator address.

getReplicatorPublishAddress

public String getReplicatorPublishAddress()

Gets the address in {ip}:{port} format that this replicator will use to send information to other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the publish address can be obtained from getServicePublishAddress().

Returns:

The replicator address.

getRetryInterval

public Duration getRetryInterval()

Gets how long the replicator waits after it transmits a message from the primary to the secondary for the secondary to acknowledge that it has received the message. The default value is 5 seconds.

Returns:

retryInterval

getSecondaryClearAcknowledgedOperations

public Boolean getSecondaryClearAcknowledgedOperations()

Gets a flag, when true indicates the secondary replicator should clear the in-memory queue after acknowledging the operations to the primary (After the operations are flushed to disk). Default value is false. Settings this to "TRUE" can result in additional disk reads on the new primary, while catching up replicas after a failover.

Returns:

If the SecondaryClearAcknowledgedOperations option is enabled.

getSecurityCredentials

public SecurityCredentials getSecurityCredentials()

Gets the security credentials for securing the traffic between replicators.

Returns:

The security credentials.

getSharedLogId

public String getSharedLogId()

Gets the GUID identifier for the log container that is shared by a number of replicas on the windows fabric node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

Returns:

The shared log id.

getSharedLogPath

public String getSharedLogPath()

Gets the full pathname to the log container that is shared by a number of replicas on the node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

Returns:

The shared log path.

getSlowApiMonitoringDuration

public Duration getSlowApiMonitoringDuration()

Gets the interval after which the replicator sends a warning health report that the API is slow and is taking longer than expected duration. Default value is 5 minutes.

Returns:

SlowApiMonitoringDuration

getThrottlingThresholdFactor

public Integer getThrottlingThresholdFactor()

Gets the throttling threshold factor. Throttling will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 3.

Returns:

The throttling threshold.

getTruncationThresholdFactor

public Integer getTruncationThresholdFactor()

Gets the truncation threshold factor. A truncation will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 2.

Returns:

The truncation threshold.

setBatchAcknowledgementInterval

public void setBatchAcknowledgementInterval(Duration batchAcknowledgementInterval)

Sets the amount of time that the replicator waits after receiving an operation before sending back an acknowledgment. The default value is 5 milliseconds.

Parameters:

batchAcknowledgementInterval - The batch acknowledgment interval.

setCheckpointThresholdInMB

public void setCheckpointThresholdInMB(Integer checkpointThresholdInMB)

Sets the checkpoint threshold. A checkpoint will be initiated when the log usage exceeds this value. Default value is 50. The unit is MB.

Parameters:

checkpointThresholdInMB - The checkpoint threshold.

setInitialCopyQueueSize

public void setInitialCopyQueueSize(Long initialCopyQueueSize)

Sets the initial size of the copy operation queue inside the replicator, which contains copy operations. Default value is 64. The value is the number of operations in the copy operation queue. Must be a power of 2.

Parameters:

initialCopyQueueSize - The initial copy queue size.

setInitialPrimaryReplicationQueueSize

public void setInitialPrimaryReplicationQueueSize(Long initialPrimaryReplicationQueueSize)

Sets the initial primary replication queue size. Default value is 64. The value is the number of operations in the primary replication queue. Must be a power of 2.

Parameters:

initialPrimaryReplicationQueueSize - The initial primary replication queue size.

setInitialSecondaryReplicationQueueSize

public void setInitialSecondaryReplicationQueueSize(Long initialSecondaryReplicationQueueSize)

Sets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

Parameters:

initialSecondaryReplicationQueueSize - The initial secondary replication queue size.

setMaxAccumulatedBackupLogSizeInMB

public void setMaxAccumulatedBackupLogSizeInMB(Integer maxAccumulatedBackupLogSizeInMB)

Sets the max size for an accumulated backup log across backups. An incremental backup requests will fail if the backup logs generated by the request causes the total amount of logs accumulated including the last full backup to be greater than MaxAccumulatedBackupLogSizeInMB. In such cases, user is required to take a full backup. Default value is 800. The unit is MB.

Parameters:

maxAccumulatedBackupLogSizeInMB - The max accumulated backup log size in MB.

setMaxCopyQueueSize

public void setMaxCopyQueueSize(Long maxCopyQueueSize)

Sets the maximum size of the copy operation queue inside replicator, which contains copy operations. Default value is 1024. The value is the max number of operations in the copy operation queue. Must be a power of 2.

Parameters:

maxCopyQueueSize - The max copy queue size.

setMaxMetadataSizeInKB

public void setMaxMetadataSizeInKB(Integer maxMetadataSizeInKB)

Sets the amount of extra persistent storage space reserved for the replicator specified in kilobytes that is associated with this replica. This value must be a multiple of 4. The default value is 4. The unit is KB.

Parameters:

maxMetadataSizeInKB - The max metadata size.

setMaxPrimaryReplicationQueueMemorySize

public void setMaxPrimaryReplicationQueueMemorySize(Long maxPrimaryReplicationQueueMemorySize)

Sets the max primary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

Parameters:

maxPrimaryReplicationQueueMemorySize - The max primary replication queue memory size.

setMaxPrimaryReplicationQueueSize

public void setMaxPrimaryReplicationQueueSize(Long maxPrimaryReplicationQueueSize)

Sets the max primary replication queue size. Default value is 1024. The value is the max number of operations in the primary replication queue. Must be a power of 2.

Parameters:

maxPrimaryReplicationQueueSize - The max primary replication queue size.

setMaxRecordSizeInKB

public void setMaxRecordSizeInKB(Integer maxRecordSizeInKB)

Sets the largest record size which the replicator may write specified in kilobytes for the log that is associated with this replica. This value must be a multiple of 4 and greater than or equal to 128. The default value is 1024. The unit is KB.

Parameters:

maxRecordSizeInKB - The max record size.

setMaxReplicationMessageSize

public void setMaxReplicationMessageSize(Long maxReplicationMessageSize)

Sets the max replication message size. Default value is 50MB. The unit is Bytes.

Parameters:

maxReplicationMessageSize - The max replication message size.

setMaxSecondaryReplicationQueueMemorySize

public void setMaxSecondaryReplicationQueueMemorySize(Long maxSecondaryReplicationQueueMemorySize)

Sets the max secondary replication queue memory size. Default value is 0, which implies there is no memory limitation. The unit is Bytes.

Parameters:

maxSecondaryReplicationQueueMemorySize - The max secondary replication queue size.

setMaxSecondaryReplicationQueueSize

public void setMaxSecondaryReplicationQueueSize(Long maxSecondaryReplicationQueueSize)

Sets the initial secondary replication queue size. Default value is 64. The value is the number of operations in the secondary replication queue. Must be a power of 2.

Parameters:

maxSecondaryReplicationQueueSize - The initial secondary replication queue size.

setMaxWriteQueueDepthInKB

public void setMaxWriteQueueDepthInKB(Integer maxWriteQueueDepthInKB)

Sets the maximum write queue depth that the core logger can use as specified in kilobytes for the log that is associated with this replica. This value is the maximum number of bytes that can be outstanding during core logger updates. It may be 0 for the core logger to compute an appropriate value or a multiple of 4. The default value is 0. The unit is KB.

Parameters:

maxWriteQueueDepthInKB - The max write queue depth.

setMinLogSizeInMB

public void setMinLogSizeInMB(Integer minLogSizeInMB)

Sets the minimum log size. A truncation will not be initiated if it would reduce the size of the log to below this value. Default value is 0.

Parameters:

minLogSizeInMB - The minimum log size.

setOptimizeLogForLowerDiskUsage

public void setOptimizeLogForLowerDiskUsage(Boolean optimizeLogForLowerDiskUsage)

Sets a flag, when true indicates the log should optimize in a way where less disk space is used for the log at the cost of IO performance. If false, the log will use more disk space but have better IO performance. Default value is true.

Parameters:

optimizeLogForLowerDiskUsage - If the OptimizeLogForLowerDiskUsage option is enabled.

setReplicatorAddress

public void setReplicatorAddress(String replicatorAddress)

Sets the address in {ip}:{port} format that this replicator will use when communicating with other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. If replicator is running inside a container, you should try setting up ReliableStateManagerReplicatorSettings#replicatorListenAddress and ReliableStateManagerReplicatorSettings#replicatorPublishAddress.

Parameters:

replicatorAddress - The replicator address.

setReplicatorListenAddress

public void setReplicatorListenAddress(String replicatorListenAddress)

Sets the address in {ip}:{port} format that this replicator will use to receive information from other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the listen address can be obtained from getServiceListenAddress().

Parameters:

replicatorListenAddress - The replicator address.

setReplicatorPublishAddress

public void setReplicatorPublishAddress(String replicatorPublishAddress)

Sets the address in {ip}:{port} format that this replicator will use to send information to other replicators. The default value is "localhost:0", which picks a dynamic port number in runtime. {ip} part of the publish address can be obtained from getServicePublishAddress().

Parameters:

replicatorPublishAddress - The replicator address.

setRetryInterval

public void setRetryInterval(Duration retryInterval)

Sets how long the replicator waits after it transmits a message from the primary to the secondary for the secondary to acknowledge that it has received the message. The default value is 5 seconds.

Parameters:

retryInterval - Retry interval

setSecondaryClearAcknowledgedOperations

public void setSecondaryClearAcknowledgedOperations(Boolean secondaryClearAcknowledgedOperations)

Sets a flag, when true indicates the secondary replicator should clear the in-memory queue after acknowledging the operations to the primary (After the operations are flushed to disk). Default value is false. Settings this to "TRUE" can result in additional disk reads on the new primary, while catching up replicas after a failover.

Parameters:

secondaryClearAcknowledgedOperations - If the SecondaryClearAcknowledgedOperations option is enabled.

setSecurityCredentials

public void setSecurityCredentials(SecurityCredentials securityCredentials)

Sets the security credentials for securing the traffic between replicators.

Parameters:

securityCredentials - The security credentials.

setSharedLogId

public void setSharedLogId(String sharedLogId)

Sets the GUID identifier for the log container that is shared by a number of replicas on the windows fabric node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

Parameters:

sharedLogId - The shared log id.

setSharedLogPath

public void setSharedLogPath(String sharedLogPath)

Sets the full pathname to the log container that is shared by a number of replicas on the node including this one. Default value is "" which causes the replicator to use the global shared log for the node.

Parameters:

sharedLogPath - The shared log path.

setSlowApiMonitoringDuration

public void setSlowApiMonitoringDuration(Duration slowApiMonitoringDuration)

Sets the interval after which the replicator sends a warning health report that the API is slow and is taking longer than expected duration. Default value is 5 minutes.

Parameters:

slowApiMonitoringDuration - SlowApiMonitoringDuration

setThrottlingThresholdFactor

public void setThrottlingThresholdFactor(Integer throttlingThresholdFactor)

Sets the throttling threshold factor. Throttling will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 3.

Parameters:

throttlingThresholdFactor - The throttling threshold.

setTruncationThresholdFactor

public void setTruncationThresholdFactor(Integer truncationThresholdFactor)

Sets the truncation threshold factor. A truncation will be initiated when the log usage exceeds this value times MinLogSizeInMB. Default value is 2.

Parameters:

truncationThresholdFactor - The truncation threshold.

Applies to