Nodes/{name}/info/deadlock: GET

Displays the waiters that exceed the deadlock detection threshold for the specified node.

Availability

Available on all IBM Storage Scale editions.

Description

The GET scalemgmt/v2/nodes/{name}/info/deadlock request gets the details of the longest waiters that exceed the deadlock detection threshold for the specified node. For more information about the fields in the returned data structure, see mmdiag command.

Request URL

https://<IP address or host name of API server>:<port>/scalemgmt/v2/nodes/{name}/info/deadlock
where
nodes
Specifies the resource for the GET request. Required.
deadlock
Specifies the information that is requested.

Request headers

Accept: application/json

Parameters

The following parameters can be used in the request URL to customize the request:
Table 1. List of request parameters
Parameter name Description and applicable keywords Required/optional
name The name of the node. Required.

Request data

No request data.

Response data

"mmDiagDeadLock"{
  "deadlockDetectionThread": [
    {
      "threadId": "string",
      "threadAddr": string ,
      "waitStartTime": time,
      "waitTime": duration,
      "mutexAddr": "string",
      "mutexName": "string ",
      "auxReason": "string",
      "delayTime": "time ",
      "delayReason": "string ",
      "condVarAddr": "string",
      "condVarName": "string",
      "condVarReason": "string",} }
 ],        
  "deadlockDetectionTimes": [
            {
                "mediumWaiterTime": "integer",
                "overloadCluster": "string",
                "overloadIndex": "string",
                "shortWaiterTime": "string"
            }
        ]
    }
  "status": {
    "code": ReturnCode,
    "message": "ReturnMessage."
  }
}

The details of the parameters are provided in the following list:

mmDiagDeadLock
"deadlockDetectionThread"
An array of all the snap files that are taken using either the GUI or the REST API.
"threadId":"Thread ID"
The ID of the thread.
"threadAdd":"Thread address"
The IP address of the thread.
"waitStartTime":"Time"
The start time of the event.
"waitTime":"Time"
The wait time of the thread.
"mutexAddr":"IP address"
The mutex address.
"mutexName":"Name"
The mutex name.
"auxReason":"Aux Reason"
Additional details on the aux reason.
"delayTime":"Time"
The delay duration.
"delayReason":"Delay reason"
The reason for the delay.
deadlockDetectionTimes
An array of all the snap files that are taken using either the GUI or the REST API.
"mediumWaiterTime":"Time"
The time limit defined for medium waiters.
"overloadCluster":"Name"
The name of the cluster that is overloaded.
"overloadIndex":"Index"
The cluster overload index.
"condVarAddr": "Condition details"
The details required for addressing issues.
"condVarName": "Condition name"
The name of the waiter problem.
"condVarReason": "Condition reason"
The reason for the waiter problem.

Examples

The following example lists the waiters that have exceeded the deadlock detection thresholds.

Request data:
curl -k -u user:password -X GET --header 'accept:application/json' --header 'Authorization: Basic YWRtaW46YWRtaW4wMDE=' 'https://198.51.100.1:443/scalemgmt/v2/nodes/access-41/info/deadlock
Response data:
Note: In the JSON data that is returned, the return code indicates whether the command is successful. The response code 200 indicates that the command successfully retrieved the information. Error code 400 represents an invalid request and 500 represents internal server error.
{
    "mmDiagDeadLock": {
        "deadlockDetectionThread": [{
			"threadId":"",
			"threadAddr":"",
			"waitStartTime":"",
			"waitTime":"",
			"mutexAddr":"",
			"mutexName":"",
                     "auxReason":"",
			"delayTime":"",
			"delayReason":"",
	              "condVarAddr": "",
                     "condVarName": "",
                     "condVarReason": ""
	}],
        "deadlockDetectionTimes": [
            {
                "mediumWaiterTime": "900",
                "overloadCluster": "scale-cluster-4.openstacklocal",
                "overloadIndex": "0.00057",
                "overloaded": "0",
                "shortWaiterTime": "180"
            }
        ]
    },
    "status": {
        "code": 200,
        "message": "The request finished successfully."
    }
}
}