Skip to main content

Maintenance API

These high availability clustering-specific REST endpoints allow the user to inspect and manipulate the state of a node in an Orient database cluster. The expectation is that these will be used mainly for troubleshooting and recovery operations.

Warning

High Availability Clustering is a legacy feature that only works on the Orient database. Use our high availability or resilient deployment options described in Resiliency and High Availability.

Introduction

Possible Database Names: component, config, security

Endpoints

Check Database

PUT /service/rest/v1/maintenance/{databaseName}/check

Checks database pages for corruption and checks that indices cover all records (i.e. no duplicates).

curl -u admin:admin123 -X PUT http://localhost:8081/service/rest/v1/maintenance/component/check

Example Response

{
  "pageCorruption": false,
  "indexErrors" : 0
}

Reinstall Database

PUT /service/rest/v1/maintenance/{databaseName}/reinstall

Attempts to reinstall the full database from the rest of the cluster.

The user can't force a reinstall from a specific node, but typically Orient will choose the node that most recently took a backup or the oldest member (assuming that's not the node requesting the reinstall)

curl -u admin:admin123 -X PUT http://localhost:8081/service/rest/v1/maintenance/component/reinstall

Example Response

{
  "reinstalled" : true
}

Database Role

This attribute represents the role of the database node in an Orient cluster. The role of MASTER represents a fully writable database node in an Orient cluster that participates in the writeQuorum. The role of REPLICA represents a database node in read-only mode which accepts only idempotent commands, e.g. read and queries.

Possible Roles: MASTER, REPLICA

Get Role

GET /service/rest/v1/maintenance/{databaseName}/role
curl -u admin:admin123 -X GET http://localhost:8081/service/rest/v1/maintenance/component/role

Example Response

MASTER

Set Role

PUT /service/rest/v1/maintenance/{databaseName}/role

When setting a database node's role to REPLICA an override is added to Orient's configuration so that node will always be a REPLICA, regardless of the cluster's default role. When the database node is set back to MASTER that override is removed, so it will defer to the cluster's default role - which is MASTER unless it's been frozen.

curl -u admin:admin123 -X PUT http://localhost:8081/service/rest/v1/maintenance/component/role -H "Content-Type: text/plain" -d "MASTER"

Example Response

Database Status

This attribute represents the status of the database node in an Orient cluster. The status of ONLINE represents a database node in a normal state that is fully participating in the cluster. The status of OFFLINE represents a database node that is not currently participating in the cluster. The status of NOT_AVAILABLE represents a database node that is not currently available for some reason.

Possible Statuses: ONLINE, OFFLINE, NOT_AVAILABLE

Get Status

GET /service/rest/v1/maintenance/{databaseName}/status
curl -u admin:admin123 -X GET http://localhost:8081/service/rest/v1/maintenance/component/status

Example Response

ONLINE

Set Status

Setting the database status to NOT_AVAILABLE triggers an automatic delta-sync with the rest of the cluster. If this is successful, it will move back to ONLINE.

PUT /service/rest/v1/maintenance/{databaseName}/status
curl -u admin:admin123 -X PUT http://localhost:8081/service/rest/v1/maintenance/component/status -H "Content-Type: text/plain" -d "ONLINE"