GraphDB-Enterprise Management and Control

Skip to end of metadata
Go to start of metadata
This documentation is NOT for the latest version of GraphDB.

Latest version - GraphDB 7.1

GraphDB Documentation

Next versions

GraphDB 6.6
GraphDB 7.0
GraphDB 7.1

Previous versions

GraphDB 6.4
GraphDB 6.3
GraphDB 6.2
GraphDB 6.0 & 6.1

OWLIM 5.4
OWLIM 5.3
OWLIM 5.2
OWLIM 5.1
OWLIM 5.0
OWLIM 4.4
OWLIM 4.3
OWLIM 4.2
OWLIM 4.1
OWLIM 4.0

Managing the cluster through the JMX interface

During initialisation, the GraphDB-Enterprise master node registers a JMX Bean component, which provides methods for monitoring and managing the running cluster. It is registered under "ReplicationCluster:name=ClusterInfo" signature and can be accessed through the standard Java instrumentation tools, e.g. JConsole. The rest of this section provides details about the attributes and operations available.

All parameters are in the ~/repositories/master/cluster.properties file.

Attributes


Name AutoReplication
Type Boolean
Description Indicates whether the cluster has the auto-replication enabled.
Possible values Any non-negative integer.
Interface method public int getAutoReplication();
public void setAutoReplication(boolean enabled);


Name 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();


Name 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();


Name 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 initialisation.
Interface method public int getCompletedReads();


Name 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();


Name 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 initialisation.
Possible values Any non-negative integer value
Interface method public int getCompletedWrites();


Name ConfiguredWritable (deprecated)
Type Boolean
Description This is deprecated (left 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);


Name 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 initialisation.
Possible values Any non-negative integer
Interface method public int getFailedReads();


Name 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();


Name 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();


Name Fingerprints
Type String array
Description Retrieve a list of values representing the fingerprints of the individual nodes in the cluster.
Possible values Unspecified
Interface method public String[] getFingerprints();


Name 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();


Name MasterReplicationPort
Type Integer
Description The port number used by the master node for replication (for online backup/restore or remote replication)
Possible values 1 to 65536
Interface method public int getMasterReplicationPort();
public void setMasterReplicationPort(int value);


Name 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);


Name Mode
Type Enumeration (case-insensitive)
Description Mode of operation of the master node
Possible values normal, mute
Interface method public String getMode();
public void setMode(String mode);
Switching a master's mode requires synchronisation 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.


Name 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:
"[<node status>] <node URI>"
Possible values
UNINITIALIZED 
ON
OFF
REPLICATION_SERVER 
REPLICATION_CLIENT
OUT_OF_SYNC
OUT_OF_SYNC_FORCED
WAITING_WRITE 
WRITING
Interface method public String[] getNodeStatus();


Name 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();


Name 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();


Name 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();


Name PendingWritesLimit
Type Integer
Description Indicates the maximum number of updates that can be queued for processing by the cluster.
Possible values Any non-negative integer.
Interface method public int getPendingWritesLimit();
public void setPendingWritesLimit(int limit);


Name ProtectSingleWorker
Type Boolean
Description Protect a single worker that has remained in sync with the transaction log from serving replication to keep the cluster available.
Possible values true, false
Interface method public boolean getProtectSingleWorker();
public void setProtectSingleWorker(boolean on);


Name RemoteMaster
Type Boolean
Description Indicates if this cluster master can be used for 'remote replication', i.e. whether or not it accepts updates from another cluster master.
Possible values True or false
Interface method public boolean getRemoteMaster();
public void setRemoteMaster(boolean value);


Name RetryKillerUpdates
Type Integer
Description TThe 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);
Updates that are detected to have killed a worker can be retried a number of times before giving up and deeming them failed.


Name 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();


Name 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();


Name 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();


Name Status
Type Integer
Description Indicates the current status of the cluster.
Possible values 0 - available, all nodes up to date and in synch;
1 - needs attention, the attached worker nodes are not in synch or need to be updated
2 - not available - no worker nodes are available for processing requests
Interface method public int getStatus();


