[ https://issues.apache.org/jira/browse/IGNITE-8834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Kurbanov resolved IGNITE-8834. ------------------------------------ Resolution: Fixed Fix Version/s: 2.7 > 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, 2.5 > Reporter: Anton Kurbanov > Priority: Major > Labels: sql-stability > Fix For: 2.7 > > > > 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)