Brian Stansberry created WFCORE-990:
---------------------------------------
Summary: Eliminate possible races in determining if a reconnecting server
requires reload
Key: WFCORE-990
URL:
https://issues.jboss.org/browse/WFCORE-990
Project: WildFly Core
Issue Type: Bug
Components: Domain Management
Reporter: Brian Stansberry
Tracking on the HostController as to whether a disconnected server requires reload is
vulnerable to races where the slave HC reconnects to the master and makes its calculations
and then further changes come in from the DC before the slave's server(s) have
reconnected. Those changes should trigger the server going into reload required.
I think the cleanest way to handle this is when the server reconnects instead of replying
with a simple boolean as to whether reload required state is needed, the response can be
more complex, including, if the HC thinks reload is *not* required, the entire resource
tree the HC would currently expect for the server. (I don't expect this to be a
trivial task.) The server can then compare that tree to its own. This can be done in a
transactional manner, with the server commiting the transaction when its check is
completed. This ensures the HC's model controller lock is held throughout, and
therefore further changes cannnot come in until the server is fully integrated.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)