qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Wall (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (QPID-6996) Can't make a node master twice
Date Wed, 13 Jan 2016 14:31:39 GMT

     [ https://issues.apache.org/jira/browse/QPID-6996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Keith Wall updated QPID-6996:
-----------------------------
    Description: 
The Java Broker's BDB HA implementation permits the mastership to be transferred around the
group.  To initiate this change, a user mutates the model attribute "role" on object {{BDBHAVHN}}
or {{BDBHARRN}} to have the value {{MASTER}} through a management interface.

If I make this change once, the change is effective.  If later the mastership moves again
(as a result of a failure and subsequent election or a transfer master elsewhere in the group),
the attempt to move the mastership back to this node is ignored (defect).

The issue is that ACO#changeAttributes blocks the subsequent change because it does not know
that attribute's value is anything other than {{MASTER}}.  This is because BDBHAVHN#setRole
(happens asynchronously as the mastership changes) updates only the CO view of the attribute
(#_role), leaving ACO#_attributes.get(ROLE) with a stale value {{MASTER}}.  The Broker containing
the node needs to be bounce to correct the state problem.

The main use-case for transfer master is to restore the master to its business as usual position
following a device failure.  This use-case is not affected by this defect.

  was:
The Java Broker's BDB HA implementation permits the mastership to be transferred around the
group.  To initiate this change, a user mutates the model attribute "role" on object {{BDBHAVHN}}
or {{BDBHARRN}} to have the value {{MASTER}} through a management interface.

If I make this change once, the change is effective.  If later the mastership moves again
(as a result of a failure and subsequent election or a transfer master elsewhere in the group),
the attempt to move the mastership back to this node is ignored (defect).

The issue is that ACO#changeAttributes blocks the subsequent change because it does not know
that attribute's value is anything other than {{MASTER}}.  This is because BDBHAVHN#setRole
(happens asynchronously as the mastership changes) updates only the CO view of the attribute
(#_role), leaving ACO#_attributes.get(ROLE) with a stale value {{MASTER}}.  The Broker containing
the node needs to be bounce to correct the state problem.

The main use-case for transfer master is to restore the master to its business as usual position
following a device failure.  This use-case is affected by this defect.


> Can't make a node master twice 
> -------------------------------
>
>                 Key: QPID-6996
>                 URL: https://issues.apache.org/jira/browse/QPID-6996
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.30, 0.32, qpid-java-6.0
>            Reporter: Keith Wall
>            Priority: Minor
>
> The Java Broker's BDB HA implementation permits the mastership to be transferred around
the group.  To initiate this change, a user mutates the model attribute "role" on object {{BDBHAVHN}}
or {{BDBHARRN}} to have the value {{MASTER}} through a management interface.
> If I make this change once, the change is effective.  If later the mastership moves again
(as a result of a failure and subsequent election or a transfer master elsewhere in the group),
the attempt to move the mastership back to this node is ignored (defect).
> The issue is that ACO#changeAttributes blocks the subsequent change because it does not
know that attribute's value is anything other than {{MASTER}}.  This is because BDBHAVHN#setRole
(happens asynchronously as the mastership changes) updates only the CO view of the attribute
(#_role), leaving ACO#_attributes.get(ROLE) with a stale value {{MASTER}}.  The Broker containing
the node needs to be bounce to correct the state problem.
> The main use-case for transfer master is to restore the master to its business as usual
position following a device failure.  This use-case is not affected by this defect.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message