Description
Get Entities RPC call returns "RPC failed" after the owner of entity is killed.
To reproduce:
1. Set up 3-node cluster
2. Install OpenFlow flow service (odl-openflowplugin-flow-services-rest)
3. Get the list of entities with get-entities RPC
4. Kill the owner: e.g. on the host of the owner, run kill -9 <CONTROLLER_PID>
5. Get the list of entities from one of the two instances still running: returns "RPC failed" with status code of 500
Example of the response of get-entities in step 2:
POST /rests/operations/odl-entity-owners:get-entities
{
"odl-entity-owners:output": {
"entities": [
{
"type": "org.opendaylight.mdsal.AsyncServiceCloseEntityType",
"name": "ofp-topology-manager",
"candidate-nodes": [
"member-1"
],
"owner-node": "member-1"
},
{
"type": "org.opendaylight.mdsal.ServiceEntityType",
"name": "ofp-topology-manager",
"candidate-nodes": [
"member-1",
"member-2",
"member-3"
],
"owner-node": "member-1"
}
]
}
}
Response of get-entities in step 5 after killing 'member-1':
POST /rests/operations/odl-entity-owners:get-entities
{
"errors": {
"error": [
{
"error-tag": "operation-failed",
"error-info": "<severity>error</severity>",
"error-message": "RPC failed",
"error-type": "rpc"
}
]
}
}
Attachments
| # | Subject | Branch | Project | Status | CR | V |
|---|---|---|---|---|---|---|
| 98466,2 | Add an actor for entity rpc execution. | master | controller | Status: MERGED | +2 | +1 |