I try create spring java application with apache ignite inside.
When application startup it deploy service(cluster singleton) to cluster. (it`s ok) But when i start second node which deploy this service too it is locked. why this hapends ? Apache Ignite 2.5.0 code of service class: public class TaskLockWatcher implements Service { @IgniteInstanceResource private Ignite ignite; private SchedulerFuture scheduler; @Override public void cancel(ServiceContext ctx) { LOGGER.info("schedule service cancel"); if (scheduler != null){ scheduler.cancel(); scheduler = null; } } @Override public void init(ServiceContext ctx) throws Exception { LOGGER.info("schedule service init"); } @Override public void execute(ServiceContext ctx) throws Exception { LOGGER.info("schedule service execute"); if (scheduler == null){ scheduler = ignite.scheduler().scheduleLocal(() -> { LOGGER.info("schedule service call"); List<Ticket> tickets = getTicketForUnlock(); if (!tickets.isEmpty()){ changeTicketStatus(tickets, TicketStatus.CREATED); } }, "* * * * *"); } } } But the locking occurs even if I leave only the output of messages in all TaskLockWatcher methods. publishing code: Ignite ignite = connector.getClient(); IgniteServices svcs = ignite.services(); svcs.deployClusterSingleton("taskLockWatcher", new TaskLockWatcher()); ignite configuration code: IgniteConfiguration igniteConfiguration = new IgniteConfiguration(); DataStorageConfiguration dataStorageConfiguration = new DataStorageConfiguration(); dataStorageConfiguration.setWalMode(WALMode.LOG_ONLY); dataStorageConfiguration.getDefaultDataRegionConfiguration().setPersistenceEnabled(false); dataStorageConfiguration.getDefaultDataRegionConfiguration().setMaxSize(128); // MB List<DataRegionConfiguration> list = new ArrayList<>(); DataRegionConfiguration configuration = new DataRegionConfiguration(); configuration.setName("TASK_REGION"); configuration.setMaxSize(1024); configuration.setPersistenceEnabled(true); list.add(conf); dataStorageConfiguration.setDataRegionConfigurations(list.toArray(new DataRegionConfiguration[0])); igniteConfiguration.setDataStorageConfiguration(dataStorageConfiguration); TcpCommunicationSpi tcpCommunicationSpi = new TcpCommunicationSpi(); tcpCommunicationSpi.setSlowClientQueueLimit(1000); igniteConfiguration.setCommunicationSpi(tcpCommunicationSpi); Map<String, String> attrs = Collections.singletonMap("group.node.filter", "CLUSTER_TASKS,CLUSTER_TICKETS"); igniteConfiguration.setUserAttributes(attrs); TcpDiscoverySpi spi = new TcpDiscoverySpi(); TcpDiscoveryZookeeperIpFinder ipFinder = new TcpDiscoveryZookeeperIpFinder(); ipFinder.setBasePath("/datagrid"); ipFinder.setCurator(getCuratorFramework()); spi.setIpFinder(ipFinder); igniteConfiguration.setDiscoverySpi(spi); AtomicConfiguration atomicConfiguration = new AtomicConfiguration(); atomicConfiguration.setBackups(1); atomicConfiguration.setCacheMode(CacheMode.REPLICATED); igniteConfiguration.setAtomicConfiguration(atomicConfiguration); igniteConfiguration.setIncludeEventTypes(EventType.EVTS_CACHE); CacheConfiguration<UUID, Ticket> cacheConfiguration = new CacheConfiguration<>("TICKETS"); cacheConfiguration.setIndexedTypes(keyClass, UUID.class); -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/