Skip to main content
Version: 4.6

System Operations

Restart

Restarts the Harper instance.

Operation is restricted to super_user roles only

  • operation (required) - must always be restart

Body

{
"operation": "restart"
}

Response: 200

{
"message": "Restarting HarperDB. This may take up to 60 seconds."
}

Restart Service

Restarts servers for the specified Harper service.

Operation is restricted to super_user roles only

  • operation (required) - must always be restart_service
  • service (required) - must be one of: http_workers, clustering_config or clustering
  • replicated (optional) - must be a boolean. If set to true, Harper will replicate the restart service operation across all nodes in the cluster. The restart will occur as a rolling restart, ensuring that each node is fully restarted before the next node begins restarting.

Body

{
"operation": "restart_service",
"service": "http_workers"
}

Response: 200

{
"message": "Restarting http_workers"
}

System Information

Returns detailed metrics on the host system.

Operation is restricted to super_user roles only

  • operation (required) - must always be system_information
  • attributes (optional) - string array of top level attributes desired in the response, if no value is supplied all attributes will be returned. Available attributes are: ['system', 'time', 'cpu', 'memory', 'disk', 'network', 'harperdb_processes', 'table_size', 'metrics', 'threads', 'replication']

Body

{
"operation": "system_information"
}

Set Status

Sets a status value that can be used for application-specific status tracking. Status values are stored in memory and are not persisted across restarts.

Operation is restricted to super_user roles only

  • operation (required) - must always be set_status
  • id (required) - the key identifier for the status
  • status (required) - the status value to set (string between 1-512 characters)

Body

{
"operation": "set_status",
"id": "primary",
"status": "active"
}

Response: 200

{
"id": "primary",
"status": "active",
"__createdtime__": 1621364589543,
"__updatedtime__": 1621364589543
}

Notes

  • The id parameter must be one of the allowed status types: 'primary', 'maintenance', or 'availability'
  • If no id is specified, it defaults to 'primary'
  • For 'availability' status, only 'Available' or 'Unavailable' values are accepted
  • For other status types, any string value is accepted

Get Status

Retrieves a status value previously set with the set_status operation.

Operation is restricted to super_user roles only

  • operation (required) - must always be get_status
  • id (optional) - the key identifier for the status to retrieve (defaults to all statuses if not provided)

Body

{
"operation": "get_status",
"id": "primary"
}

Response: 200

{
"id": "primary",
"status": "active",
"__createdtime__": 1621364589543,
"__updatedtime__": 1621364589543
}

If no id parameter is provided, all status values will be returned:

[
{
"id": "primary",
"status": "active",
"__createdtime__": 1621364589543,
"__updatedtime__": 1621364589543
},
{
"id": "maintenance",
"status": "scheduled",
"__createdtime__": 1621364600123,
"__updatedtime__": 1621364600123
}
]

Clear Status

Removes a status entry by its ID.

Operation is restricted to super_user roles only

  • operation (required) - must always be clear_status
  • id (required) - the key identifier for the status to remove

Body

{
"operation": "clear_status",
"id": "primary"
}

Response: 200

{
"message": "Status successfully cleared"
}