[ https://issues.apache.org/jira/browse/IGNITE-8134?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dmitriy Pavlov updated IGNITE-8134: ----------------------------------- Fix Version/s: (was: 2.6) 2.7 > Services can't be deployed on servers outside of baseline topology > ------------------------------------------------------------------ > > Key: IGNITE-8134 > URL: https://issues.apache.org/jira/browse/IGNITE-8134 > Project: Ignite > Issue Type: Bug > Components: managed services, persistence > Affects Versions: 2.4 > Reporter: Stanislav Lukyanov > Assignee: Denis Mekhanikov > Priority: Major > Fix For: 2.7 > > > If a node is not a part of the baseline topology, the services will never be > deployed on it. In particular, if that node calls a synchronous deploy* > method, the method will hang. > After the node is added to the baseline, all previously initiated > deployments succeed (and deploy* methods return). > It seems that the issue is with the continuous query started by the > GridServiceProcessor on the ignite-sys-cache. > Example: > ===================== > {code} > public class BltServicesBug { > public static void main(String[] args) { > // start one node > IgniteConfiguration cfg1 = new IgniteConfiguration() > .setIgniteInstanceName("node1") > .setDataStorageConfiguration( > new DataStorageConfiguration() > .setDefaultDataRegionConfiguration( > new DataRegionConfiguration() > .setPersistenceEnabled(true) > ) > ); > try (Ignite ignite1 = Ignition.start(cfg1)) { > // activate and set baseline topology > ignite1.cluster().active(true); > // start another node > IgniteConfiguration cfg2 = new IgniteConfiguration(cfg1) > .setIgniteInstanceName("node2"); > try (Ignite ignite2 = Ignition.start(cfg2)) { > // try to deploy a service; > // this call hangs until the second node is added to the BLT > (e.g. externally via control.sh) > ignite2.services().deployNodeSingleton("myService", new > MyServiceImpl()); System.out.println(">>>>> Deployed"); } > } > } > private static class MyServiceImpl implements Service { > @Override public void cancel(ServiceContext ctx) { } > @Override public void init(ServiceContext ctx) { } > @Override public void execute(ServiceContext ctx) { } > } > } > } > {code} > ===================== -- This message was sent by Atlassian JIRA (v7.6.3#76005)