Attributes

Note

All parameters are in the ~/repositories/master/cluster.properties file, with camel case mapped to hyphenation.

AverageReadTime

Type

Integer

Description

Indicates the average time required across the whole cluster for processing a read request in milliseconds.

Possible values

Any non-negative integer

Interface method

public int getAverageReadTime();

AverageTaskTimes

Type

Integer array

Description

Indicates the average time required for each node for processing a read request in milliseconds.

Possible values

An array of non-negative integer

Interface method

public int getAverageTaskTimes();

ClusterStatusSummary

Type

String

Description
Indicates the extended status of the registered nodes in the cluster as a multi-line string (one line per worker).
“[techcomm-node-status] <node URI>”
Possible values
  • [ON] http://localhost:7200/repositories/worker-node2 : rev 323f6606; 207 242 625 024 bytes free; 0 commits; 102 statements; fingerprint: 102

  • [ON] http://localhost:7200/repositories/worker-node : rev 323f6606; 207 242 625 024 bytes free; 8 commits; 1 907 statements; fingerprint: 41548859156

Interface method

public String getClusterStatusSummary();

CompletedReads

Type

Integer

Description

Indicates the total number of successfully processed read requests.

Possible values

The value is not persistent and will be 0 after initialization.

Interface method

public int getCompletedReads();

CompletedTasks

Type

Integer array

Description

A list of values indicating the number of successful read requests for each node in the cluster, provided in the same order as NodeStatus.

Possible values

A list of non-negative integers

Interface method

public int getCompletedTasks();

CompletedWrites

Type

Integer

Description

Indicates the total number of successful updates processed by the cluster. This value is not persistent and is set to 0 after each cluster initialization.

Possible values

Any non-negative integer value

Interface method

public int getCompletedWrites();

ConfiguredWritable (deprecated)

Type

Boolean

Description

This is deprecated (from OWLIM 5.4) and has no effect in GraphDB. It used to indicate if the cluster is configured to process update requests. It might be used in future versions to temporarily disable the updates during a RollingUpgrade.

Possible values

True or false

Interface method
  • public boolean getConfiguredWritable();

  • public void setConfiguredWritable(boolean writable);

FailedReads

Type

Integer

Description

Indicates the total number of failed read requests for the cluster. The value is not persistent and will be 0 after initialization.

Possible values

Any non-negative integer

Interface method

public int getFailedReads();

FailedTasks

Type

Integer array

Description

Indicates the total number of failed read requests for each node in the cluster.

Possible values

A list of non-negative integers

Interface method

public int getFailedTasks();

FailedWrites

Type

Integer

Description

Indicates the total number of failed updates. An update may fail if there is a problem with the control node on which the update is first probed. The value may also reflect the number of rejected updates, because some node is not available or needs replication.

Possible values

Any non-negative integer value

Interface method

public int getFailedWrites();

Fingerprints

Type

String array

Description

Retrieves a list of values representing the fingerprints of the individual nodes in the cluster.

Possible values

Unspecified

Interface method

public String getFingerprints();

FullReplicationTimeFactor

Type

Float

Description

The minimum time improvement factor required for replication. If the execution of the remaining updates would take at least as long as the time required for replication multiplied by this factor, a worker would be replicated instead of running the updates.

Possible values

Any

Interface method
  • public float getFullReplicationTimeFactor();

  • public void setFullReplicationTimeFactor(float fullReplicationTimeFactor);

IgnoreWorkerFaults

Type

Integer

Description

The number of consecutive worker communication faults ignored before deeming a worker OFF.

Possible values

Any non-negative integer. A value of 0 means that the worker will be OFF upon the first fault.

Interface method
  • public int getIgnoreWorkerFaults();

  • public void setIgnoreWorkerFaults(int n);

LogMaxDepth

Type

Integer

Description

The maximum age of transactions stored in the log, in minutes. Stale transactions are cleared on an hourly basis. Only executed transactions are removed.

