[CONTROLLER-2025] Fail to update entity ownership after owner is killed Created: 16/Nov/21  Updated: 20/Jan/22  Resolved: 20/Jan/22

Status: Resolved
Project: controller
Component/s: eos
Affects Version/s: 4.0.7
Fix Version/s: 4.0.8

Type: Bug Priority: High
Reporter: Sangwook Ha Assignee: Tomas Cere
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

After CONTROLLER-2010 is resolved, get-entities RPC returns the entity ownership information after the owner instance is killed, albeit with some delay. However, entity ownership itself is not updated.

For example, in the following test scenario:
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 with get-entities RPC

3 & 5 return the same output:

{
    "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"
            }
        ]
    }
}

 

If the owner is stopped normally, instead of getting forcefully killed, the ownership is updated as expected:

{
    "odl-entity-owners:output": {
        "entities": [
            {
                "type": "org.opendaylight.mdsal.AsyncServiceCloseEntityType",
                "name": "ofp-topology-manager",
                "candidate-nodes": [
                    "member-2"
                ],
                "owner-node": "member-2"
            },
            {
                "type": "org.opendaylight.mdsal.ServiceEntityType",
                "name": "ofp-topology-manager",
                "candidate-nodes": [
                    "member-2",
                    "member-3"
                ],
                "owner-node": "member-2"
            }
        ]
    }
}

Generated at Wed Feb 07 19:57:01 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.