[jira] [Assigned] (IGNITE-8995) FailureHandler executed on error in ScanQuery's IgniteBiPredicate
[ https://issues.apache.org/jira/browse/IGNITE-8995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Gladkikh reassigned IGNITE-8995: Assignee: Ivan Daschinskiy (was: Dmitriy Gladkikh) > FailureHandler executed on error in ScanQuery's IgniteBiPredicate > - > > Key: IGNITE-8995 > URL: https://issues.apache.org/jira/browse/IGNITE-8995 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.5 >Reporter: Dmitriy Gladkikh >Assignee: Ivan Daschinskiy >Priority: Critical > Fix For: 2.7 > > > This code demonstrates this behavior: > {code:java} > import java.util.Collections; > import javax.cache.Cache; > import org.apache.ignite.Ignite; > import org.apache.ignite.IgniteCache; > import org.apache.ignite.Ignition; > import org.apache.ignite.binary.BinaryObject; > import org.apache.ignite.cache.CacheAtomicityMode; > import org.apache.ignite.cache.CacheMode; > import org.apache.ignite.cache.query.QueryCursor; > import org.apache.ignite.cache.query.ScanQuery; > import org.apache.ignite.configuration.CacheConfiguration; > import org.apache.ignite.configuration.DataRegionConfiguration; > import org.apache.ignite.configuration.DataStorageConfiguration; > import org.apache.ignite.configuration.IgniteConfiguration; > import org.apache.ignite.lang.IgniteBiPredicate; > import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; > import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; > /** > * -ea -DIGNITE_QUIET=false > */ > public class ScanQueryIgniteBiPredicateWithError { > private static final String CACHE_NAME = "test_cache_name"; > public static void main(String[] args) { > try (Ignite igniteServer = Ignition.start(getCfg("node_server", > false)); > Ignite igniteClient = Ignition.start(getCfg("node_client", > true))) > { > IgniteCache cache = > igniteClient.cache(CACHE_NAME); > cache.put(1, > igniteClient.binary().builder("test_type").setField("field_0", > "field_0_val").build()); > try (QueryCursor> cursor = > cache.withKeepBinary().query(new ScanQuery<>( > new IgniteBiPredicate() { > @Override public boolean apply(Integer key, BinaryObject > value) { > throw new AssertionError(); // Error. > //return value.field(null) != null; // Error. > //return true; // Ok. > } > }))) > { > for (Cache.Entry entry : cursor) > // Without error in IgniteBiPredicate: > // Key = 1, Val = test_type [idHash=2024711353, > hash=394028655, field_0=val_0] > System.out.printf("Key = %s, Val = %s%n", entry.getKey(), > entry.getValue()); > } > } > } > /** > * @param instanceName Ignite instance name. > * @param clientMode Client mode. > * @return Ignite configuration. > */ > private static IgniteConfiguration getCfg(String instanceName, boolean > clientMode) { > TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(); > > ipFinder.setAddresses(Collections.singletonList("127.0.0.1:47500..47509")); > TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi(); > tcpDiscoverySpi.setIpFinder(ipFinder); > DataRegionConfiguration dataRegionCfg = new DataRegionConfiguration(); > dataRegionCfg.setPersistenceEnabled(true); > DataStorageConfiguration dataStorageCfg = new > DataStorageConfiguration(); > dataStorageCfg.setDefaultDataRegionConfiguration(dataRegionCfg); > CacheConfiguration ccfg = new > CacheConfiguration(CACHE_NAME) > .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL) > .setCacheMode(CacheMode.PARTITIONED); > IgniteConfiguration cfg = new IgniteConfiguration(); > cfg.setIgniteInstanceName(instanceName); > cfg.setDiscoverySpi(tcpDiscoverySpi); > cfg.setDataStorageConfiguration(dataStorageCfg); > cfg.setCacheConfiguration(ccfg); > if (!clientMode) > cfg.setAutoActivationEnabled(true); > else > cfg.setClientMode(true); > return cfg; > } > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (IGNITE-8995) FailureHandler executed on error in ScanQuery's IgniteBiPredicate
[ https://issues.apache.org/jira/browse/IGNITE-8995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Gladkikh reassigned IGNITE-8995: Assignee: Dmitriy Gladkikh > FailureHandler executed on error in ScanQuery's IgniteBiPredicate > - > > Key: IGNITE-8995 > URL: https://issues.apache.org/jira/browse/IGNITE-8995 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.5 >Reporter: Dmitriy Gladkikh >Assignee: Dmitriy Gladkikh >Priority: Major > > This code demonstrates this behavior: > {code:java} > import java.util.Collections; > import javax.cache.Cache; > import org.apache.ignite.Ignite; > import org.apache.ignite.IgniteCache; > import org.apache.ignite.Ignition; > import org.apache.ignite.binary.BinaryObject; > import org.apache.ignite.cache.CacheAtomicityMode; > import org.apache.ignite.cache.CacheMode; > import org.apache.ignite.cache.query.QueryCursor; > import org.apache.ignite.cache.query.ScanQuery; > import org.apache.ignite.configuration.CacheConfiguration; > import org.apache.ignite.configuration.DataRegionConfiguration; > import org.apache.ignite.configuration.DataStorageConfiguration; > import org.apache.ignite.configuration.IgniteConfiguration; > import org.apache.ignite.lang.IgniteBiPredicate; > import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; > import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; > /** > * -ea -DIGNITE_QUIET=false > */ > public class ScanQueryIgniteBiPredicateWithError { > private static final String CACHE_NAME = "test_cache_name"; > public static void main(String[] args) { > try (Ignite igniteServer = Ignition.start(getCfg("node_server", > false)); > Ignite igniteClient = Ignition.start(getCfg("node_client", > true))) > { > IgniteCache cache = > igniteClient.cache(CACHE_NAME); > cache.put(1, > igniteClient.binary().builder("test_type").setField("field_0", > "field_0_val").build()); > try (QueryCursor> cursor = > cache.withKeepBinary().query(new ScanQuery<>( > new IgniteBiPredicate() { > @Override public boolean apply(Integer key, BinaryObject > value) { > throw new AssertionError(); // Error. > //return value.field(null) != null; // Error. > //return true; // Ok. > } > }))) > { > for (Cache.Entry entry : cursor) > // Without error in IgniteBiPredicate: > // Key = 1, Val = test_type [idHash=2024711353, > hash=394028655, field_0=val_0] > System.out.printf("Key = %s, Val = %s%n", entry.getKey(), > entry.getValue()); > } > } > } > /** > * @param instanceName Ignite instance name. > * @param clientMode Client mode. > * @return Ignite configuration. > */ > private static IgniteConfiguration getCfg(String instanceName, boolean > clientMode) { > TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(); > > ipFinder.setAddresses(Collections.singletonList("127.0.0.1:47500..47509")); > TcpDiscoverySpi tcpDiscoverySpi = new TcpDiscoverySpi(); > tcpDiscoverySpi.setIpFinder(ipFinder); > DataRegionConfiguration dataRegionCfg = new DataRegionConfiguration(); > dataRegionCfg.setPersistenceEnabled(true); > DataStorageConfiguration dataStorageCfg = new > DataStorageConfiguration(); > dataStorageCfg.setDefaultDataRegionConfiguration(dataRegionCfg); > CacheConfiguration ccfg = new > CacheConfiguration(CACHE_NAME) > .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL) > .setCacheMode(CacheMode.PARTITIONED); > IgniteConfiguration cfg = new IgniteConfiguration(); > cfg.setIgniteInstanceName(instanceName); > cfg.setDiscoverySpi(tcpDiscoverySpi); > cfg.setDataStorageConfiguration(dataStorageCfg); > cfg.setCacheConfiguration(ccfg); > if (!clientMode) > cfg.setAutoActivationEnabled(true); > else > cfg.setClientMode(true); > return cfg; > } > } > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)