Name StatusAsText
Type String
Description Indicates the current status of the cluster in text form.
Possible values "AVAILABLE" - all nodes up to date and in synch;
"NEEDS_ATTENTION" - the attached worker nodes are not in synch or need to be updated
"UNAVAILABLE" - no worker nodes are available for processing requests
Interface method public String getStatusAsText();


Name 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);


Name ClusterStatusSummary
Type String
Description Indicates the extended status of the registered nodes in the cluster as a multi-line string (one line per worker).
"[<node status>] <node URI>"
Possible values
  [ON] http://node1:20000/openrdf-sesame/repositories/worker : rev bf48d774; 3,715,665,920 bytes free; 0 commits; 79 statements; fingerprint: 79
  [ON] http://node2:20000/openrdf-sesame/repositories/worker : rev bf48d774; 3,806,715,904 bytes free; 0 commits; 79 statements; fingerprint: 79
  [ON] http://node3:20000/openrdf-sesame/repositories/worker : rev bf48d774; 3,806,076,928 bytes free; 0 commits; 79 statements; fingerprint: 79 
Interface method public String\ getClusterStatusSummary();


Management Operations


Name addClusterNode
Parameters
  • nodeURI: String - A string holding the full URI of the Sesame end point of the new node, e.g. http://58.181.33.153:8080/openrdf-sesame/repositories/worker1
  • replicationPort: int - The port number to use for replication activity.
  • remoteNotificationsPort: int - The port number used for emitting remote notifications, this can be left blank if it is not required, see remote notifications.
  • readable: boolean - If set to false (the default is true), then this worker node will receive only updates and will not particpate in sharing the cluster's query load.
Description Add a new worker node to the cluster. If the node is a duplicate of an existing one then no error is logged. The same will also happen if the node pointed by the argument is not available.
Interface method public void addClusterNode(String nodeURI, int replicationPort);


Name removeClusterNode
Parameters nodeURI : String - A string holding the full URI of the Sesame end point of the node to be removed.
Description Removes a node from the cluster. Invoking this operation will neither generate an exception nor log an error message.
Interface method public void removeClusterNode(String message);


Name addSyncPeer
Parameters
Description Add a new peer master to the cluster.
Interface method public void addSyncPeer(String id, String url);


Name removeSyncPeer
Parameters
  • id: String - ID of the peer master, e.g. "master2"
Description Remove the peer master from the cluster.
Interface method public void removeSyncPeer(String id);


Name backup
Parameters backupDirectory : String - The full path to a directory on the master node where a backup image will be stored
Description Initiates a backup from a healthy, in-synch worker node to the given directory on the master node.
Interface method public void backup(String backupDirectory);


Name restoreFromImage
Parameters backupDirectory : String - The full path to a directory on the master node where a backup image will be restored from.
Description Initiates a restore from the given directory on the master node. The image will be replicated to each worker node in turn.
Interface method public void restoreFromImage(String backupDirectory);


Name changeSystemTransactionPassword
Parameters oldPassword : String - The old password
  • newPassword : String - The new password
  • newPasswordRetype : String - The new password repeated
Description Change the system transaction password. System transactions include a statement with a special predicate that instructs GraphDB to allow modifications to the imported, read-only schemas/ontologies. The replication cluster introduces a password for such transactions and this must appear in the object position of the 'special' statement, e.g.
_:b1 <http://www.ontotext.com/owlim/system#schemaTransaction> "the_password"

This operation is used to set/change the password.

Interface method {{public void changeSystemTransactionPassword(String oldPassword, String newPassword, String newPasswordRetype);

Notifications

The ReplicationCluster MBean generates notifications for certain events. Users can receive these notifications by subscribing to this MBean (using jconsole, click on the notifications element, then click subscribe). The type and text of these notifications varies, but the following kinds of events are notified:

  • A control query has completed or failed to complete;
  • An RDF statement update has failed, been delayed or timed-out;
  • An RDF read event could not occur (no available workers);
  • A cluster worker node has been added or removed;
  • A worker node status has changed;
  • A worker node update has failed;
  • A worker node is low on disk space;
  • Replication (full/incremental) has started, stopped, failed.
Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.