User Community Service Desk Downloads
If you can't find the product or version you're looking for, visit support.ataccama.com/downloads

HA REST API

When run in the High Availability mode, each MDM node exposes a REST API, which can be used to check cluster and node status, connect and disconnect nodes, and perform other administrative and monitoring functions.

The API root endpoint is /ha/rest/.

Method Endpoint Description

GET

/clusterStatus

Returns an array of all MDM nodes connected to Zookeeper and their modes.

GET

/nodeInfo?nodeName=<nodeName>

Returns information about the MDM node specified in the nodeName parameter.

GET

/myInfo

Returns information about this MDM node.

GET

/log

Returns the array of last 500 messages from the database logger. Available URL queries:

  • originFilter: /log?originFilter=Mdc7

  • messageFilter: /log?messageFilter=Merge

  • levelFilter: /log?levelFilter=FATAL

Origin and message filter can use * as a wildcard.

POST

/setActiveNode?nodeName=<nodeName>

Manually set a new Active (RW) node.

POST

/connect

Connect this MDM to Zookeeper.

POST

/disconnect

Disconnect this MDM from Zookeeper.

All calls return 503 if the client is not connected to the Zookeeper cluster.

switchReadWriteMode native service (see Native Services) should not be used when working with MDM HA and Zookeeper.
Sample /clusterStatus Response
[
  {
    "hostname": "10.0.66.7",
    "name": "Mdc7",
    "ports": {
      "ha_nme_rest": 19090,
      "ha_default": 18101
    },
    "zookeeperHostname": "10.0.66.1:2181,10.0.66.2:2181,10.0.66.3:2181,10.0.66.4:2181,10.0.66.5:2181",
    "revokeLeadershipOnDisconnectTimeout": 75000,
    "maxActiveToPassiveSwitchingTime": 5000,
    "loggerDataSourceUrl": "jdbc:oracle:thin:@dbase.ataccama.com:1521/ora12c",
    "loggerTableName": "ha_log",
    "mode": "PASSIVE"
  },
  {
    "hostname": "10.0.66.6",
    "name": "mdc6",
    "ports": {
      "ha_nme_rest": 19090,
      "ha_default": 18101
    },
    "zookeeperHostname": "10.0.66.1:2181,10.0.66.2:2181,10.0.66.3:2181,10.0.66.4:2181,10.0.66.5:2181",
    "revokeLeadershipOnDisconnectTimeout": 75000,
    "maxActiveToPassiveSwitchingTime": 5000,
    "loggerDataSourceUrl": "jdbc:oracle:thin:@dbase.ataccama.com:1521/ora12c",
    "loggerTableName": "ha_log",
    "mode": "ACTIVE"
  }
]
Sample /log Response
{
    "id": 50206219,
    "origin": "mdc7",
    "time": 1518004252551,
    "level": "INFO",
    "message": "Task Batch load \"crm_full\" #1 has finished successfully.",
    "stacktrace": null
  },
  {
    "id": 50206218,
    "origin": "mdc7",
    "time": 1518004252521,
    "level": "INFO",
    "message": "#1 Committing has finished.",
    "stacktrace": null
  },
  {
    "id": 50206217,
    "origin": "mdc7",
    "time": 1518004252405,
    "level": "INFO",
    "message": "#1 Committing - NmePersistentMasterType(PANKRAC.child) has finished (3 record(s)).",
    "stacktrace": null
  },
  {
    "id": 50206216,
    "origin": "mdc7",
    "time": 1518004252388,
    "level": "INFO",
    "message": "#1 Committing - NmePersistentMasterType(PANKRAC.child) has started.",
    "stacktrace": null
  }

Connection states (part of node info) that are provided by the Curator:

  • CONNECTED - MDM is connected to the cluster.

  • SUSPENDED - The quorum is lost; the node is trying to restore the connection.

  • RECONNECTED - Connection was successfully restored (from the SUSPENDED state).

  • LOST - Connection is not available; that is, the connection was not successfully restored (from the SUSPENDED state).

Was this page useful?