[jira] [Created] (IGNITE-12881) Add test discovery messages interception configuration through TestTcpDiscoverySpi.
PetrovMikhail created IGNITE-12881: -- Summary: Add test discovery messages interception configuration through TestTcpDiscoverySpi. Key: IGNITE-12881 URL: https://issues.apache.org/jira/browse/IGNITE-12881 Project: Ignite Issue Type: Improvement Reporter: PetrovMikhail Assignee: PetrovMikhail It's needed to add the ability to configure multiple DiscoveryHook instances through TestTcpDiscoverySpi for discovery messages interception. It helps to avoid redefinition of the TestTcpDiscoverySpi and its reconfiguration. The current approach is as follows: {code:java} TcpDiscoverySpi spi = new TestTcpDiscoverySpi() { @Override public void setListener(@Nullable DiscoverySpiListener lsnr) { super.setListener(DiscoverySpiListenerWrapper.wrap(lsnr, discoveryHook)); } }; spi.setIpFinder(((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder()); {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12879) Change DiscoveryHook methods naming.
PetrovMikhail created IGNITE-12879: -- Summary: Change DiscoveryHook methods naming. Key: IGNITE-12879 URL: https://issues.apache.org/jira/browse/IGNITE-12879 Project: Ignite Issue Type: Improvement Reporter: PetrovMikhail Assignee: PetrovMikhail It's needed to change DiscoveryHook class method naming to the following: {code:java} public void beforeDiscovery(DiscoverySpiCustomMessage msg) public void afterDiscovery(DiscoverySpiCustomMessage msg) {code} It helps to clarify the purpose of the methods. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12866) CQ fails due to CQ filter deserialization exception.
PetrovMikhail created IGNITE-12866: -- Summary: CQ fails due to CQ filter deserialization exception. Key: IGNITE-12866 URL: https://issues.apache.org/jira/browse/IGNITE-12866 Project: Ignite Issue Type: Bug Reporter: PetrovMikhail CQ fails if CQ filter deserialization exception occurred on a node that does not match the cache node filter in case cache node filter must be loaded via p2p. Reproducer is linked as PR to the ticket. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12865) NPE occurs during CQ registration with cache node filter specified.
PetrovMikhail created IGNITE-12865: -- Summary: NPE occurs during CQ registration with cache node filter specified. Key: IGNITE-12865 URL: https://issues.apache.org/jira/browse/IGNITE-12865 Project: Ignite Issue Type: Bug Reporter: PetrovMikhail NPE occurs during CQ registration if 1. Node that starts cache does not match cache node filter. 2. CQ is started on node that matches cache node filter. Reproducer: {code:java} /** */ @Test public void test() throws Exception { IgniteEx filteredNode = startGrid(0); IgniteEx cacheStoreNode = startGrid(1); filteredNode.cluster().state(ClusterState.ACTIVE); filteredNode.createCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME) .setNodeFilter(node -> !node.id().equals(filteredNode.localNode().id(; ContinuousQuery qry = new ContinuousQuery<>(); qry.setLocalListener(evts -> { //No-op. }); cacheStoreNode.cache(DEFAULT_CACHE_NAME).query(qry); } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12589) Remote thin client operations are not authorized correctly.
PetrovMikhail created IGNITE-12589: -- Summary: Remote thin client operations are not authorized correctly. Key: IGNITE-12589 URL: https://issues.apache.org/jira/browse/IGNITE-12589 Project: Ignite Issue Type: Bug Affects Versions: 2.7.6 Reporter: PetrovMikhail In the current Ignite security approach security subject id is considered to be a node id (see IgniteSecurityProcessor:107). In the case of thin clients, this approach doesn't work correctly. If some operation is executed on behalf of a thin client on a remote node (node that is different from one to which thin client connection was established), it's impossible in the same way as for a node obtain a thin client security subject information. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12579) SQL INSERT operation hangs with security enabled.
PetrovMikhail created IGNITE-12579: -- Summary: SQL INSERT operation hangs with security enabled. Key: IGNITE-12579 URL: https://issues.apache.org/jira/browse/IGNITE-12579 Project: Ignite Issue Type: Bug Reporter: PetrovMikhail SQL INSERT operation may hangs in case INSERT KEY belongs to remote node(node that is different from one to which jdbc connection was established) with the following exception in log: {code:java} [2020-01-24 14:59:42,189][ERROR][sys-stripe-4-#48%jdbc.JdbcRemoteKeyInsertTest1%][IgniteTestResources] Critical system error detected. Will be handled accordingly to configured handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=java.lang.NullPointerException]][2020-01-24 14:59:42,189][ERROR][sys-stripe-4-#48%jdbc.JdbcRemoteKeyInsertTest1%][IgniteTestResources] Critical system error detected. Will be handled accordingly to configured handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=java.lang.NullPointerException]]java.lang.NullPointerException at org.apache.ignite.internal.processors.security.SecurityUtils.nodeSecurityContext(SecurityUtils.java:132) at org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.lambda$withContext$0(IgniteSecurityProcessor.java:106) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) at org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.withContext(IgniteSecurityProcessor.java:105) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1844) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1470) at org.apache.ignite.internal.managers.communication.GridIoManager.access$5200(GridIoManager.java:229) at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1365) at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:565) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:748)[2020-01-24 14:59:42,198][WARN ][sys-stripe-4-#48%jdbc.JdbcRemoteKeyInsertTest1%][CacheDiagnosticManager] Page locks dump: Thread=[name=auth-#83%jdbc.JdbcRemoteKeyInsertTest1%, id=116], state=WAITINGLocked pages = []Locked pages log: name=auth-#83%jdbc.JdbcRemoteKeyInsertTest1% time=(1579867182194, 2020-01-24 14:59:42.194)Thread=[name=db-checkpoint-thread-#101%jdbc.JdbcRemoteKeyInsertTest1%, id=135], state=TIMED_WAITINGLocked pages = []Locked pages log: name=db-checkpoint-thread-#101%jdbc.JdbcRemoteKeyInsertTest1% time=(1579867182194, 2020-01-24 14:59:42.194)Thread=[name=dms-writer-thread-#92%jdbc.JdbcRemoteKeyInsertTest1%, id=126], state=WAITINGLocked pages = []Locked pages log: name=dms-writer-thread-#92%jdbc.JdbcRemoteKeyInsertTest1% time=(1579867182194, 2020-01-24 14:59:42.194)Thread=[name=exchange-worker-#84%jdbc.JdbcRemoteKeyInsertTest1%, id=117], state=TIMED_WAITINGLocked pages = []Locked pages log: name=exchange-worker-#84%jdbc.JdbcRemoteKeyInsertTest1% time=(1579867182194, 2020-01-24 14:59:42.194)Thread=[name=main, id=1], state=TIMED_WAITINGLocked pages = []Locked pages log: name=main time=(1579867182193, 2020-01-24 14:59:42.193) [2020-01-24 14:59:42,198][ERROR][sys-stripe-4-#48%jdbc.JdbcRemoteKeyInsertTest1%][G] Failed to execute runnable.java.lang.NullPointerException at org.apache.ignite.internal.processors.security.SecurityUtils.nodeSecurityContext(SecurityUtils.java:132) at org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.lambda$withContext$0(IgniteSecurityProcessor.java:106) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) at org.apache.ignite.internal.processors.security.IgniteSecurityProcessor.withContext(IgniteSecurityProcessor.java:105) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1844) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1470) at org.apache.ignite.internal.managers.communication.GridIoManager.access$5200(GridIoManager.java:229) at org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1365) at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:565) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:748) {code} Reproducer is attached
[jira] [Created] (IGNITE-12380) Add event for node validation failure.
PetrovMikhail created IGNITE-12380: -- Summary: Add event for node validation failure. Key: IGNITE-12380 URL: https://issues.apache.org/jira/browse/IGNITE-12380 Project: Ignite Issue Type: Improvement Affects Versions: 2.7.6 Reporter: PetrovMikhail Assignee: PetrovMikhail Fix For: 2.8 It's needed to record an event of a special type in case a node can't join the topology due to a failure of its validation by existing nodes. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12285) Remove boilerplate code in test PluginProvider implementations.
PetrovMikhail created IGNITE-12285: -- Summary: Remove boilerplate code in test PluginProvider implementations. Key: IGNITE-12285 URL: https://issues.apache.org/jira/browse/IGNITE-12285 Project: Ignite Issue Type: Improvement Reporter: PetrovMikhail It's needed to remove boilerplate code in test PluginProvider implementations. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12268) Adds possibility to set up custom REST processor.
PetrovMikhail created IGNITE-12268: -- Summary: Adds possibility to set up custom REST processor. Key: IGNITE-12268 URL: https://issues.apache.org/jira/browse/IGNITE-12268 Project: Ignite Issue Type: Improvement Reporter: PetrovMikhail Assignee: PetrovMikhail It's needed to add ability to configure your own REST processor via functionality of Ignite plugins. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12250) Adds REST requests processing logging.
PetrovMikhail created IGNITE-12250: -- Summary: Adds REST requests processing logging. Key: IGNITE-12250 URL: https://issues.apache.org/jira/browse/IGNITE-12250 Project: Ignite Issue Type: Improvement Reporter: PetrovMikhail Assignee: PetrovMikhail It's needed to add logging of each REST request processing result. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12232) NPE while node join processing
PetrovMikhail created IGNITE-12232: -- Summary: NPE while node join processing Key: IGNITE-12232 URL: https://issues.apache.org/jira/browse/IGNITE-12232 Project: Ignite Issue Type: Bug Reporter: PetrovMikhail ServerImpl.RingMessageWorker#processNodeAddedMessage method throws npe exception in case DiscoverySpiNodeAuthenticator#authenticateNode returns null. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12014) Getting affinity for topology version earlier than affinity is calculated for system cache
PetrovMikhail created IGNITE-12014: -- Summary: Getting affinity for topology version earlier than affinity is calculated for system cache Key: IGNITE-12014 URL: https://issues.apache.org/jira/browse/IGNITE-12014 Project: Ignite Issue Type: Bug Affects Versions: 2.7.5 Reporter: PetrovMikhail Attachments: JcacheExchangeAwaitTest.java The following exception was being caught occasionally on a big cluster (128 nodes) after it's activation and concurrent Ignite#reentrantLock() method call from different nodes. (On 16 nodes cluster this exception was never detected with no code change). It's attached a presumptive reproducer of that problem which stable fails with the specified exception. {code:java} java.lang.IllegalStateException: Getting affinity for topology version earlier than affinity is calculated [locNode=TcpDiscoveryNode [id=cf397493-7528-46dc-bc5a-444f9d51, consistentId=127.0.0.1:47501, addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47501], discPort=47501, order=2, intOrder=2, lastExchangeTime=1564050248387, loc=true, ver=2.8.0#20190725-sha1:, isClient=false], grp=default-volatile-ds-group, topVer=AffinityTopologyVersion [topVer=2, minorTopVer=1], lastAffChangeTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=1], head=AffinityTopologyVersion [topVer=2, minorTopVer=2], history=[AffinityTopologyVersion [topVer=2, minorTopVer=2]]] at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:802) at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.cachedAffinity(GridAffinityAssignmentCache.java:749) at org.apache.ignite.internal.processors.affinity.GridAffinityAssignmentCache.nodes(GridAffinityAssignmentCache.java:657) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.nodesByPartition(GridCacheAffinityManager.java:227) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByPartition(GridCacheAffinityManager.java:273) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:264) at org.apache.ignite.internal.processors.cache.GridCacheAffinityManager.primaryByKey(GridCacheAffinityManager.java:288) at org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache.entryExx(GridDhtColocatedCache.java:161) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.entryEx(GridNearTxLocal.java:4470) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.enlistRead(GridNearTxLocal.java:2709) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.getAllAsync(GridNearTxLocal.java:2188) at org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache$4.op(GridDhtColocatedCache.java:204) at org.apache.ignite.internal.processors.cache.GridCacheAdapter$AsyncOp.op(GridCacheAdapter.java:5644) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.asyncOp(GridCacheAdapter.java:4561) at org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtColocatedCache.getAsync(GridDhtColocatedCache.java:202) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:4842) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.repairableGet(GridCacheAdapter.java:4808) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.get(GridCacheAdapter.java:1480) at org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.get(GridCacheProxyImpl.java:396) at org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor$4.applyx(DataStructuresProcessor.java:561) at org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor$4.applyx(DataStructuresProcessor.java:556) at org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.retryTopologySafe(DataStructuresProcessor.java:1664) at org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.getAtomic(DataStructuresProcessor.java:556) at org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.reentrantLock(DataStructuresProcessor.java:1361) at org.apache.ignite.internal.IgniteKernal.reentrantLock(IgniteKernal.java:4065) at org.apache.ignite.JcacheExchangeAwaitTest.testJcacheExchangeAwait(JcacheExchangeAwaitTest.java:81) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at
[jira] [Created] (IGNITE-11744) Configuration for explicit plugins providing.
PetrovMikhail created IGNITE-11744: -- Summary: Configuration for explicit plugins providing. Key: IGNITE-11744 URL: https://issues.apache.org/jira/browse/IGNITE-11744 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10519) [TC Bot] Fill JavaDocs
PetrovMikhail created IGNITE-10519: -- Summary: [TC Bot] Fill JavaDocs Key: IGNITE-10519 URL: https://issues.apache.org/jira/browse/IGNITE-10519 Project: Ignite Issue Type: Task Reporter: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10436) [TC Bot] Add ticket and PR links on report TC Bot page
PetrovMikhail created IGNITE-10436: -- Summary: [TC Bot] Add ticket and PR links on report TC Bot page Key: IGNITE-10436 URL: https://issues.apache.org/jira/browse/IGNITE-10436 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10396) IgniteCache Key class with HashMap field doesn't recognized in some cases
PetrovMikhail created IGNITE-10396: -- Summary: IgniteCache Key class with HashMap field doesn't recognized in some cases Key: IGNITE-10396 URL: https://issues.apache.org/jira/browse/IGNITE-10396 Project: Ignite Issue Type: Bug Environment: [^IgniteCacheRemoveTest.java] Reporter: PetrovMikhail Attachments: IgniteCacheRemoveTest.java IgniteCache#containsKey or IgniteCache#remove methods return false when in their parameters passed instance of key class produced via cache iterator. Even in so situation when IgniteCache.Entry with such key is existing. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10337) [TC Bot] Test ticket
PetrovMikhail created IGNITE-10337: -- Summary: [TC Bot] Test ticket Key: IGNITE-10337 URL: https://issues.apache.org/jira/browse/IGNITE-10337 Project: Ignite Issue Type: Task Reporter: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10326) Add trusted suites
PetrovMikhail created IGNITE-10326: -- Summary: Add trusted suites Key: IGNITE-10326 URL: https://issues.apache.org/jira/browse/IGNITE-10326 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail In trusted suites every new failure will be notified as critical. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10319) Handle suite compilation error failure
PetrovMikhail created IGNITE-10319: -- Summary: Handle suite compilation error failure Key: IGNITE-10319 URL: https://issues.apache.org/jira/browse/IGNITE-10319 Project: Ignite Issue Type: Task Reporter: PetrovMikhail We need to notify community if some suite fails N times in a row with compillation errror status. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10215) [Tc Bot] Mark Inspections:Core failures as critical
PetrovMikhail created IGNITE-10215: -- Summary: [Tc Bot] Mark Inspections:Core failures as critical Key: IGNITE-10215 URL: https://issues.apache.org/jira/browse/IGNITE-10215 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10181) [Tc Bot] Add fail-rate handling for test's page
PetrovMikhail created IGNITE-10181: -- Summary: [Tc Bot] Add fail-rate handling for test's page Key: IGNITE-10181 URL: https://issues.apache.org/jira/browse/IGNITE-10181 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10146) [TC Bot] Refresh missing prs while full reindex
PetrovMikhail created IGNITE-10146: -- Summary: [TC Bot] Refresh missing prs while full reindex Key: IGNITE-10146 URL: https://issues.apache.org/jira/browse/IGNITE-10146 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10066) Missing key and value validation for MVCC tables
PetrovMikhail created IGNITE-10066: -- Summary: Missing key and value validation for MVCC tables Key: IGNITE-10066 URL: https://issues.apache.org/jira/browse/IGNITE-10066 Project: Ignite Issue Type: Bug Reporter: PetrovMikhail It seems that key and value constraints for MVCC tables are ignoring now when code approach is using to operate with table. The same SQL requests work fine. It seems that QueryTypeDescriptorImpl.validateKeyAndValue method call which provides corresponding constraints is missed now. Reproducer for not null constraint: {code:java} public class IgniteCacheTransactionalSnapshotNullConstraintTest extends GridCommonAbstractTest { private static final String REPLICATED_CACHE_NAME = "replicatedCacheName"; private static final String PARTITIONED_CACHE_NAME = "partitionedCacheName"; @Override protected void beforeTestsStarted() throws Exception { startGrid(0); execSQL("CREATE TABLE table(id INT PRIMARY KEY, str VARCHAR NOT NULL) WITH \"atomicity=transactional_snapshot\""); jcache(grid(0), cacheConfiguration(REPLICATED, TRANSACTIONAL_SNAPSHOT), REPLICATED_CACHE_NAME); jcache(grid(0), cacheConfiguration(PARTITIONED, TRANSACTIONAL_SNAPSHOT), PARTITIONED_CACHE_NAME); } protected CacheConfiguration cacheConfiguration(CacheMode cacheMode, CacheAtomicityMode atomicityMode) { CacheConfiguration cfg = new CacheConfiguration(); cfg.setCacheMode(cacheMode); cfg.setAtomicityMode(atomicityMode); cfg.setWriteSynchronizationMode(FULL_SYNC); cfg.setQueryEntities(Collections.singletonList(new QueryEntity(Integer.class, Person.class))); return cfg; } public void testPutNullValueReplicatedModeFail() throws Exception { IgniteCache cache = jcache(0, REPLICATED_CACHE_NAME); assertThrowsWithCause(() -> { cache.put(0, new Person(null, 25)); }, IgniteException.class); } public void testPutNullValuePartitionedModeFail() throws Exception { IgniteCache cache = jcache(0, PARTITIONED_CACHE_NAME); assertThrowsWithCause(() -> { cache.put(1, new Person(null, 18)); }, IgniteException.class); } public void testPutNullValueSQLFail() throws Exception { checkSQLThrows("INSERT INTO table VALUES(?, ?)", NULL_VALUE, 0, null); } public static class Person implements Serializable { @QuerySqlField(notNull = true) private String name; @QuerySqlField private int age; public Person(String name, int age) { this.name = name; this.age = age; } } private void checkSQLThrows(String sql, String sqlStateCode, Object... args) { IgniteSQLException err = (IgniteSQLException)GridTestUtils.assertThrowsWithCause(() -> { execSQL(sql, args); return 0; }, IgniteSQLException.class); assertEquals((err).sqlState(), sqlStateCode); } private List execSQL(String sql, Object... args) { SqlFieldsQuery qry = new SqlFieldsQuery(sql) .setArgs(args); return grid(0).context().query().querySqlFields(qry, true).getAll(); } } {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9940) [TC Bot ] TC Bot Needed Contributions
PetrovMikhail created IGNITE-9940: - Summary: [TC Bot ] TC Bot Needed Contributions Key: IGNITE-9940 URL: https://issues.apache.org/jira/browse/IGNITE-9940 Project: Ignite Issue Type: Task Reporter: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9939) [TC Bot] Handle situation within BuildObserver when build status is "UNKNOWN"
PetrovMikhail created IGNITE-9939: - Summary: [TC Bot] Handle situation within BuildObserver when build status is "UNKNOWN" Key: IGNITE-9939 URL: https://issues.apache.org/jira/browse/IGNITE-9939 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9901) [TC Bot] Exclude losses of visa requests while TC Bot server reloading
PetrovMikhail created IGNITE-9901: - Summary: [TC Bot] Exclude losses of visa requests while TC Bot server reloading Key: IGNITE-9901 URL: https://issues.apache.org/jira/browse/IGNITE-9901 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail Exclude losses of visa requests while TC Bot server reloading -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9894) [TC Bot] Change link name in JIRA comment from "Run All" to "TeamCity RunAll Results"
PetrovMikhail created IGNITE-9894: - Summary: [TC Bot] Change link name in JIRA comment from "Run All" to "TeamCity RunAll Results" Key: IGNITE-9894 URL: https://issues.apache.org/jira/browse/IGNITE-9894 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail Change link name in JIRA comment from "Run All" to "TeamCity RunAll Results" -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9645) Add comparison of failed tests lists in two date intervals
PetrovMikhail created IGNITE-9645: - Summary: Add comparison of failed tests lists in two date intervals Key: IGNITE-9645 URL: https://issues.apache.org/jira/browse/IGNITE-9645 Project: Ignite Issue Type: Task Reporter: PetrovMikhail Assignee: PetrovMikhail Based on https://issues.apache.org/jira/browse/IGNITE-9541. It's needed to add comparison of failed tests lists in two date intervals -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9539) Add SQL column precision existence check if scale parameter is setted
PetrovMikhail created IGNITE-9539: - Summary: Add SQL column precision existence check if scale parameter is setted Key: IGNITE-9539 URL: https://issues.apache.org/jira/browse/IGNITE-9539 Project: Ignite Issue Type: Bug Reporter: PetrovMikhail Assignee: PetrovMikhail We should check situation when user sets only scale parameter without precision for column, while creating SQL table. According to [http://www.h2database.com/html/datatypes.html#decimal_type] it's not valid behavior. Currently, we ignore it. -- This message was sent by Atlassian JIRA (v7.6.3#76005)