Anton Kurbanov created IGNITE-8834: -------------------------------------- Summary: SqlQuery not throwing exception after partition loss events Key: IGNITE-8834 URL: https://issues.apache.org/jira/browse/IGNITE-8834 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.4 Reporter: Anton Kurbanov
Precondition: 3 server nodes, client listening for partition loss events, partitioned cache with backups = 1, partition loss policy = READ_ONLY_SAFE, stream some data. Kill 2 nodes, call: {code:java} SqlQuery<Integer, Integer> query = new SqlQuery<>(Integer.class, "where _key>0"); query.setLocal(false); List<Cache.Entry<Integer, Integer>> list = cache.query(query).getAll(); {code} Cache configuration: {code:java} public IgniteConfiguration getCfg() { IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setConsistentId(cfg.getIgniteInstanceName()); cfg.setIncludeEventTypes(EventType.EVT_CACHE_REBALANCE_PART_DATA_LOST); TcpDiscoverySpi discovery = new TcpDiscoverySpi(); TcpDiscoveryVmIpFinder finder = new TcpDiscoveryVmIpFinder(); finder.setAddresses(Arrays.asList("127.0.0.1:47500..47509")); discovery.setIpFinder(finder); cfg.setDiscoverySpi(discovery); QueryEntity queryEntity = new QueryEntity(); queryEntity.setKeyType(Integer.class.getName()); queryEntity.setValueType(Integer.class.getName()); cfg.setCacheConfiguration(new CacheConfiguration<Integer, Integer>(CACHE) .setCacheMode(CacheMode.PARTITIONED) .setBackups(1) .setAffinity(new RendezvousAffinityFunction()) .setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC) .setPartitionLossPolicy(PartitionLossPolicy.READ_ONLY_SAFE) .setQueryEntities(Collections.singletonList(queryEntity))); DataStorageConfiguration storageCfg = new DataStorageConfiguration(); storageCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(true); cfg.setDataStorageConfiguration(storageCfg); return cfg; } {code} Query is expected to fail, but succeeds and returns entries from partitions that are alive. -- This message was sent by Atlassian JIRA (v7.6.3#76005)