Possible values

All

Interface method
  • public int getLogMaxDepth();

  • public void setLogMaxDepth(int hrs);

LogMaxSize

Type

Integer

Description

The maximum number of transactions stored in the log. The log is cleared down to this size whenever it overgrows it by 20%. Only executed transactions are removed.

Possible values

All

Interface method
  • public int getLogMaxSize();

  • public void setLogMaxSize(int n);

IsWritable

Type

Boolean

Description

Indicates whether the current state of the cluster allows for the processing of update requests.

Possible values

True or false

Interface method

public boolean getIsWritable();

MasterUrl

Type

String

Description

The repository URL used by the master node for replication (for online backup/restore or remote replication)

Possible values

Any valid URL

Interface method
  • public String getMasterUrl();

  • public void setMasterUrl(String value);

MaxWorkerLag

Type

Integer

Description

The maximum number of commits a worker is allowed to run ahead of the slowest worker in the DC.

Possible values

Any integer. A negative value means no restriction on the lag. Use of this feature may cause unstable behavior.

Interface method
  • public int getMaxWorkerLag();

  • public void setMaxWorkerLag(int n);

MaximumPeerLag

Type

Double

Description

The maximum peer lag in seconds. When a peer has been unavailable for a period of time exceeding the maximum lag, other peers will backup their current states and will continue the execution of updates.

Possible values

All

Interface method
  • public double getMaximumPeerLag();

  • public void setMaximumPeerLag(double s);

MinTimeToConsiderFullReplicationS

Type

Long

Description

The minimum total time required for the execution of the remaining queued updates before considering a full replication of the worker.

Possible values

All

Interface method
  • public long getMinTimeToConsiderFullReplicationS();

  • public void setMinTimeToConsiderFullReplicationS(long minTimeToConsiderFullReplicationS);

Mode

Type

Enumeration (case-insensitive)

Description

The mode of operation of the master node

Possible values

Normal, Mute

Interface method
  • public String getMode();

  • public void setMode(String mode);

Note

Switching a master’s mode requires synchronization with the rest of the cluster, so setting the mode will succeed only after every peer has been notified of the change. Switching will fail in case a peer cannot be notified for any reason whatsoever, and, as a direct consequence, a master’s mode cannot be switched during a split.

NetSpeedBitsPerSec

Type

Long

Description

The net speed in bps. Used for estimating the replication times and for assigning sane timeouts.

Possible values

All

Interface method
  • public long getNetSpeedBitsPerSec();

  • public void setNetSpeedBitsPerSec(long netSpeedBitsPerSec);

NodeID

Type

String

Description

The cluster-wide unique identifier of the master node

Possible values

All

Interface method
  • public String getNodeID()

  • public void setNodeID(String id);

NodeStatus

Type

String array

Description

Indicates the status of the registered nodes in the cluster as an array of strings, where values have the following format: “[techcomm-node-status] <node URI>”

Possible values
  • ON

  • OFF

  • REPLICATION_SERVER

  • REPLICATION_CLIENT

  • OUT_OF_SYNC

  • OUT_OF_SYNC_FORCED

  • WAITING_WRITE

  • WRITING

Interface method

public String getNodeStatus();

NumberOfExplicitTriples

Type

Long

Description

Indicates the number of explicit triples asserted in the cluster.

Possible values

Any non-negative long integer value

Interface method

public long getNumberOfExplicitTriples();

NumberOfTriples

Type

Long

Description

Indicates the total number of statements indexed with regard to the most recent update.

Possible values

Any non-negative long integer value

Interface method

public long getNumberOfTriples();

PendingWrites

Type

Integer

Description

Indicates the number of updates in the queue waiting to be processed by the cluster.

Possible values

Any non-negative integer

Interface method

public int getPendingWrites();

ProtectSingleWorker

Type

Boolean

Description

Protects a single worker that has remained in sync with the transaction log from serving replication to keep the cluster available.

