[ https://issues.apache.org/jira/browse/IGNITE-2396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Goncharuk reassigned IGNITE-2396: ---------------------------------------- Assignee: Alexey Goncharuk > Dynamic cache changes are not tracked by service processor > ---------------------------------------------------------- > > Key: IGNITE-2396 > URL: https://issues.apache.org/jira/browse/IGNITE-2396 > Project: Ignite > Issue Type: Bug > Reporter: Alexey Goncharuk > Assignee: Alexey Goncharuk > Labels: community > Fix For: 1.6 > > > Currently service processor handles only discovery node join/leave/fail > events. Now consider the following two scenarios: > --------------------- > - N nodes are started. Topology version is (N, 0) > - A dynamic cache is created. Topology version is (N, 1) > - An affinity singleton service is deployed. > On step (3), when assignment is calculated, service processor uses topology > version (N, 0) (see > org.apache.ignite.internal.processors.service.GridServiceProcessor.DeploymentListener#onDeployment). > As a result, no affinity nodes are returned for assignment and service is > not deployed. > --------------------- > - N nodes are started. Topology version is (N, 0) > - An affinity singleton service is deployed. > - A dynamic cache is created. Topology version is (N, 1) > On step (3) custom discovery event is generated, but it is not handled by > service processor, so no reassignment logic is triggered and service is not > deployed. > Proposed solution is as follows: > - Use a correct topology version for service deployment > (ctx.discovery().topologyVersionEx()). > - Event listener should handle custom events that trigger dynamic cache > start and stop. > - Additionally need to investigate whether reassignment logic should be in > any way synchronized with the partition exchange future completion. > org.apache.ignite.internal.processors.service.IgniteServiceDynamicCachesSelfTest > is added to master. Need to add it to the services test suite once the fix > is implemented. -- This message was sent by Atlassian JIRA (v6.3.4#6332)