Aleksey Plekhanov created IGNITE-11670: ------------------------------------------
Summary: Java thin client: Queries are inconsistent in case of failover Key: IGNITE-11670 URL: https://issues.apache.org/jira/browse/IGNITE-11670 Project: Ignite Issue Type: Bug Components: thin client Reporter: Aleksey Plekhanov When a thin client does failover and switches to a new server, open cursors become inconsistent and silently returns the wrong result. Reproducer: {code:java} public void testQueryFailover() throws Exception { try (LocalIgniteCluster cluster = LocalIgniteCluster.start(1); IgniteClient client = Ignition.startClient(new ClientConfiguration() .setAddresses(cluster.clientAddresses().iterator().next())) ) { ObjectName mbeanName = U.makeMBeanName(Ignition.allGrids().get(0).name(), "Clients", ClientListenerProcessor.class.getSimpleName()); ClientProcessorMXBean mxBean = MBeanServerInvocationHandler.newProxyInstance( ManagementFactory.getPlatformMBeanServer(), mbeanName, ClientProcessorMXBean.class, true); ClientCache<Integer, Integer> cache = client.createCache("cache"); cache.put(0, 0); cache.put(1, 1); Query<Cache.Entry<Integer, String>> qry = new ScanQuery<Integer, String>().setPageSize(1); try (QueryCursor<Cache.Entry<Integer, String>> cur = cache.query(qry)) { int cnt = 0; for (Iterator<Cache.Entry<Integer, String>> it = cur.iterator(); it.hasNext(); it.next()) { cnt++; if (cnt == 1) mxBean.dropAllConnections(); } assertEquals(2, cnt); } } } {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)