You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexey Goncharuk (JIRA)" <ji...@apache.org> on 2017/06/20 09:48:02 UTC
[jira] [Created] (IGNITE-5554) ServiceProcessor may process failed
reassignments in timeout thread
Alexey Goncharuk created IGNITE-5554:
----------------------------------------
Summary: ServiceProcessor may process failed reassignments in timeout thread
Key: IGNITE-5554
URL: https://issues.apache.org/jira/browse/IGNITE-5554
Project: Ignite
Issue Type: Bug
Components: managed services
Affects Versions: 1.7
Reporter: Alexey Goncharuk
Fix For: 2.2
The following parts of GridServiceProcessor look wrong to me:
In GridServiceProcessor.TopologyListener#onReassignmentFailed
{code}
@Override public void onTimeout() {
onReassignmentFailed(topVer, retries);
}
{code}
And in GridServiceProcessor#onDeployment
{code}
@Override public void onTimeout() {
.....
// Try again.
onDeployment(dep, topVer);
}
{code}
The rest of ServiceProcessor relies on the deployments being processed in a single thread, while this code will be executed in the timeout processor thread. Not only can it take a lot of time to reassign, which will stall the timeout thread, but it may also break the service assignment logic.
The corresponding calls should be wrapped to runnables and submitted to the depExe.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)