Possible values

True or false

Interface method
  • public boolean getProtectSingleWorker();

  • public void setProtectSingleWorker(boolean on);

ReadOnly

Type

Boolean

Description

The read-only status of the master node. A read-only master will not accept or execute updates.

Possible values

True or false

Interface method
  • public boolean getReadOnly();

  • public void setReadOnly(boolean on);

RetryKillerUpdates

Type

Integer

Description

The number of times an update detected to have killed a worker retries to pass on another worker.

Possible values

Any non-negative integer. Default is 0 (no retries).

Interface method
  • public int getRetryKillerUpdates();

  • public void setRetryKillerUpdates(int retries);

RunningReads

Type

Integer array

Description

Indicates the total number of read requests currently being processed by the whole cluster.

Possible values

An array of any non-negative integers

Interface method

public int getRunningReads();

RunningTasks

Type

Integer array

Description

Indicates the number of read requests currently being processed by each node in the cluster.

Possible values

An array of any non-negative integers

Interface method

public int getRunningTasks();

RunningWrites

Type

Integer

Description

Indicates the number of updates currently being processed by the cluster.

Possible values

Currently only a single update could be processed at given point of time so the only possible values are 0 or 1.

Interface method

public int getRunningWrites();

SlowOpThresholdMs

Type

Long

Description

The threshold after which an operation would be considered slow, and the master would fire a notification about it. A value of 0 turns the feature off.

Possible values

All

Interface method
  • public long getSlowOpThresholdMs();

  • public void setSlowOpThresholdMs(long thresholdMs);

SplitRecovery

Type

Enumeration (validated, case-insensitive)

Description

The strategy used by the master to recover from a cluster split.

Possible values

None, Simple, Smart

Interface method
  • public String getSplitRecovery();

  • public void setSplitRecovery(String strategy);

A master node can recover from a cluster split using a number of pre-defined strategies. The following strategies are currently available:

None

No action:
  • no backup will be taken upon split detection;

  • updates will not be delayed upon split;

  • no workers will be restored from backup upon re-joining the cluster.

Simple

Resync and replay from last known good state:
  • backup from an up-to-date worker will be taken upon split detection;

  • updates will only continue execution after the MaxPeerLag interval expires or the cluster is re-joined;

  • all workers will be restored to the last known good state before the split;

  • transactions after the split will be re-synced across the cluster and re-executed.

Smart

(Unstable, experimental)

Like Simple, except that after re-joining the cluster, one master’s state will be deemed correct. All masters in non-matching states will restore their workers to the last known good state and replay the resynced log on it.

Status

Type

Integer

Description

Indicates the current status of the cluster.

Possible values
  • 0 - available, all nodes up to date and in sync;

  • 1 - needs attention, the attached worker nodes are not in sync or need to be updated

  • 2 - not available, no worker nodes are available for processing requests

Interface method

public int getStatus();

StatusAsText

Type

String

Description

Indicates the current status of the cluster in text form.

Possible values
  • AVAILABLE - all nodes up to date and in sync;

  • NEEDS_ATTENTION - the attached worker nodes are not in sync or need to be updated

  • UNAVAILABLE - no worker nodes are available for processing requests

Interface method

public String getStatusAsText();

StrictlyConsistent

Type

Boolean

Description

The strict consistency setting for the master node. A strictly consistent master will only send queries to workers that have executed all updates completed up to the submission of the query.

Possible values

True or false

Interface method
  • public boolean getStrictlyConsistent();

  • public void setStrictlyConsistent(boolean on);

SyncPeers

Type

String

Description

The current list of sync peers with their last known states.

Possible values

All

Interface method

public String[] getSyncPeers();

Timeout

Type

Integer

Description

The cluster timeout period used when executing update operations in seconds.

Possible values

Any non-negative integer value

Interface method
  • public long getTimeout();

  • public void setTimeout(int timeout);