Skip to content

ClusterMembershipOptions Properties

Settings for cluster membership.

DeathVoteExpirationTimeout

getset
View source
public TimeSpan DeathVoteExpirationTimeout
Gets or sets the expiration time for votes in the membership table.

Property value

Votes expire after 2 minutes by default.

DefunctSiloCleanupPeriod

getset
View source
public TimeSpan? DefunctSiloCleanupPeriod
Gets or sets a value indicating whether defunct silo entries older than ClusterMembershipOptions are removed. Cleanup is attempted when membership changes are observed and the current membership snapshot contains expired non-active entries, or when this period has elapsed since the last cleanup call. Set this value to null to disable expiration-based cleanup.

Property value

Expiration-based cleanup is enabled by default.

DefunctSiloExpiration

getset
View source
public TimeSpan DefunctSiloExpiration
Gets or sets the period of time after which membership entries for defunct silos are eligible for removal. Valid only if ClusterMembershipOptions is not null.

Property value

Defunct silos are eligible for removal from membership after one week by default.

EnableIndirectProbes

getset
View source
public bool EnableIndirectProbes
Gets or sets a value indicating whether to enable probing silos indirectly, via other silos.

IAmAliveTablePublishTimeout

getset
View source
public TimeSpan IAmAliveTablePublishTimeout
Gets or sets the period between updating this silo's heartbeat in the membership table.

Property value

Publish an update every 30 seconds by default.

LivenessEnabled

getset
View source
public bool LivenessEnabled
Gets or sets a value indicating whether the silo liveness protocol is enabled (should be disabled only for testing). If a silo is suspected to be down, but this property is set to false, the suspicions will not be propagated to the system or enforced. This property is intended for use only for testing and troubleshooting. In production, liveness should always be enabled.

Property value

Liveness is enabled by default.

LocalHealthDegradationMonitoringPeriod

getset
View source
public TimeSpan LocalHealthDegradationMonitoringPeriod
Gets or sets the period between self-tests to log local health degradation status.

Property value

The local host will perform a self-test every ten seconds by default.

MaxDefunctSiloEntries

getset
View source
public int? MaxDefunctSiloEntries
Gets or sets the maximum number of defunct silo entries to retain in the membership table. When this limit is exceeded, the first active silo, selected by natural SiloAddress sort order, asynchronously removes the oldest excess defunct entries from the membership table. Set this value to null to retain all defunct entries and disable threshold-based cleanup.

Property value

Membership retains up to 25 defunct silo entries by default.

MaxJoinAttemptTime

getset
View source
public TimeSpan MaxJoinAttemptTime
Gets or sets the maximum amount of time to attempt to join a cluster before giving up.

Property value

Attempt to join for 5 minutes before giving up by default.

NumMissedProbesLimit

getset
View source
public int NumMissedProbesLimit
Gets or sets the number of missed probe requests from a silo that lead to suspecting this silo as down.

Property value

A silo will be suspected as being down if three probes are missed, by default.

NumMissedTableIAmAliveLimit

getset
View source
public int NumMissedTableIAmAliveLimit
Gets or sets the number of missed "I am alive" updates in the table from a silo that causes warning to be logged.

NumProbedSilos

getset
View source
public int NumProbedSilos
Gets or sets the number of silos each silo probes for liveness.

Property value

Each silo will actively monitor up to 10 other silos by default.

ProbeTimeout

getset
View source
public TimeSpan ProbeTimeout
Gets or sets both the period between sending a liveness probe to any given host as well as the timeout for each probe.

Property value

Probes time out and a new probe is sent every 5 seconds by default.

TableRefreshTimeout

getset
View source
public TimeSpan TableRefreshTimeout
Gets or sets the period between fetching updates from the membership table.

Property value

The membership table is refreshed every 60 seconds by default.

UseLivenessGossip

getset
View source
public bool UseLivenessGossip
Gets or sets a value indicating whether membership updates are disseminated between hosts using gossip.

Property value

Membership updates are disseminated using gossip by default.