[JBoss JIRA] (WFCORE-1612) Allow applying the same configuration changes to multiple Standalone nodes
by Tomaz Cerar (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1612?page=com.atlassian.jira.plugi... ]
Tomaz Cerar commented on WFCORE-1612:
-------------------------------------
Well, than just connect to each standalone server separately and apply changes, I don't see what could we do to help with this kind of scenario.
you need some coordinator "server" which pushes updates to all standalone servers.
Our ootb solution for that is domain mode, but with standalone you can do it with some other server / tool that does that for you.
maybe ansible or something like that.
> Allow applying the same configuration changes to multiple Standalone nodes
> --------------------------------------------------------------------------
>
> Key: WFCORE-1612
> URL: https://issues.jboss.org/browse/WFCORE-1612
> Project: WildFly Core
> Issue Type: Feature Request
> Reporter: Sebastian Łaskawiec
> Assignee: Brian Stansberry
>
> I would like to request a supporting configuration changes to multiple standalone nodes the same way as currently DMR in domain mode works.
> The main motivation behind that is using WF based Projects (like Infinispan HotRod Server) in the Cloud. By using DMR we can ensure changing configuration on the fly, which is very important in our case.
> In Infinispan project we use DMR to propagate configuration changes to all nodes in the cluster (e.g. adding a cache, changing it etc). When considering Cloud deployment we use Standalone mode. It would be nice to find a way to propagate configuration changes to all servers the same way as we do in Domain mode.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 10 months
[JBoss JIRA] (WFCORE-1616) ServerSuspendHandler tries to do step completion and rollback handling in a different thread
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1616?page=com.atlassian.jira.plugi... ]
Brian Stansberry commented on WFCORE-1616:
------------------------------------------
[~swd847] I'm not sure what semantics you wanted here. Was it to have the management op block until suspend is done (however long that may be), and thus support rolling back regardless of how long suspend takes? Or was it to support rollback only for the 1) case, where the suspend is immediate?
Blocking sounds better, although potentially indefinite blocking with the management lock held is a concern.
> ServerSuspendHandler tries to do step completion and rollback handling in a different thread
> --------------------------------------------------------------------------------------------
>
> Key: WFCORE-1616
> URL: https://issues.jboss.org/browse/WFCORE-1616
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management
> Reporter: Brian Stansberry
>
> ServerSuspendHandler is calling OperationContext.completeStep() and passing in a rollback handler from a org.jboss.as.server.suspend.OperationListener that may be invoked by a different thread. The OperationContext is not intended to be invoked from multiple threads in this way.
> 3 things can happen with this setup:
> 1) There is no activity preventing suspend, so the suspend controller immediately calls back to the OperationListener on the thread that's handling the operation. So then things work fine.
> 2) There is something that prevents synchronous suspend (i.e. user activity) so then the OperationListener gets invoked later by another thread. The completeStep call registers a rollback handler that will never get called because the op is already done. No harm, no foul unless the operation rolled back.
> 3) Same as 2) but the OperationListener gets invoked later by another thread while the mgmt op is still executing and somehow something goes wrong, since AbstractOperationContext.Step is not written for concurrent modification.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 10 months
[JBoss JIRA] (WFCORE-1616) ServerSuspendHandler tries to do step completion and rollback handling in a different thread
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1616?page=com.atlassian.jira.plugi... ]
Brian Stansberry commented on WFCORE-1616:
------------------------------------------
https://github.com/bstansberry/wildfly-core/commit/f3ee7eea232c0517bf4be3... adds the missing standard assert that AbstractOperationContext uses on other methods to ensure that only valid threads are invoking on it. This will cause the 2) and 3) cases from the JIRA description to fail. https://ci.wildfly.org/viewLog.html?buildId=19472&tab=buildResultsDiv&bui... is a test run that I expect to fail due to this.
> ServerSuspendHandler tries to do step completion and rollback handling in a different thread
> --------------------------------------------------------------------------------------------
>
> Key: WFCORE-1616
> URL: https://issues.jboss.org/browse/WFCORE-1616
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management
> Reporter: Brian Stansberry
>
> ServerSuspendHandler is calling OperationContext.completeStep() and passing in a rollback handler from a org.jboss.as.server.suspend.OperationListener that may be invoked by a different thread. The OperationContext is not intended to be invoked from multiple threads in this way.
> 3 things can happen with this setup:
> 1) There is no activity preventing suspend, so the suspend controller immediately calls back to the OperationListener on the thread that's handling the operation. So then things work fine.
> 2) There is something that prevents synchronous suspend (i.e. user activity) so then the OperationListener gets invoked later by another thread. The completeStep call registers a rollback handler that will never get called because the op is already done. No harm, no foul unless the operation rolled back.
> 3) Same as 2) but the OperationListener gets invoked later by another thread while the mgmt op is still executing and somehow something goes wrong, since AbstractOperationContext.Step is not written for concurrent modification.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 10 months
[JBoss JIRA] (WFCORE-1616) ServerSuspendHandler tries to do step completion and rollback handling in a different thread
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1616?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFCORE-1616:
-------------------------------------
Description:
ServerSuspendHandler is calling OperationContext.completeStep() and passing in a rollback handler from a org.jboss.as.server.suspend.OperationListener that may be invoked by a different thread. The OperationContext is not intended to be invoked from multiple threads in this way.
3 things can happen with this setup:
1) There is no activity preventing suspend, so the suspend controller immediately calls back to the OperationListener on the thread that's handling the operation. So then things work fine.
2) There is something that prevents synchronous suspend (i.e. user activity) so then the OperationListener gets invoked later by another thread. The completeStep call registers a rollback handler that will never get called because the op is already done. No harm, no foul unless the operation rolled back.
3) Same as 2) but the OperationListener gets invoked later by another thread while the mgmt op is still executing and somehow something goes wrong, since AbstractOperationContext.Step is not written for concurrent modification.
was:
ServerSuspendHandler is calling OperationContext.completeStep() and passing in a rollback handler from a org.jboss.as.server.suspend.OperationListener that may be invoked by a different thread. The OperationContext is not intended to be invoked from multiple threads in this way.
4 things can happen with this setup:
1) There is no activity preventing suspend, so the suspend controller immediately calls back to the OperationListener on the thread that's handling the operation. So then things work fine.
2) There is something that prevents synchronous suspend (i.e. user activity) so then the OperationListener gets invoked later by another thread. The completeStep call registers a rollback handler that will never get called because the op is already done. No harm, no foul unless the operation rolled back.
3) Same as 2) but the OperationListener gets invoked later by another thread while the mgmt op is still executing and somehow something goes wrong, since AbstractOperationContext.Step is not written for concurrent modification.
4) Same as 2) but assertions are enabled and the OperationContext rejects the call with an AssertionError, impacting the SuspendController functionality.
> ServerSuspendHandler tries to do step completion and rollback handling in a different thread
> --------------------------------------------------------------------------------------------
>
> Key: WFCORE-1616
> URL: https://issues.jboss.org/browse/WFCORE-1616
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management
> Reporter: Brian Stansberry
>
> ServerSuspendHandler is calling OperationContext.completeStep() and passing in a rollback handler from a org.jboss.as.server.suspend.OperationListener that may be invoked by a different thread. The OperationContext is not intended to be invoked from multiple threads in this way.
> 3 things can happen with this setup:
> 1) There is no activity preventing suspend, so the suspend controller immediately calls back to the OperationListener on the thread that's handling the operation. So then things work fine.
> 2) There is something that prevents synchronous suspend (i.e. user activity) so then the OperationListener gets invoked later by another thread. The completeStep call registers a rollback handler that will never get called because the op is already done. No harm, no foul unless the operation rolled back.
> 3) Same as 2) but the OperationListener gets invoked later by another thread while the mgmt op is still executing and somehow something goes wrong, since AbstractOperationContext.Step is not written for concurrent modification.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 10 months