[jira] [Created] (IGNITE-14617) Calcite. Add opportunity to use NUMERIC in WHEN syntax.
Stanilovsky Evgeny created IGNITE-14617: --- Summary: Calcite. Add opportunity to use NUMERIC in WHEN syntax. Key: IGNITE-14617 URL: https://issues.apache.org/jira/browse/IGNITE-14617 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny Probably we need to support such kind of expressions: {noformat} SELECT CASE WHEN 1 THEN 13 ELSE 12 END; {noformat} _WHEN 1=1_ - works correctly in such case. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14612) Calcite. SELECT with CASE without boolean expression - fails.
Stanilovsky Evgeny created IGNITE-14612: --- Summary: Calcite. SELECT with CASE without boolean expression - fails. Key: IGNITE-14612 URL: https://issues.apache.org/jira/browse/IGNITE-14612 Project: Ignite Issue Type: Bug Components: sql Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny For example such expression - fails. {noformat} SELECT CASE WHEN 1 THEN 13 ELSE 12 END;{noformat} failed with: {code:java} class org.apache.ignite.IgniteException: Error at: test_constant_comparisons.test:91. sql: SELECT CASE WHEN 1 THEN 13 ELSE 12 END; at org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Query.execute(SqlScriptRunner.java:518) at org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.run(SqlScriptRunner.java:93) at org.apache.ignite.internal.processors.query.calcite.logical.ScriptTestRunner$1.run(ScriptTestRunner.java:214) at java.lang.Thread.run(Thread.java:748) Caused by: class org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to plan query. at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:541) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:398) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:246) at org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.sql(SqlScriptRunner.java:111) at org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.access$600(SqlScriptRunner.java:51) at org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Query.execute(SqlScriptRunner.java:513) ... 3 more Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, column 8 to line 1, column 38: Expected a boolean type at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:467) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:883) {code} and this work perfectly well: {noformat} SELECT CASE WHEN 1=1 THEN 13 ELSE 12 END;{noformat} a little reserch shows that calcite also fails in non boolean expression, root cause in SqlCaseOperator#checkOperandTypes and further check : {code:java} if (!SqlTypeUtil.inBooleanFamily(type){code} if we change this place, appropriate test {noformat} @Test void testCaseWhen2() { checkPlanEquals("SELECT CASE WHEN 1=1 THEN 13 ELSE 12 END"); }{noformat} will work fine in calcite but will fail in ignite with janino error: {noformat} class org.apache.ignite.IgniteException: Line 3, Column 7: Not a boolean expression at org.apache.ignite.internal.processors.query.calcite.util.Commons.compile(Commons.java:299) at org.apache.ignite.internal.processors.query.calcite.exec.exp.ExpressionFactoryImpl.compile(ExpressionFactoryImpl.java:290) at org.apache.ignite.internal.processors.query.calcite.exec.exp.ExpressionFactoryImpl.lambda$scalar$4(ExpressionFactoryImpl.java:241) at java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:324) at org.apache.ignite.internal.processors.query.calcite.exec.exp.ExpressionFactoryImpl.scalar(ExpressionFactoryImpl.java:241) at org.apache.ignite.internal.processors.query.calcite.exec.exp.ExpressionFactoryImpl.project(ExpressionFactoryImpl.java:198) at org.apache.ignite.internal.processors.query.calcite.exec.LogicalRelImplementor.visit(LogicalRelImplementor.java:195) at org.apache.ignite.internal.processors.query.calcite.exec.LogicalRelImplementor.visit(LogicalRelImplementor.java:102) at org.apache.ignite.internal.processors.query.calcite.rel.IgniteProject.accept(IgniteProject.java:89) at org.apache.ignite.internal.processors.query.calcite.exec.LogicalRelImplementor.visit(LogicalRelImplementor.java:615) at org.apache.ignite.internal.processors.query.calcite.exec.LogicalRelImplementor.go(LogicalRelImplementor.java:630) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:752) at
[jira] [Created] (IGNITE-14593) Calcite. Support not equal expression.
Stanilovsky Evgeny created IGNITE-14593: --- Summary: Calcite. Support not equal expression. Key: IGNITE-14593 URL: https://issues.apache.org/jira/browse/IGNITE-14593 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny Looks like it would be helpful to support "!=" syntax, i.e. : {code:java} UPDATE test SET a=7 WHERE id != 3 {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14573) Calcite bug. DML operations skips binary flag usage.
Stanilovsky Evgeny created IGNITE-14573: --- Summary: Calcite bug. DML operations skips binary flag usage. Key: IGNITE-14573 URL: https://issues.apache.org/jira/browse/IGNITE-14573 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny As a result, insert with further read operations will fail. For example: {code:java} CREATE TABLE IF NOT EXISTS test (id INTEGER, a INTEGER); INSERT INTO test VALUES (1, 1), (2, 2), (3, 3), (4, NULL);" UPDATE test SET a=CASE WHEN id=1 THEN 7 ELSE NULL END WHERE id <= 2"; {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14489) Reduce wal operations if no update counters are changed.
Stanilovsky Evgeny created IGNITE-14489: --- Summary: Reduce wal operations if no update counters are changed. Key: IGNITE-14489 URL: https://issues.apache.org/jira/browse/IGNITE-14489 Project: Ignite Issue Type: Improvement Components: persistence Affects Versions: 2.10 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Reduce wal writes if update counters are not changed. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14383) No need to update metastorage if cache statistics disabled.
Stanilovsky Evgeny created IGNITE-14383: --- Summary: No need to update metastorage if cache statistics disabled. Key: IGNITE-14383 URL: https://issues.apache.org/jira/browse/IGNITE-14383 Project: Ignite Issue Type: Improvement Components: cache Affects Versions: 2.10 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Id cache statistics disabled there is no need to update metastorage and send numerous DistributedMetaStorageUpdateMessage as a result. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14375) Pending cache destroy messages can be erroneously send.
Stanilovsky Evgeny created IGNITE-14375: --- Summary: Pending cache destroy messages can be erroneously send. Key: IGNITE-14375 URL: https://issues.apache.org/jira/browse/IGNITE-14375 Project: Ignite Issue Type: Improvement Components: cache Affects Versions: 2.10 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Due to pending messages logic implementation its possible to process already outdated _DynamicCacheChangeBatch_ message. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14327) Flaky IgniteCacheNearRestartRollbackSelfTest.
Stanilovsky Evgeny created IGNITE-14327: --- Summary: Flaky IgniteCacheNearRestartRollbackSelfTest. Key: IGNITE-14327 URL: https://issues.apache.org/jira/browse/IGNITE-14327 Project: Ignite Issue Type: Improvement Components: cache Affects Versions: 2.10 Reporter: Stanilovsky Evgeny Attachments: image-2021-03-17-08-39-28-729.png, image-2021-03-17-08-40-29-865.png IgniteCacheNearRestartRollbackSelfTest seems flaky, !image-2021-03-17-08-39-28-729.png! !image-2021-03-17-08-40-29-865.png! -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14289) Calcite flaky test testNotOriginatorNodeStop.
Stanilovsky Evgeny created IGNITE-14289: --- Summary: Calcite flaky test testNotOriginatorNodeStop. Key: IGNITE-14289 URL: https://issues.apache.org/jira/browse/IGNITE-14289 Project: Ignite Issue Type: Bug Components: sql Environment: !image-2021-03-09-10-10-19-314.png! test is flaky for now. Reporter: Stanilovsky Evgeny Attachments: image-2021-03-09-10-10-19-314.png -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14262) Get rid of numerous ExecutionCancelledException.
Stanilovsky Evgeny created IGNITE-14262: --- Summary: Get rid of numerous ExecutionCancelledException. Key: IGNITE-14262 URL: https://issues.apache.org/jira/browse/IGNITE-14262 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny We have numerous ExecutionCancelledException exceptions, for example while calling: CalciteQueryProcessorTest#testCountWithJoin. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14224) Extend logging of client failure handling.
Stanilovsky Evgeny created IGNITE-14224: --- Summary: Extend logging of client failure handling. Key: IGNITE-14224 URL: https://issues.apache.org/jira/browse/IGNITE-14224 Project: Ignite Issue Type: Improvement Components: clients Affects Versions: 2.9.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny # "Finished serving remote node connection " but this message doesn't contain node id, it should be added (check org.apache.ignite.spi.discovery.tcp.ServerImpl.SocketReader#body). # When client worker is removed from clientMsgWorkers, org.apache.ignite.internal.util.IgniteUtils#closeQuiet(java.lang.AutoCloseable) is used to close the socket, we don't see any exception if it has happened, closeQuiet should be replaced with org.apache.ignite.internal.util.IgniteUtils#close(java.lang.AutoCloseable, org.apache.ignite.IgniteLogger) which works in the same way but prints exception. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14205) 2.10 branch performance drop on IgnitePutRandomValueSizeBenchmark
Stanilovsky Evgeny created IGNITE-14205: --- Summary: 2.10 branch performance drop on IgnitePutRandomValueSizeBenchmark Key: IGNITE-14205 URL: https://issues.apache.org/jira/browse/IGNITE-14205 Project: Ignite Issue Type: Improvement Components: general Reporter: Stanilovsky Evgeny Attachments: 172.25.1.17_logs.zip, 172.25.1.21_logs.zip, 172.25.1.22_logs.zip, image-2021-02-18-08-51-11-371.png Seems we have performance drop with 2.10 branch in compare with 2.9.1. This highlights the IgnitePutRandomValueSizeBenchmark. [^172.25.1.22_logs.zip] [^172.25.1.21_logs.zip] [^172.25.1.17_logs.zip] !image-2021-02-18-08-58-02-196.png! -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14176) Pk and Affinity key indexes are not considered for planning.
Stanilovsky Evgeny created IGNITE-14176: --- Summary: Pk and Affinity key indexes are not considered for planning. Key: IGNITE-14176 URL: https://issues.apache.org/jira/browse/IGNITE-14176 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny pk and affinity key indexes are not taken into account in planning phase. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14131) IgniteCompute tasks with same name, running from one node and different ClassLoaders can lead to OOM. Fix problems with concurrent ignite.compute call.
Stanilovsky Evgeny created IGNITE-14131: --- Summary: IgniteCompute tasks with same name, running from one node and different ClassLoaders can lead to OOM. Fix problems with concurrent ignite.compute call. Key: IGNITE-14131 URL: https://issues.apache.org/jira/browse/IGNITE-14131 Project: Ignite Issue Type: Improvement Components: compute Affects Versions: 2.9.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny The root cause of such a problem is growing from assumption that one node can obtain only one class loader per class name. Thus multiple tasks calling with different classloaders leads to huge cache grow in server side and finally leads to oom with jvm metaspace. Additionally we can`t use p2p from multiple threads, for example ignite instance is shared as a spring bean. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14019) Calcite bug. Can`t access cache created on the server side from client node.
Stanilovsky Evgeny created IGNITE-14019: --- Summary: Calcite bug. Can`t access cache created on the server side from client node. Key: IGNITE-14019 URL: https://issues.apache.org/jira/browse/IGNITE-14019 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-14018) Second call of create + alter table from client throws DDL operation failureSchemaOperationException
Stanilovsky Evgeny created IGNITE-14018: --- Summary: Second call of create + alter table from client throws DDL operation failureSchemaOperationException Key: IGNITE-14018 URL: https://issues.apache.org/jira/browse/IGNITE-14018 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny {code:java} public void testUseH2Functionality() throws Exception { inlineSize = 10; startGridsMultiThreaded(1); IgniteEx client = startClientGrid(CLIENT_NAME); sql(grid(0), "CREATE TABLE IF NOT EXISTS Person(\"id\" INT, PRIMARY KEY(\"id\"), \"name\" VARCHAR)"); sql(grid(0), "alter table Person add column age int"); sql(grid(0),"drop table Person"); sql(client, "CREATE TABLE IF NOT EXISTS Person(\"id\" INT, PRIMARY KEY(\"id\"), \"name\" VARCHAR)"); sql(client, "alter table Person add column age int"); sql(client,"drop table Person"); } {code} throws : {code:java} [10:23:00] (err) DDL operation failureSchemaOperationException [code=5, msg=Column already exists: AGE] at org.apache.ignite.internal.processors.query.h2.CommandProcessor.runCommandH2(CommandProcessor.java:861) at org.apache.ignite.internal.processors.query.h2.CommandProcessor.runCommand(CommandProcessor.java:437) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.executeCommand(IgniteH2Indexing.java:1040) at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1135) {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13915) Calcite improvements. Extend tests coverage, use both client and server for starting queries.
Stanilovsky Evgeny created IGNITE-13915: --- Summary: Calcite improvements. Extend tests coverage, use both client and server for starting queries. Key: IGNITE-13915 URL: https://issues.apache.org/jira/browse/IGNITE-13915 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny We need to extend tests, for example for all _CalciteQueryProcessorTest_, we need to check resulsets from both servers and clients. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13846) Calcite improvements. Improve possibility for handling topology change events.
Stanilovsky Evgeny created IGNITE-13846: --- Summary: Calcite improvements. Improve possibility for handling topology change events. Key: IGNITE-13846 URL: https://issues.apache.org/jira/browse/IGNITE-13846 Project: Ignite Issue Type: Improvement Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny For now we have equal logic in TableScan#reserve and IndexScan#reserve for partition reservation and have no possibility for remap|rerun query with new changed topology. As a starting point we can take already existing h2 logic containing in GridReduceQueryExecutor#query -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13844) Calcite improvements. Append additional dependencies.
Stanilovsky Evgeny created IGNITE-13844: --- Summary: Calcite improvements. Append additional dependencies. Key: IGNITE-13844 URL: https://issues.apache.org/jira/browse/IGNITE-13844 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny I found that calcite feature-branch started from _ignite.sh_ requires additional dependencies: com.esri.geometry and org.javassist -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13838) IgniteSqlSplitterSelfTest different tests are failed.
Stanilovsky Evgeny created IGNITE-13838: --- Summary: IgniteSqlSplitterSelfTest different tests are failed. Key: IGNITE-13838 URL: https://issues.apache.org/jira/browse/IGNITE-13838 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny i found that TC launches show different tests failed under IgniteSqlSplitterSelfTest class. for example : *IgniteSqlSplitterSelfTest.testReplicatedTablesUsingPartitionedCacheClientRO* {noformat} java.lang.AssertionError: expected:<1000> but was:<999> at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.failNotEquals(Assert.java:834) at org.junit.Assert.assertEquals(Assert.java:645) at org.junit.Assert.assertEquals(Assert.java:631) at org.apache.ignite.testframework.junits.JUnitAssertAware.assertEquals(JUnitAssertAware.java:93) at org.apache.ignite.internal.processors.query.IgniteSqlSplitterSelfTest.doTestReplicatedTablesUsingPartitionedCache(IgniteSqlSplitterSelfTest.java:411) {noformat} *GridSubqueryJoinOptimizerSelfTest.testOptimizationAppliedToUnion* {noformat} java.lang.AssertionError: Result set mismatch expected:<[[emp0, 0], [emp0, 2], [emp0, 3], [emp0, 9], [emp0, 10], [emp0, 11], [emp0, 13], [emp0, 18], [emp0, 19], [emp2, 0], [emp2, 2], [emp2, 3], [emp2, 9], [emp2, 10], [emp2, 11], [emp2, 13], [emp2, 18], [emp2, 19], [emp3, 0], [emp3, 2], [emp3, 3], [emp3, 9], [emp3, 10], [emp3, 11], [emp3, 13], [emp3, 18], [emp3, 19], [emp9, 0], [emp9, 2], [emp9, 3], [emp9, 9], [emp9, 10], [emp9, 11], [emp9, 13], [emp9, 18], [emp9, 19], [emp10, 0], [emp10, 2], [emp10, 3], [emp10, 9] ... at org.apache.ignite.internal.processors.query.h2.GridSubqueryJoinOptimizerSelfTest.check(GridSubqueryJoinOptimizerSelfTest.java:647) at org.apache.ignite.internal.processors.query.h2.GridSubqueryJoinOptimizerSelfTest.testOptimizationAppliedToUnion(GridSubqueryJoinOptimizerSelfTest.java:540) {noformat} and so on ... hope it`s all due to default: *CacheWriteSynchronizationMode* -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13817) Calcite bug. select count assertionError.
Stanilovsky Evgeny created IGNITE-13817: --- Summary: Calcite bug. select count assertionError. Key: IGNITE-13817 URL: https://issues.apache.org/jira/browse/IGNITE-13817 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny request: {noformat} SELECT count(*) FROM RISK R, TRADE T, BATCH B WHERE R.BATCHKEY = B.BATCHKEY AND R.TRADEIDENTIFIER = T.TRADEIDENTIFIER AND R.TRADEVERSION = T.TRADEVERSION AND T.BOOK = 'RBCEUR' AND B.ISLATEST = TRUE {noformat} breaks down calcite: {noformat} java.lang.AssertionError at org.apache.calcite.plan.volcano.RelSet.mergeWith(RelSet.java:457) at org.apache.calcite.plan.volcano.VolcanoPlanner.merge(VolcanoPlanner.java:1046) at org.apache.calcite.plan.volcano.VolcanoPlanner.rename(VolcanoPlanner.java:903) at org.apache.calcite.plan.volcano.RelSet.mergeWith(RelSet.java:432) at org.apache.calcite.plan.volcano.VolcanoPlanner.merge(VolcanoPlanner.java:1046) at org.apache.calcite.plan.volcano.VolcanoPlanner.registerSubset(VolcanoPlanner.java:1287) at org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1166) at org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:589) at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:604) at org.apache.calcite.plan.volcano.VolcanoRuleCall.transformTo(VolcanoRuleCall.java:148) at org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:268) at org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:283) at org.apache.calcite.rel.convert.ConverterRule.onMatch(ConverterRule.java:169) at org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:229) at org.apache.calcite.plan.volcano.TopDownRuleDriver.applyGenerator(TopDownRuleDriver.java:142) at org.apache.calcite.plan.volcano.TopDownRuleDriver.access$600(TopDownRuleDriver.java:47) at org.apache.calcite.plan.volcano.TopDownRuleDriver$ApplyRule.perform(TopDownRuleDriver.java:519) at org.apache.calcite.plan.volcano.TopDownRuleDriver.drive(TopDownRuleDriver.java:101) at org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:510) at org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:312) at org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.transform(IgnitePlanner.java:258) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.optimize(ExecutionServiceImpl.java:616) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:568) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:542) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:501) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:378) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:240) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessorTest.test0(CalciteQueryProcessorTest.java:117) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2373) at java.lang.Thread.run(Thread.java:748) {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13810) Append additional log and metrics info regarding cache expiration.
Stanilovsky Evgeny created IGNITE-13810: --- Summary: Append additional log and metrics info regarding cache expiration. Key: IGNITE-13810 URL: https://issues.apache.org/jira/browse/IGNITE-13810 Project: Ignite Issue Type: Improvement Components: cache Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Currently we have no any additional information regarding _cache.withExpiryPolicy_ execution. Additionally it would be very useful to have a corresponding metric. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13797) Calcite bug. CREATE TABLE with WHERE SELECT 1;
Stanilovsky Evgeny created IGNITE-13797: --- Summary: Calcite bug. CREATE TABLE with WHERE SELECT 1; Key: IGNITE-13797 URL: https://issues.apache.org/jira/browse/IGNITE-13797 Project: Ignite Issue Type: Improvement Components: sql Reporter: Stanilovsky Evgeny CREATE TABLE TABLE_E061_09_01_04 ( A INT PRIMARY KEY, CC INTEGER ); SELECT A FROM TABLE_E061_09_01_04 WHERE A = ( SELECT 1 ); fires: {noformat} java.lang.AssertionError: RelSubset [rel#4121:RelSubset#7.IGNITE.[].single.rewindable.uncorrelated] has wrong best cost 1021.13999. Correct cost is 1057.0 at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31) at org.apache.calcite.plan.volcano.VolcanoPlanner.isValid(VolcanoPlanner.java:647) at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:610) at org.apache.calcite.plan.volcano.VolcanoRuleCall.transformTo(VolcanoRuleCall.java:148) at org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:268) at org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:283) at org.apache.calcite.rel.convert.ConverterRule.onMatch(ConverterRule.java:169) at org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:229) at org.apache.calcite.plan.volcano.TopDownRuleDriver.applyGenerator(TopDownRuleDriver.java:142) at org.apache.calcite.plan.volcano.TopDownRuleDriver.access$600(TopDownRuleDriver.java:47) at org.apache.calcite.plan.volcano.TopDownRuleDriver$ApplyRule.perform(TopDownRuleDriver.java:519) at org.apache.calcite.plan.volcano.TopDownRuleDriver.drive(TopDownRuleDriver.java:101) at org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:510) at org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:312) at org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.transform(IgnitePlanner.java:258) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.optimize(ExecutionServiceImpl.java:616) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:568) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:542) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:501) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:378) at org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:240) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2787) at org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:2743) {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13785) Calcite improvements. Support CREATE TABLE and INSERT through h2 engine, for test purposes.
Stanilovsky Evgeny created IGNITE-13785: --- Summary: Calcite improvements. Support CREATE TABLE and INSERT through h2 engine, for test purposes. Key: IGNITE-13785 URL: https://issues.apache.org/jira/browse/IGNITE-13785 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny For the test purposes we need to have a possibility to *create* and *insert* using h2 engine. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13775) U.ReentrantReadWriteLockTracer improper realization.
Stanilovsky Evgeny created IGNITE-13775: --- Summary: U.ReentrantReadWriteLockTracer improper realization. Key: IGNITE-13775 URL: https://issues.apache.org/jira/browse/IGNITE-13775 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny ReentrantReadWriteLockTracer accepts ReentrantReadWriteLock as a delegate and stores delegates for readLock and writeLock. But ReentrantReadWriteLock#isWriteLockedByCurrentThread uses sync object to evaluate the result instead of writeLock, and ReentrantReadWriteLockTracer has it's own sync object. As a result, if ReentrantReadWriteLockTracer is used to create checkpoint lock (when IGNITE_PDS_LOG_CP_READ_LOCK_HOLDERS=true), GridCacheDatabaseSharedManager#checkpointLockIsHeldByThread doesn't work correctly: it returns false when checkpoint lock is acquired. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13772) Calcite bug. RightJoin can fail with NPE.
Stanilovsky Evgeny created IGNITE-13772: --- Summary: Calcite bug. RightJoin can fail with NPE. Key: IGNITE-13772 URL: https://issues.apache.org/jira/browse/IGNITE-13772 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Such kind of requests can rise NPE: {code:java} SELECT TABLE_F041_04_01_011.A, TABLE_F041_04_01_012.A FROM TABLE_F041_04_01_011 RIGHT JOIN TABLE_F041_04_01_012 ON TABLE_F041_04_01_011.A = TABLE_F041_04_01_012.A {code} {code:java} Caused by: java.lang.NullPointerException at org.apache.ignite.internal.processors.query.calcite.exec.rel.NestedLoopJoinNode$RightJoin.join(NestedLoopJoinNode.java:528) at org.apache.ignite.internal.processors.query.calcite.exec.rel.NestedLoopJoinNode.endLeft(NestedLoopJoinNode.java:203) at org.apache.ignite.internal.processors.query.calcite.exec.rel.NestedLoopJoinNode.access$100(NestedLoopJoinNode.java:35) at org.apache.ignite.internal.processors.query.calcite.exec.rel.NestedLoopJoinNode$1.end(NestedLoopJoinNode.java:125) at org.apache.ignite.internal.processors.query.calcite.exec.rel.Inbox.pushUnordered(Inbox.java:317) at org.apache.ignite.internal.processors.query.calcite.exec.rel.Inbox.push(Inbox.java:213) at org.apache.ignite.internal.processors.query.calcite.exec.rel.Inbox.onBatchReceived(Inbox.java:180) at org.apache.ignite.internal.processors.query.calcite.exec.ExchangeServiceImpl.onMessage(ExchangeServiceImpl.java:222) at org.apache.ignite.internal.processors.query.calcite.exec.ExchangeServiceImpl.lambda$init$3(ExchangeServiceImpl.java:148) at org.apache.ignite.internal.processors.query.calcite.message.MessageServiceImpl.onMessageInternal(MessageServiceImpl.java:276) at org.apache.ignite.internal.processors.query.calcite.message.MessageServiceImpl.lambda$onMessage$0(MessageServiceImpl.java:256) {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13758) Remove IgniteFeatures and all dependent code.
Stanilovsky Evgeny created IGNITE-13758: --- Summary: Remove IgniteFeatures and all dependent code. Key: IGNITE-13758 URL: https://issues.apache.org/jira/browse/IGNITE-13758 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.9 Reporter: Stanilovsky Evgeny I found that IgniteFeatures are useless, cause AI not support heterogeneous cluster i.e. multiple versions in one grid [1]. And code comparison with GGCE [2] highlight that there is some kind of fragments involved into rolling upgrade process. [1] http://apache-ignite-users.70518.x6.nabble.com/Platform-updates-td15998.html [2] https://github.com/gridgain/gridgain -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13732) Incorrect inline suggestion.
Stanilovsky Evgeny created IGNITE-13732: --- Summary: Incorrect inline suggestion. Key: IGNITE-13732 URL: https://issues.apache.org/jira/browse/IGNITE-13732 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny I found that inline size suggestions are incorrect, check for example : {noformat} Indexed columns of a row cannot be fully inlined into index what may lead to slowdown due to additional data page reads, increase index inline size if needed (use INLINE_SIZE option for CREATE INDEX command, QuerySqlField.inlineSize for annotated classes, or QueryIndex.inlineSize for explicit QueryEntity configuration) [cacheName=myCache, tableName=myTable, idxName=SOME_IDX_NAME, idxCols=[PAYMENTDATE, STATUS, _KEY], idxTypes=[0, 13, 19], curSize=10, idxType=SECONDARY, recommendedInlineSize=96] {noformat} but why ? If PAYMENTDATE - long and STATUS is boolean, i believe it need to be calculated like: 5 bytes for BO header + 8 (long) + 4? (boolean) = 17, and i don`t understand why "_KEY" presented here, no need to append inner field size here. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13729) Calcite bug. "Not a boolean expression" on nested expression.
Stanilovsky Evgeny created IGNITE-13729: --- Summary: Calcite bug. "Not a boolean expression" on nested expression. Key: IGNITE-13729 URL: https://issues.apache.org/jira/browse/IGNITE-13729 Project: Ignite Issue Type: Bug Components: sql Reporter: Stanilovsky Evgeny Nested sql failure: {noformat} "SELECT name FROM Orders o WHERE NOT EXISTS ("SELECT 1 FROM Account a WHERE o.name = a.name)" {noformat} {noformat} Caused by: org.codehaus.commons.compiler.CompileException: Line 3, Column 23: Not a boolean expression at org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:12211) at org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:3994) at org.codehaus.janino.UnitCompiler.access$6300(UnitCompiler.java:215) at org.codehaus.janino.UnitCompiler$14$1.visitAmbiguousName(UnitCompiler.java:3942) at org.codehaus.janino.UnitCompiler$14$1.visitAmbiguousName(UnitCompiler.java:3939) at org.codehaus.janino.Java$AmbiguousName.accept(Java.java:4224) at org.codehaus.janino.UnitCompiler$14.visitLvalue(UnitCompiler.java:3939) at org.codehaus.janino.UnitCompiler$14.visitLvalue(UnitCompiler.java:3935) at org.codehaus.janino.Java$Lvalue.accept(Java.java:4148) at org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3935) at org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:4075) at org.codehaus.janino.UnitCompiler.access$6600(UnitCompiler.java:215) at org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3957) at org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3935) at org.codehaus.janino.Java$BinaryOperation.accept(Java.java:4864) at org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3935) at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2464) at org.codehaus.janino.UnitCompiler.access$1900(UnitCompiler.java:215) at org.codehaus.janino.UnitCompiler$6.visitIfStatement(UnitCompiler.java:1495) at org.codehaus.janino.UnitCompiler$6.visitIfStatement(UnitCompiler.java:1487) at org.codehaus.janino.Java$IfStatement.accept(Java.java:2950) at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487) at org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567) at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3388) at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1357) at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1330) at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:822) at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:432) at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:215) at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:411) at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:406) at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1414) at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:406) at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:378) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:237) at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:465) at org.codehaus.janino.ClassBodyEvaluator.compileToClass(ClassBodyEvaluator.java:313) at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:235) at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:207) at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:50) at org.codehaus.janino.ClassBodyEvaluator.createInstance(ClassBodyEvaluator.java:347) at org.apache.ignite.internal.processors.query.calcite.util.Commons.compile(Commons.java:294) ... 31 more Suppressed: org.apache.ignite.internal.processors.query.calcite.metadata.RemoteException: Remote query execution ... 14 more Caused by: java.lang.NullPointerException at org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.push(ScanNode.java:115) at
[jira] [Created] (IGNITE-13727) Calcite bug. Assertion on UNION with DISTINCT.
Stanilovsky Evgeny created IGNITE-13727: --- Summary: Calcite bug. Assertion on UNION with DISTINCT. Key: IGNITE-13727 URL: https://issues.apache.org/jira/browse/IGNITE-13727 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny {noformat} SELECT distinct(name) FROM Orders UNION SELECT name from Account{noformat} breaks Calcite with assertion: {noformat} java.lang.AssertionError: traits=IGNITE.[].any.one-way, distributionhash[0] at org.apache.calcite.rel.core.Exchange.(Exchange.java:62) at org.apache.calcite.rel.core.Exchange.(Exchange.java:71) at org.apache.ignite.internal.processors.query.calcite.rel.IgniteTrimExchange.(IgniteTrimExchange.java:49) at SC.apply(Unknown Source) at org.apache.ignite.internal.processors.query.calcite.externalize.RelJson$RelFactory.apply(RelJson.java:115) at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonReader.readRel(RelJsonReader.java:111) at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonReader.readRels(RelJsonReader.java:103) at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonReader.read(RelJsonReader.java:92) at org.apache.ignite.internal.processors.query.calcite.externalize.RelJsonReader.fromJson(RelJsonReader.java:77) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareFragment(ExecutionServiceImpl.java:522) at org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.onMessage(ExecutionServiceImpl.java:860) at org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.lambda$init$1(ExecutionServiceImpl.java:435) at org.apache.ignite.internal.processors.query.calcite.message.MessageServiceImpl.onMessageInternal(MessageServiceImpl.java:276) at org.apache.ignite.internal.processors.query.calcite.message.MessageServiceImpl.lambda$onMessage$0(MessageServiceImpl.java:256) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) {noformat} appropriate plan: {noformat} IgniteReduceAggregate(rowType=[RecordType(JavaType(class java.lang.String) NAME)], group=[{0}]): rowcount = 110.0, cumulative cost = 6140.0, id = 244 IgniteExchange(distribution=[single]): rowcount = 110.0, cumulative cost = 6030.0, id = 243 IgniteMapAggregate(group=[{0}]): rowcount = 110.0, cumulative cost = 4710.0, id = 242 IgniteUnionAll(all=[true]): rowcount = 1100.0, cumulative cost = 4600.0, id = 241 IgniteTrimExchange(distribution=[hash[0]]): rowcount = 100.0, cumulative cost = 2500.0, id = 240 IgniteReduceAggregate(rowType=[RecordType(JavaType(class java.lang.String) NAME)], group=[{0}]): rowcount = 100.0, cumulative cost = 2400.0, id = 239 IgniteExchange(distribution=[broadcast]): rowcount = 100.0, cumulative cost = 2300.0, id = 238 IgniteMapAggregate(group=[{0}]): rowcount = 100.0, cumulative cost = 1100.0, id = 237 IgniteTableScan(table=[[PUBLIC, ORDERS]], requiredColunms=[{2}]): rowcount = 1000.0, cumulative cost = 1000.0, id = 65 IgniteTableScan(table=[[PUBLIC, ACCOUNT]], requiredColunms=[{2}]): rowcount = 1000.0, cumulative cost = 1000.0, id = 97 {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13721) Calcite bug. IndexOutOfBoundsException while executing NOT IN with nested expression.
Stanilovsky Evgeny created IGNITE-13721: --- Summary: Calcite bug. IndexOutOfBoundsException while executing NOT IN with nested expression. Key: IGNITE-13721 URL: https://issues.apache.org/jira/browse/IGNITE-13721 Project: Ignite Issue Type: Bug Components: sql Reporter: Stanilovsky Evgeny _SELECT name FROM Orders WHERE name NOT IN (SELECT name from Account)_ breaks current execution with : {code:java} Caused by: java.lang.NullPointerException at org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.push(ScanNode.java:115) at org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.doPush(ScanNode.java:75) ... 3 more Caused by: java.lang.IndexOutOfBoundsException: Index: 0 at java.util.Collections$EmptyList.get(Collections.java:4454) at org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AccumulatorsFactory$WrapperPrototype$1.apply(AccumulatorsFactory.java:220) at org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AccumulatorsFactory$WrapperPrototype$1.apply(AccumulatorsFactory.java:217) at org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AccumulatorsFactory$AccumulatorWrapperImpl.add(AccumulatorsFactory.java:296) at org.apache.ignite.internal.processors.query.calcite.exec.rel.AggregateNode$Grouping.addOnMapper(AggregateNode.java:306) at org.apache.ignite.internal.processors.query.calcite.exec.rel.AggregateNode$Grouping.add(AggregateNode.java:277) at org.apache.ignite.internal.processors.query.calcite.exec.rel.AggregateNode$Grouping.access$100(AggregateNode.java:251) at org.apache.ignite.internal.processors.query.calcite.exec.rel.AggregateNode.push(AggregateNode.java:132) at org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.push(ScanNode.java:119) at org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode.doPush(ScanNode.java:75) {code} plan looks like weird: {code:java} IgniteProject(NAME=[$2]): rowcount = 25003.75, cumulative cost = 2851029.25, id = 1305 IgniteFilter(condition=[OR(=($4, 0), AND(IS NULL($8), >=($5, $4), IS NOT NULL($6)))]): rowcount = 25003.75, cumulative cost = 2826024.5, id = 1304 IgniteNestedLoopJoin(condition=[=($6, $7)], joinType=[left], variablesSet=[[]]): rowcount = 100015.0, cumulative cost = 2726008.5, id = 1303 IgniteProject(_KEY=[$0], _VAL=[$1], NAME=[$2], SALARY=[$3], $f0=[$4], $f1=[$5], NAME0=[$2]): rowcount = 10.0, cumulative cost = 1721436.0, id = 1299 IgniteNestedLoopJoin(condition=[true], joinType=[inner], variablesSet=[[]]): rowcount = 10.0, cumulative cost = 1021435.0, id = 1298 IgniteExchange(distribution=[broadcast]): rowcount = 1000.0, cumulative cost = 17000.0, id = 1294 IgniteTableScan(table=[[PUBLIC, ORDERS]]): rowcount = 1000.0, cumulative cost = 1000.0, id = 206 IgniteReduceAggregate(rowType=[RecordType(BIGINT $f0, BIGINT $f1)], group=[{}], agg#0=[COUNT()], agg#1=[COUNT($0)]): rowcount = 100.0, cumulative cost = 4425.0, id = 1297 IgniteExchange(distribution=[broadcast]): rowcount = 100.0, cumulative cost = 4325.0, id = 1296 IgniteMapAggregate(group=[{}], agg#0=[COUNT()], agg#1=[COUNT($0)]): rowcount = 100.0, cumulative cost = 3125.0, id = 1295 IgniteTableScan(table=[[PUBLIC, ACCOUNT]], projects=[[$t0, true]], requiredColunms=[{2}]): rowcount = 1000.0, cumulative cost = 3000.0, id = 140 IgniteReduceAggregate(rowType=[RecordType(JavaType(class java.lang.String) NAME, BOOLEAN $f1)], group=[{0}], agg#0=[MIN($1)]): rowcount = 100.0, cumulative cost = 4412.5, id = 1302 IgniteExchange(distribution=[single]): rowcount = 100.0, cumulative cost = 4312.5, id = 1301 IgniteMapAggregate(group=[{0}], agg#0=[MIN($1)]): rowcount = 100.0, cumulative cost = 3112.5, id = 1300 IgniteTableScan(table=[[PUBLIC, ACCOUNT]], projects=[[$t0, true]], requiredColunms=[{2}]): rowcount = 1000.0, cumulative cost = 3000.0, id = 140 {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13717) Additional test coverage for calcite engine.
Stanilovsky Evgeny created IGNITE-13717: --- Summary: Additional test coverage for calcite engine. Key: IGNITE-13717 URL: https://issues.apache.org/jira/browse/IGNITE-13717 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny We need to expand current calcite engine tests coverage. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13686) Compression test become failed after IGNITE-13658.
Stanilovsky Evgeny created IGNITE-13686: --- Summary: Compression test become failed after IGNITE-13658. Key: IGNITE-13686 URL: https://issues.apache.org/jira/browse/IGNITE-13686 Project: Ignite Issue Type: Improvement Components: data structures Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny After [1] was merged persistent check become fail to pass {noformat} if (diskPageCompression != DiskPageCompression.DISABLED) { if (!cctx.dataRegion().config().isPersistenceEnabled()) throw new IgniteCheckedException("Disk page compression makes sense only with enabled persistence."); {noformat} I suggest to remove failed smoke tests : IgnitePersistentStoreDataStructuresTest [1] https://issues.apache.org/jira/browse/IGNITE-13658 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13680) Broken formatting rule for vm.swappiness.
Stanilovsky Evgeny created IGNITE-13680: --- Summary: Broken formatting rule for vm.swappiness. Key: IGNITE-13680 URL: https://issues.apache.org/jira/browse/IGNITE-13680 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Ignite start suggestions use float formatting for int value : {noformat} ^-- Reduce pages swapping ratio (set vm.swappiness=10.00 or less) {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13658) Volatile cache writes to persistent storage.
Stanilovsky Evgeny created IGNITE-13658: --- Summary: Volatile cache writes to persistent storage. Key: IGNITE-13658 URL: https://issues.apache.org/jira/browse/IGNITE-13658 Project: Ignite Issue Type: Bug Components: data structures Affects Versions: 2.9 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Various cluster synchronization primitives (latch, lock, semaphore e.t.c) are using volatile cache (`default-volatile-ds-group`). State of this primitives does not make sense on storage (restore, recovery), primitive's state is useful only for process in action. But it was stored in system data region. {noformat} if (cacheType != CacheType.USER && cfg.getDataRegionName() == null) cfg.setDataRegionName(cacheProcessor.context().database().systemDateRegionName()); {noformat} Which persisted if cluster have any persistent region: {noformat} addDataRegion( memCfg, createSystemDataRegion( memCfg.getSystemRegionInitialSize(), memCfg.getSystemRegionMaxSize(), CU.isPersistenceEnabled(memCfg) ), CU.isPersistenceEnabled(memCfg) ); {noformat} Should to have dedicate system region for volatile cache, and it should be in-memory. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13587) Calcite improvements. Append tests for unstable topology checking.
Stanilovsky Evgeny created IGNITE-13587: --- Summary: Calcite improvements. Append tests for unstable topology checking. Key: IGNITE-13587 URL: https://issues.apache.org/jira/browse/IGNITE-13587 Project: Ignite Issue Type: Test Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny After [1] was found in h2 realization we probably need for such kind of tests with calcite. [1] https://issues.apache.org/jira/browse/IGNITE-13572 (Duplicates in select query during partition eviction.) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13579) Calcite integration. Wrong distribution assertion in case of nested request execution.
Stanilovsky Evgeny created IGNITE-13579: --- Summary: Calcite integration. Wrong distribution assertion in case of nested request execution. Key: IGNITE-13579 URL: https://issues.apache.org/jira/browse/IGNITE-13579 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny request : {noformat} SELECT NAME FROM products WHERE CAT_ID IN (SELECT CAT_ID FROM products WHERE CAT_ID > 1) and ID > 2; {noformat} brings assertion like: {noformat} java.lang.AssertionError: All produced nodes must have equal traits. {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13554) ConcurrentModificationException on node join.
Stanilovsky Evgeny created IGNITE-13554: --- Summary: ConcurrentModificationException on node join. Key: IGNITE-13554 URL: https://issues.apache.org/jira/browse/IGNITE-13554 Project: Ignite Issue Type: Bug Components: general Reporter: Stanilovsky Evgeny {noformat} java.util.ConcurrentModificationException: null at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445) at java.util.HashMap$EntryIterator.next(HashMap.java:1479) at java.util.HashMap$EntryIterator.next(HashMap.java:1477) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.fillAffinityNodeCaches(GridDiscoveryManager.java:3278) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.createDiscoCache(GridDiscoveryManager.java:2364) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.access$3100(GridDiscoveryManager.java:171) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:723) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:528) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2608) at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2646) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:748) {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13521) Calcite integration. New implementation of IgniteLogical[Table|Index]Scan.
Stanilovsky Evgeny created IGNITE-13521: --- Summary: Calcite integration. New implementation of IgniteLogical[Table|Index]Scan. Key: IGNITE-13521 URL: https://issues.apache.org/jira/browse/IGNITE-13521 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny After [1] (ProjectionNode) was implemented, we need additional logical scans with Convention#NONE convention for optimizations requests with predicates. [1] https://issues.apache.org/jira/browse/IGNITE-13476 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13476) Calcite improvements. Implement ProjectionNode.
Stanilovsky Evgeny created IGNITE-13476: --- Summary: Calcite improvements. Implement ProjectionNode. Key: IGNITE-13476 URL: https://issues.apache.org/jira/browse/IGNITE-13476 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Currently we have no functionality for filtering only useful columns in inner representations. For further heap allocations reduction and as a consequence: gc pressure, we need to implement such approach. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13463) Calcite improvements. Rework RootNode rows exchange.
Stanilovsky Evgeny created IGNITE-13463: --- Summary: Calcite improvements. Rework RootNode rows exchange. Key: IGNITE-13463 URL: https://issues.apache.org/jira/browse/IGNITE-13463 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.8.1 Environment: In current implementation calcite.exec.rel.RootNode generates huge number of context switches, looks like we have a field for optimizations here. Need additional investigations and benchmarks. Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13457) Calcite integration. Join returns partial resultset.
Stanilovsky Evgeny created IGNITE-13457: --- Summary: Calcite integration. Join returns partial resultset. Key: IGNITE-13457 URL: https://issues.apache.org/jira/browse/IGNITE-13457 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Attachments: BenchmarkCalcite.java Check example attached, shortly, two simple caches : {noformat} /** */ public static class MyClass { /** */ @QuerySqlField public String name; /** */ @QuerySqlField @AffinityKeyMapped public Integer amount; ... } /** */ public static class MyClass2 { /** */ @QuerySqlField public String name; /** */ @QuerySqlField @AffinityKeyMapped public Integer amount2; } IgniteCache cache1 = ignite.getOrCreateCache(new CacheConfiguration() .setName("tbl1") .setSqlSchema("PUBLIC") .setQueryEntities(F.asList(new QueryEntity(Integer.class, MyClass.class).setTableName("TBL1"))) .setBackups(1) ); IgniteCache cache2 = ignite.getOrCreateCache(new CacheConfiguration() .setName("tbl2") .setSqlSchema("PUBLIC") .setQueryEntities(F.asList(new QueryEntity(Integer.class, MyClass2.class).setTableName("TBL2"))) .setBackups(1) ); {noformat} and further request : *select * from TBL1 t1 LEFT JOIN TBL2 t2 ON t1.amount = t2.amount2* returns : 9216 results with calcite engine and correctly 1 with H2. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13455) Calcite improvements. Cache sql plan fragments serialized representation.
Stanilovsky Evgeny created IGNITE-13455: --- Summary: Calcite improvements. Cache sql plan fragments serialized representation. Key: IGNITE-13455 URL: https://issues.apache.org/jira/browse/IGNITE-13455 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Calcite based {noformat}select *{noformat} benchmarks show significant time spending in serialization planner fragments. Looks like we have cpu time multiplication in linear participating nodes count. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13389) Add possibility to obtain full stack trace on thin client side.
Stanilovsky Evgeny created IGNITE-13389: --- Summary: Add possibility to obtain full stack trace on thin client side. Key: IGNITE-13389 URL: https://issues.apache.org/jira/browse/IGNITE-13389 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Some server side errors have deeply nested _suppressed_ or _caused by_ errors which contains informative messages for further problem recognition. Possible such mechanism need to be disabled on production environment. Example of non informative error on client side: {noformat} org.apache.ignite.internal.client.thin.ClientServerError: Ignite failed to process request [1]: Failed to update keys (retry update if possible).: [1] (server status code [1]) {noformat} but full stack holds the root case: {noformat} Caused by: class org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException: Failed to update keys (retry update if possible).: [1] at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.onPrimaryError(GridNearAtomicAbstractUpdateFuture.java:397) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2567) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2544) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1316) ... 13 more Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to update keys. ... 23 more Suppressed: class org.apache.ignite.IgniteCheckedException: Runtime failure on search row: SearchRow ... 25 more Caused by: class org.apache.ignite.IgniteCheckedException: org.apache.ignite.internal.binary.BinaryObjectImpl cannot be cast to org.apache.ignite.client.IgniteBinaryTest$ThinBinaryValue <-- here !!! at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.update(GridCacheMapEntry.java:6379) ... 30 more {noformat} looks like it would be useful to have additional setting in ThinClientConfiguration configured both as direct setting and through JMX (ClientProcessorMXBean). -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13383) Java thin client improvements: channel reconnect and redundant concurrency structures replacement.
Stanilovsky Evgeny created IGNITE-13383: --- Summary: Java thin client improvements: channel reconnect and redundant concurrency structures replacement. Key: IGNITE-13383 URL: https://issues.apache.org/jira/browse/IGNITE-13383 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny I found that {code:java}ConcurrentHashMap{code} and {code:java}AtomicLong{code} are redundant in java thin client code, yes i fix tests a bit but i can`t see any contradictions with thick client behavior here. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13376) Primary index can be created with fields sequence differ from declared.
Stanilovsky Evgeny created IGNITE-13376: --- Summary: Primary index can be created with fields sequence differ from declared. Key: IGNITE-13376 URL: https://issues.apache.org/jira/browse/IGNITE-13376 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.8.1, 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Steps to reproduce: Execute the following DDL (create table + create index): {noformat} CREATE TABLE IF NOT EXISTS Workspace ( id UUID NOT NULL, accountId UUID NOT NULL, jsonModel VARCHAR, PRIMARY KEY (accountId, id) ) WITH "template=partitioned,atomicity=transactional,key_type=org.gridgain.gmc.dto.workspace.WorkspaceKey,value_type=workspace.Workspace,cache_name=WorkspaceCache"; CREATE INDEX IF NOT EXISTS workspace_id_account_id_idx ON Workspace (id, accountId); {noformat} On node start got the following warning: {noformat} Index with the given set or subset of columns already exists (consider dropping either new or existing index) [cacheName=WorkspaceCache, schemaName=PUBLIC, tableName=WORKSPACE, newIndexName=WORKSPACE_ID_ACCOUNT_ID_IDX, existingIndexName=_key_PK, existingIndexColumns=[ID, ACCOUNTID]] {noformat} But PK and index have different order! -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13309) Extend c++ build documentation.
Stanilovsky Evgeny created IGNITE-13309: --- Summary: Extend c++ build documentation. Key: IGNITE-13309 URL: https://issues.apache.org/jira/browse/IGNITE-13309 Project: Ignite Issue Type: Improvement Components: documentation Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Need to append additional boost dependencies: *boost-regex* And additional steps for QTCreator running. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13299) Flacky GridServiceDeployClusterReadOnlyModeTest and all including tests.
Stanilovsky Evgeny created IGNITE-13299: --- Summary: Flacky GridServiceDeployClusterReadOnlyModeTest and all including tests. Key: IGNITE-13299 URL: https://issues.apache.org/jira/browse/IGNITE-13299 Project: Ignite Issue Type: Bug Components: managed services Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Starting GridServiceDeployClusterReadOnlyModeTest#testDeployClusterSingletonAllowed until failure and catch assertion on 200 iteration. This failure is due incorrect assumption that if service already deployed org.apache.ignite.services.Service#execute would be called before returning from deployment would be happened. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13289) PagesWriteThrottleSmokeTest.testThrottle start to fail on TC.
Stanilovsky Evgeny created IGNITE-13289: --- Summary: PagesWriteThrottleSmokeTest.testThrottle start to fail on TC. Key: IGNITE-13289 URL: https://issues.apache.org/jira/browse/IGNITE-13289 Project: Ignite Issue Type: Bug Components: persistence Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny PagesWriteThrottleSmokeTest.testThrottle start to fail on master, possible after IGNITE-12802 was merged. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13287) Minor optimizations forgotten from ignite-13086.
Stanilovsky Evgeny created IGNITE-13287: --- Summary: Minor optimizations forgotten from ignite-13086. Key: IGNITE-13287 URL: https://issues.apache.org/jira/browse/IGNITE-13287 Project: Ignite Issue Type: Improvement Components: general Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Some minor code improvements (pr #7864) have been forgotten after IGNITE-13086 merging. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13281) Test failed: GridIoManagerFileTransmissionSelfTest#testChunkHandlerInitSizeFail
Stanilovsky Evgeny created IGNITE-13281: --- Summary: Test failed: GridIoManagerFileTransmissionSelfTest#testChunkHandlerInitSizeFail Key: IGNITE-13281 URL: https://issues.apache.org/jira/browse/IGNITE-13281 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Attachments: Ignite_Tests_2.4_Java_8_9_10_11_Basic_1_24053.log.zip I found this problem on TC (current master) {code:java} [14:33:27]W: [org.apache.ignite:ignite-core] class org.apache.ignite.IgniteException: Test exception. Initialization failed [14:33:27]W: [org.apache.ignite:ignite-core]at org.apache.ignite.internal.managers.communication.GridIoManagerFileTransmissionSelfTest$16.chunkHandler(GridIoManagerFileTransmissionSelfTest.java:777) [14:33:27]W: [org.apache.ignite:ignite-core]at org.apache.ignite.internal.managers.communication.GridIoManager.createReceiver(GridIoManager.java:3062) [14:33:27]W: [org.apache.ignite:ignite-core]at org.apache.ignite.internal.managers.communication.GridIoManager.receiveFromChannel(GridIoManager.java:2949) [14:33:27]W: [org.apache.ignite:ignite-core]at org.apache.ignite.internal.managers.communication.GridIoManager.processOpenedChannel(GridIoManager.java:2892) [14:33:27]W: [org.apache.ignite:ignite-core]at org.apache.ignite.internal.managers.communication.GridIoManager.access$4800(GridIoManager.java:243) [14:33:27]W: [org.apache.ignite:ignite-core]at org.apache.ignite.internal.managers.communication.GridIoManager$7.run(GridIoManager.java:1234) [14:33:27]W: [org.apache.ignite:ignite-core]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [14:33:27]W: [org.apache.ignite:ignite-core]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13280) Improper index usage, fields enumeration not used with pk index creation.
Stanilovsky Evgeny created IGNITE-13280: --- Summary: Improper index usage, fields enumeration not used with pk index creation. Key: IGNITE-13280 URL: https://issues.apache.org/jira/browse/IGNITE-13280 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny For example: {code:java} CREATE TABLE PUBLIC.TEST_TABLE (FIRST_NAME VARCHAR, LAST_NAME VARCHAR, ADDRESS VARCHAR, LANG VARCHAR, CONSTRAINT PK_PERSON PRIMARY KEY (FIRST_NAME, LAST_NAME)); CREATE INDEX "idx2" ON PUBLIC.TEST_TABLE (LANG, ADDRESS); {code} and further explain: {code:java} SELECT "__Z0"."FIRST_NAME" AS "__C0_0", "__Z0"."LAST_NAME" AS "__C0_1", "__Z0"."ADDRESS" AS "__C0_2", "__Z0"."LANG" AS "__C0_3" FROM "PUBLIC"."TEST_TABLE" "__Z0" /* PUBLIC.IDX2: ADDRESS > 0 */ WHERE "__Z0"."ADDRESS" > 0 {code} this is erroneous to use "idx2" here, because first index field LANG not equals to predicate ADDRESS. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13278) Forgotten logger isInfoEnabled check.
Stanilovsky Evgeny created IGNITE-13278: --- Summary: Forgotten logger isInfoEnabled check. Key: IGNITE-13278 URL: https://issues.apache.org/jira/browse/IGNITE-13278 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny In RO tests with enabled -ea we can obtain near assertion: {code:java} java.lang.AssertionError: Logging at INFO level without checking if INFO level is enabled: Cluster state was changed from ACTIVE to ACTIVE at org.apache.ignite.testframework.junits.logger.GridTestLog4jLogger.info(GridTestLog4jLogger.java:481) ~[ignite-core-tests.jar] {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13229) GridClient instance leakage.
Stanilovsky Evgeny created IGNITE-13229: --- Summary: GridClient instance leakage. Key: IGNITE-13229 URL: https://issues.apache.org/jira/browse/IGNITE-13229 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Instances of GridClient - deprecated realization of thin client, still used for example, in _control.sh_ can be leaked in some circumstances. Can bring to OOM in some tests. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13121) Incorrect "Completed partition exchange" message triggered by client node (dis)connect.
Stanilovsky Evgeny created IGNITE-13121: --- Summary: Incorrect "Completed partition exchange" message triggered by client node (dis)connect. Key: IGNITE-13121 URL: https://issues.apache.org/jira/browse/IGNITE-13121 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Now topology change with client cluster node triggers near message, this is erroneous due to no partition exchange have place here. All we nee message.d to log here - is only topology change. {noformat} Completed partition exchange [localNode=e0062158-e1d1-4139-aca3-332ddc919b00, exchange=GridDhtPartitionsExchangeFuture [topVer=AffinityTopologyVersion [topVer=97, minorTopVer=0], evt=NODE_LEFT, evtNode=TcpDiscoveryNode [id=e91e44dd-fb7e-415a-a980-3d6c597f46e8, consistentId=e91e44dd-fb7e-415a-a980-3d6c597f46e8, addrs=ArrayList [10.122.236.44], sockAddrs=HashSet [grid2094/1.2.3.4:0], discPort=0, order=94, intOrder=59, lastExchangeTime=1590669922545, loc=false, ver=2.5.8#20190912-sha1:67c23274, isClient=true], {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13086) Improve current page replacement mechanism.
Stanilovsky Evgeny created IGNITE-13086: --- Summary: Improve current page replacement mechanism. Key: IGNITE-13086 URL: https://issues.apache.org/jira/browse/IGNITE-13086 Project: Ignite Issue Type: Improvement Components: persistence Affects Versions: 2.8.1 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Attachments: IgnitePdsPageReplacementTestToYard.java Experimentally proven that current page replacement functionality has problems with replace candidate computation. Current implementation obtain 5 random pages and make further decisions basing this pages last touch timestamp and some inner flags, however still possible cases when this pages set can be simply nullified due to inner logic. All improvements need to be proven, for example, by simple scenario: 1. put some data until event EVT_PAGE_REPLACEMENT_STARTED is triggered 2. put 2 times more data than been loaded in p1. 3. execute fullscan (through ScanQuery) for old\cold data processing emulation. 4. start processing only pages which can fit into current mem region. 5. measure "replacedPages" metric. (i attach code mention above) -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13044) Additional possibility to check for high contending keys through transactional payload.
Stanilovsky Evgeny created IGNITE-13044: --- Summary: Additional possibility to check for high contending keys through transactional payload. Key: IGNITE-13044 URL: https://issues.apache.org/jira/browse/IGNITE-13044 Project: Ignite Issue Type: Improvement Components: cache Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny In process of limited keys highload updates there are possible to obtain high queue of locking candidates. Want to be able for monitoring such situations, jmx seems to be correct place for it. Any additional info would be append here after pr approval and resolution also appropriate documentation ticket, of course, need to be linked. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13039) Get rid of possibility to change final static fields through reflection for test purpose.
Stanilovsky Evgeny created IGNITE-13039: --- Summary: Get rid of possibility to change final static fields through reflection for test purpose. Key: IGNITE-13039 URL: https://issues.apache.org/jira/browse/IGNITE-13039 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Rare for tests purpose there is a need for changing some private fields through reflection. Changing *static final* fields in this manner could bring more tears, check for example [1] and [2]. [1] https://stackoverflow.com/questions/3301635/change-private-static-final-field-using-java-reflection [2] http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.28 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13036) Add event triggered while page replacement start.
Stanilovsky Evgeny created IGNITE-13036: --- Summary: Add event triggered while page replacement start. Key: IGNITE-13036 URL: https://issues.apache.org/jira/browse/IGNITE-13036 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Page replacement between in memory pages and disk stored pages will be triggered if no DataRegion free space available for the new payload. There is a need for checking such events. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13034) Append additional yardstick test for page replacements test purpose.
Stanilovsky Evgeny created IGNITE-13034: --- Summary: Append additional yardstick test for page replacements test purpose. Key: IGNITE-13034 URL: https://issues.apache.org/jira/browse/IGNITE-13034 Project: Ignite Issue Type: Improvement Components: yardstick Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny There is a need in additional yardstick benchmarks, which will measure throughput with page replacement already in action. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-13019) Erroneous join result
Stanilovsky Evgeny created IGNITE-13019: --- Summary: Erroneous join result Key: IGNITE-13019 URL: https://issues.apache.org/jira/browse/IGNITE-13019 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Check reproducer near, seems something wrong with pkey logic , if we change it - results will be ok. {code:java} @Test public void test() throws Exception { inlineSize = 10; startGrid(0); String t1 = "CREATE TABLE dept\n" + " (\n" + "deptno LONG,\n" + "dname VARCHAR,\n" + "loc VARCHAR,\n" + "CONSTRAINT pk_dept PRIMARY KEY (deptno)\n" + " );"; execSql(t1); String t2 = "CREATE TABLE emp\n" + " (\n" + "empno LONG,\n" + "ename VARCHAR,\n" + "job VARCHAR,\n" + "mgr INTEGER,\n" + "hiredate DATE,\n" + "sal LONG,\n" + "comm LONG,\n" + "deptno LONG,\n" + "CONSTRAINT pk_emp PRIMARY KEY (empno)\n" + " );"; execSql(t2); execSql("insert into dept (deptno, dname, loc) values (10, 'ACCOUNTING', 'NEW YORK');"); execSql("insert into dept (deptno, dname, loc) values(20, 'RESEARCH', 'DALLAS');"); execSql("insert into dept (deptno, dname, loc) values(30, 'SALES', 'CHICAGO');"); execSql("insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values(7839, 'KING', 'PRESIDENT', null, to_date('17-11-1981','dd-mm-'), 5000, null, 10);"); execSql("insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values( 7698, 'BLAKE', 'MANAGER', 7839, to_date('1-5-1981','dd-mm-'), 2850, null, 30);"); execSql("insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno) values(7782, 'CLARK', 'MANAGER', 7839, to_date('9-6-1981','dd-mm-'), 2450, null, 10);"); List> vals1 = execSql("SELECT d.deptno,\n" + "e.ename\n" + "FROM EMP e\n" + "INNER JOIN dept d\n" + "ON e.deptno = d.deptno AND e.deptno = 10;"); assertEquals(vals1.size(), 2); List> vals2 = execSql("SELECT d.deptno,\n" + "e.ename\n" + "FROM EMP e\n" + "INNER JOIN dept d\n" + "ON e.deptno = d.deptno AND d.DEPTNO = 10;"); //assertEquals(vals2.size(), 2); <--* uncomment for fail* execSql("drop table dept"); String t3 = "CREATE TABLE dept\n" + " (\n" + "deptno LONG,\n" + "dname VARCHAR,\n" + "loc VARCHAR,\n" + "CONSTRAINT pk_dept PRIMARY KEY (deptno, dname)\n" + " );"; execSql(t3); execSql("insert into dept (deptno, dname, loc) values (10, 'ACCOUNTING', 'NEW YORK');"); execSql("insert into dept (deptno, dname, loc) values(20, 'RESEARCH', 'DALLAS');"); execSql("insert into dept (deptno, dname, loc) values(30, 'SALES', 'CHICAGO');"); List> vals11 = execSql("SELECT d.deptno,\n" + "e.ename\n" + "FROM EMP e\n" + "INNER JOIN dept d\n" + "ON e.deptno = d.deptno AND e.deptno = 10;"); assertEquals(vals11.size(), 2); List> vals22 = execSql("SELECT d.deptno,\n" + "e.ename\n" + "FROM EMP e\n" + "INNER JOIN dept d\n" + "ON e.deptno = d.deptno AND d.DEPTNO = 10;"); assertEquals(vals22.size(), 2); } /** */ private List> execSql(String qry) { return grid(0).context().query() .querySqlFields(new SqlFieldsQuery(qry).setLazy(true), false) .getAll(); } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12938) controls.sh utility commands: IdleVerify and ValidateIndexes use eventual payload check.
Stanilovsky Evgeny created IGNITE-12938: --- Summary: controls.sh utility commands: IdleVerify and ValidateIndexes use eventual payload check. Key: IGNITE-12938 URL: https://issues.apache.org/jira/browse/IGNITE-12938 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.9 "Checkpoint with dirty pages started! Cluster not idle" - not idle detection command, but mechanism for check payload during commands execution. Additionally current functional miss check on caches without persistence. Remove old functionality from PageMemory and move it into update counters usage. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12884) Extend debug output for restorePartitionStates method.
Stanilovsky Evgeny created IGNITE-12884: --- Summary: Extend debug output for restorePartitionStates method. Key: IGNITE-12884 URL: https://issues.apache.org/jira/browse/IGNITE-12884 Project: Ignite Issue Type: Improvement Components: persistence Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.9 There is a frequently need to investigate grid initializing time. Possibility to know additionally restored partitions size would be helpful. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12856) Fix two corruptedIndexPartition flaky tests.
Stanilovsky Evgeny created IGNITE-12856: --- Summary: Fix two corruptedIndexPartition flaky tests. Key: IGNITE-12856 URL: https://issues.apache.org/jira/browse/IGNITE-12856 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny TC highlights two new flack tests: org.apache.ignite.util.GridCommandHandlerIndexingTest#testCorruptedIndexPartitionShouldFailValidationWithCrc org.apache.ignite.util.GridCommandHandlerIndexingTest#testCorruptedIndexPartitionShouldFailValidationWithoutCrc -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12725) Excessive backups performance suggestion.
Stanilovsky Evgeny created IGNITE-12725: --- Summary: Excessive backups performance suggestion. Key: IGNITE-12725 URL: https://issues.apache.org/jira/browse/IGNITE-12725 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.8 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8.1 I found that performance suggestion for zeroing backups count is incorrect in terms of proper cluster exploitation and easy way to loose your data. Discussion in dev list [1]. I suggest simple remove this message. [1] http://apache-ignite-developers.2346864.n4.nabble.com/Excessive-backups-performance-suggestion-td45658.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12722) Get rid of GridCacheDatabaseSharedManager#getPageMemoryForCacheGroup functionality.
Stanilovsky Evgeny created IGNITE-12722: --- Summary: Get rid of GridCacheDatabaseSharedManager#getPageMemoryForCacheGroup functionality. Key: IGNITE-12722 URL: https://issues.apache.org/jira/browse/IGNITE-12722 Project: Ignite Issue Type: Improvement Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny I found that {code:java}getPageMemoryForCacheGroup{code} with inner PageMemory casts can be easily removed. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12711) Change dataRegion max size for preventing possible test fail.
Stanilovsky Evgeny created IGNITE-12711: --- Summary: Change dataRegion max size for preventing possible test fail. Key: IGNITE-12711 URL: https://issues.apache.org/jira/browse/IGNITE-12711 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.9 Limit max region size for preventing possible tests failure. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12577) High persistence load can trigger erroneous assert: "Page was pin when we resolve abs pointer, it can not be evicted".
Stanilovsky Evgeny created IGNITE-12577: --- Summary: High persistence load can trigger erroneous assert: "Page was pin when we resolve abs pointer, it can not be evicted". Key: IGNITE-12577 URL: https://issues.apache.org/jira/browse/IGNITE-12577 Project: Ignite Issue Type: Bug Components: data structures Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12547) Excessive AtomicLong instantiations leads to GC pressure.
Stanilovsky Evgeny created IGNITE-12547: --- Summary: Excessive AtomicLong instantiations leads to GC pressure. Key: IGNITE-12547 URL: https://issues.apache.org/jira/browse/IGNITE-12547 Project: Ignite Issue Type: Improvement Components: persistence Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.9 Excessive AtomicLong usage, i.e. AtomicLong[] leads to GC pressure and further starvation log messages, it would be more effective to replace AtomicLong[] with AtomicLongArray. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12474) Fix boost compatibility for cpp thin-client-test.
Stanilovsky Evgeny created IGNITE-12474: --- Summary: Fix boost compatibility for cpp thin-client-test. Key: IGNITE-12474 URL: https://issues.apache.org/jira/browse/IGNITE-12474 Project: Ignite Issue Type: Improvement Components: thin client Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Current teamcity_boost implementation leads to errors like: "src/teamcity/teamcity_boost.cpp:22:10: fatal error: boost/test/unit_test_suite_impl.hpp: No such file or catalog. #include " dev list discussion [1] [1] http://apache-ignite-developers.2346864.n4.nabble.com/Can-t-run-CPP-tests-locally-on-linux-machine-td29597.html -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12469) CorruptedTreeException can hold unmutable sensitive data.
Stanilovsky Evgeny created IGNITE-12469: --- Summary: CorruptedTreeException can hold unmutable sensitive data. Key: IGNITE-12469 URL: https://issues.apache.org/jira/browse/IGNITE-12469 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny System property IGNITE_TO_STRING_INCLUDE_SENSITIVE don`t hide sensitive data while CorruptedTreeException occurred. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12452) Dump pages from checkpointBuffer in upper priority.
Stanilovsky Evgeny created IGNITE-12452: --- Summary: Dump pages from checkpointBuffer in upper priority. Key: IGNITE-12452 URL: https://issues.apache.org/jira/browse/IGNITE-12452 Project: Ignite Issue Type: Improvement Components: data structures Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Current default throttling algorithm make throttling enable decision basing on checkpoint buffer full fill, in this approach possible long throttling waiting pauses. I suggest to dump pages in upper priority in this case. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12442) Fix unnecessary synchronized on PagesCache#add.
Stanilovsky Evgeny created IGNITE-12442: --- Summary: Fix unnecessary synchronized on PagesCache#add. Key: IGNITE-12442 URL: https://issues.apache.org/jira/browse/IGNITE-12442 Project: Ignite Issue Type: Improvement Components: data structures Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny After [IGNITE-6930|https://issues.apache.org/jira/browse/IGNITE-6930] was implemented, there are some synchronization extra usage found. 1. org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.PagesCache#add 2. org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.PagesCache#emptyFlushCnt hope need to fix it. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12434) Dump checkpoint readLock holder threads if writeLock can`t take lock more than threshold timeout.
Stanilovsky Evgeny created IGNITE-12434: --- Summary: Dump checkpoint readLock holder threads if writeLock can`t take lock more than threshold timeout. Key: IGNITE-12434 URL: https://issues.apache.org/jira/browse/IGNITE-12434 Project: Ignite Issue Type: Improvement Components: persistence Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Huge cache operations like removeAll or some hardware problems with further gc lock can await readLock for a long time , this can prevent for long writeLock wait timeout and as a result - long checkpoint timeout, it would be very informative to log such situations. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12353) Need to have additional sql benchmarks which covers Date types and inlining usage.
Stanilovsky Evgeny created IGNITE-12353: --- Summary: Need to have additional sql benchmarks which covers Date types and inlining usage. Key: IGNITE-12353 URL: https://issues.apache.org/jira/browse/IGNITE-12353 Project: Ignite Issue Type: Improvement Components: yardstick Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 In case of production operation with new versions occurs a need to check additional sql request scenarios. Data fields with indexes and inline size - one of it, additionally this test need to extend already existing NativeSqlInsertDeleteBenchmark. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12277) Index usage is not applicable for mixed IN and EQUALS queries.
Stanilovsky Evgeny created IGNITE-12277: --- Summary: Index usage is not applicable for mixed IN and EQUALS queries. Key: IGNITE-12277 URL: https://issues.apache.org/jira/browse/IGNITE-12277 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.7.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 create table test(pk int, a int, b int); create index idx on test(a); select * from test where a in(r1 ...r2) <- index usage passed here, explain show correctness. select * from test where a in(r1 ...r2) and b = r3 <- index usage failed here, but there is no rejection for using it. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (IGNITE-12122) Remove setIncludeEventTypes from GridAbstractTest.
Stanilovsky Evgeny created IGNITE-12122: --- Summary: Remove setIncludeEventTypes from GridAbstractTest. Key: IGNITE-12122 URL: https://issues.apache.org/jira/browse/IGNITE-12122 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.7.5 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Attachments: flamegraph-18988.svg Simple cache.put() hot threads measurements shows that GridCacheEventManager::addEvent consumes about 7% of overall time, i suggest to remove this events from GridAbstractTest::getConfiguration and stores only for really requiring tests. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Created] (IGNITE-12061) Silently fail while try to recreate already existing index with differ inline_size.
Stanilovsky Evgeny created IGNITE-12061: --- Summary: Silently fail while try to recreate already existing index with differ inline_size. Key: IGNITE-12061 URL: https://issues.apache.org/jira/browse/IGNITE-12061 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.7.5, 2.7, 2.5 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny INLINE_SIZE differ from previous value is not correctly sets. 1. create index idx0(c1, c2) 2. drop idx0 3. create index idx0(c1, c2) inline_size 100; inline_size remains the same, in this case default = 10. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (IGNITE-12056) Index creation sequence may influence on execution plan.
Stanilovsky Evgeny created IGNITE-12056: --- Summary: Index creation sequence may influence on execution plan. Key: IGNITE-12056 URL: https://issues.apache.org/jira/browse/IGNITE-12056 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.7, 2.5 Reporter: Stanilovsky Evgeny Attachments: index.diff Different index creation, for example on new attached nodes, may breaks expected index usage. Reproducer in attach. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (IGNITE-11803) Re-balancing is cancelled if client node joins, reinvestigate.
Stanilovsky Evgeny created IGNITE-11803: --- Summary: Re-balancing is cancelled if client node joins, reinvestigate. Key: IGNITE-11803 URL: https://issues.apache.org/jira/browse/IGNITE-11803 Project: Ignite Issue Type: Bug Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Improvement [1] looks needs to be solved this problem, but in logs i see different behavior. {code:java} 2019-04-23 15:22:56.351[INFO ][disco-event-worker-#159%DPL_GRID%DplGridNodeName%][o.a.i.i.m.d.GridDiscoveryManager] Added new node to topology: TcpDiscoveryNode [id=4c9427d7-5d06-4460-98ad-6586cf177192, addrs=ArrayList [], sockAddrs= HashSet [, discPort=0, order=159, intOrder=159, lastExchangeTime=1556022094000, loc=false, ver=2.5.1#20190327-sha1:6edfea1b, isClient=true] 2019-04-23 15:22:56.353[INFO ][disco-event-worker-#159%DPL_GRID%DplGridNodeName%][o.a.i.i.m.d.GridDiscoveryManager] Topology snapshot [ver=159, servers=, clients=1, CPUs=8848, offheap=19.0GB, heap=4900.0GB] 2019-04-23 15:22:56.353[INFO ][disco-event-worker-#159%DPL_GRID%DplGridNodeName%][o.a.i.i.m.d.GridDiscoveryManager] ^-- Node [id=80FC83EB-F125-48F0-ACBE-8ADB80A065A3, clusterState=ACTIVE] 2019-04-23 15:22:56.353[INFO ][disco-event-worker-#159%DPL_GRID%DplGridNodeName%][o.a.i.i.m.d.GridDiscoveryManager] ^-- Baseline [id=0, size=158, online=158, offline=0] 2019-04-23 15:22:56.353[INFO ][disco-event-worker-#159%DPL_GRID%DplGridNodeName%][o.a.i.i.m.d.GridDiscoveryManager] Data Regions Configured: 2019-04-23 15:22:56.353[INFO ][disco-event-worker-#159%DPL_GRID%DplGridNodeName%][o.a.i.i.m.d.GridDiscoveryManager] ^-- dpl_mem_plc [initSize=256.0 MiB, maxSize=592.0 GiB, persistenceEnabled=true] 2019-04-23 15:22:56.353[INFO ][disco-event-worker-#159%DPL_GRID%DplGridNodeName%][o.a.i.i.m.d.GridDiscoveryManager] ^-- not-persisted [initSize=256.0 MiB, maxSize=576.0 GiB, persistenceEnabled=false] 2019-04-23 15:22:56.356[INFO ][exchange-worker-#160%DPL_GRID%DplGridNodeName%][o.a.ignite.internal.exchange.time] Started exchange init [topVer=AffinityTopologyVersion [topVer=159, minorTopVer=0], crd=false, evt=NODE_JOINED, evtNode=4c9427d7-5d06 -4460-98ad-6586cf177192, customEvt=null, allowMerge=true] 2019-04-23 15:22:56.393[INFO ][exchange-worker-#160%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.d.d.p.GridDhtPartitionsExchangeFuture] Finish exchange future [startVer=AffinityTopologyVersion [topVer=159, minorTopVer=0], resVer=AffinityTopologyVersion [topVer=159, minorTopVer=0], err=null] 2019-04-23 15:22:56.417[INFO ][exchange-worker-#160%DPL_GRID%DplGridNodeName%][o.a.ignite.internal.exchange.time] Finished exchange init [topVer=AffinityTopologyVersion [topVer=159, minorTopVer=0], crd=false] 2019-04-23 15:22:56.637[INFO ][wal-file-archiver%DPL_GRID%DplGridNodeName-#188%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.w.FileWriteAheadLogManager] Copied file [src=/gridgain/ssd/data/wal/10_124_133_10_47500/0008.wal, dst=/gridgain/sa s/wal_archive/10_124_133_10_47500/0008.wal] 2019-04-23 15:22:57.442[INFO ][exchange-worker-#160%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.d.d.p.GridDhtPartitionDemander] Cancelled rebalancing from all nodes [grp=SYSTEM_CACHEGROUP_DTR_union-module, topVer=AffinityTopologyVersion [topVer=158, minorTopVer=6]] 2019-04-23 15:22:57.443[INFO ][exchange-worker-#160%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.d.d.p.GridDhtPartitionDemander] Completed rebalance future: RebalanceFuture [grp=CacheGroupContext [grp=SYSTEM_CACHEGROUP_DTR_union-module], topVer=AffinityTopologyVersion [topVer=158, minorTopVer=6], rebalanceId=1003, routines=3] 2019-04-23 15:22:57.443[INFO ][exchange-worker-#160%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.d.d.p.GridDhtPartitionDemander] Cancelled rebalancing from all nodes [grp=CACHEGROUP_SYSTEM_COMPONENT, topVer=AffinityTopologyVersion [topVer=158, minorTopVer=6]] 2019-04-23 15:22:57.444[INFO ][exchange-worker-#160%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.d.d.p.GridDhtPartitionDemander] Completed rebalance future: RebalanceFuture [grp=CacheGroupContext [grp=CACHEGROUP_SYSTEM_COMPONENT], topVer=AffinityTopologyVersion [ {code} [1] https://issues.apache.org/jira/browse/IGNITE-7165 [~Mmuzaf] [~v.pyatkov] do u have ideas? thanks ! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11785) Huge heap pressure on sql rebuild indexes activity.
Stanilovsky Evgeny created IGNITE-11785: --- Summary: Huge heap pressure on sql rebuild indexes activity. Key: IGNITE-11785 URL: https://issues.apache.org/jira/browse/IGNITE-11785 Project: Ignite Issue Type: Bug Components: sql Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Attachments: Screenshot_20190419_095738.png We found huge heap pressure and allocations rate in case of index rebuilding process. !Screenshot_20190419_095738.png! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11774) NPE TxDeadlockDetection in case of concurrent cache stop and tx.
Stanilovsky Evgeny created IGNITE-11774: --- Summary: NPE TxDeadlockDetection in case of concurrent cache stop and tx. Key: IGNITE-11774 URL: https://issues.apache.org/jira/browse/IGNITE-11774 Project: Ignite Issue Type: Bug Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny In process of working under : [IGNITE-11592|https://issues.apache.org/jira/browse/IGNITE-11592] reproduced NPE, need further research, reproducer commented in upper ticket code. {code:java} java.lang.NullPointerException at org.apache.ignite.internal.processors.cache.transactions.TxDeadlockDetection$TxDeadlockFuture.primary(TxDeadlockDetection.java:400) at org.apache.ignite.internal.processors.cache.transactions.TxDeadlockDetection$TxDeadlockFuture.mapTxKeys(TxDeadlockDetection.java:376) at org.apache.ignite.internal.processors.cache.transactions.TxDeadlockDetection$TxDeadlockFuture.map(TxDeadlockDetection.java:275) at org.apache.ignite.internal.processors.cache.transactions.TxDeadlockDetection$TxDeadlockFuture.init(TxDeadlockDetection.java:267) at org.apache.ignite.internal.processors.cache.transactions.TxDeadlockDetection$TxDeadlockFuture.access$100(TxDeadlockDetection.java:158) at org.apache.ignite.internal.processors.cache.transactions.TxDeadlockDetection.detectDeadlock(TxDeadlockDetection.java:91) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.detectDeadlock(IgniteTxManager.java:2155) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearOptimisticTxPrepareFuture.onTimeout(GridNearOptimisticTxPrepareFuture.java:776) {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11689) Additional log info about initiator node in case of RingMessageWorker#processNodeFailedMessage.
Stanilovsky Evgeny created IGNITE-11689: --- Summary: Additional log info about initiator node in case of RingMessageWorker#processNodeFailedMessage. Key: IGNITE-11689 URL: https://issues.apache.org/jira/browse/IGNITE-11689 Project: Ignite Issue Type: Bug Components: messaging Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Need to have opportunity to get {code:java} TcpDiscoveryNodeFailedMessage{code} message initiator node info. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11592) NPE in case of continuing tx and cache stop operation.
Stanilovsky Evgeny created IGNITE-11592: --- Summary: NPE in case of continuing tx and cache stop operation. Key: IGNITE-11592 URL: https://issues.apache.org/jira/browse/IGNITE-11592 Project: Ignite Issue Type: Bug Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 Parallel cache stop and tx operations may lead to NPE. {code} java.lang.NullPointerException at org.apache.ignite.internal.processors.cache.CacheObjectImpl.finishUnmarshal(CacheObjectImpl.java:129) at org.apache.ignite.internal.processors.cache.transactions.TxEntryValueHolder.unmarshal(TxEntryValueHolder.java:151) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.unmarshal(IgniteTxEntry.java:964) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.unmarshal(IgniteTxHandler.java:306) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:338) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:154) at org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.lambda$null$0(IgniteTxHandler.java:580) at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:496) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.lang.Thread.run(Thread.java:748) {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11567) runFailureDetectionOnReceiptError fail with SocketTimeoutException would be thrown.
Stanilovsky Evgeny created IGNITE-11567: --- Summary: runFailureDetectionOnReceiptError fail with SocketTimeoutException would be thrown. Key: IGNITE-11567 URL: https://issues.apache.org/jira/browse/IGNITE-11567 Project: Ignite Issue Type: Bug Components: general Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Fix For: 2.8 after working under [1] i found that if {code:java}SocketTimeoutException{code} would be thrown from readReceipt, test {code}org.apache.ignite.spi.discovery.tcp.TcpDiscoverySelfTest#runFailureDetectionOnReceiptError{code} will fail, i suppose it`s due to {code} org.apache.ignite.spi.discovery.tcp.ServerImpl#sendMessageDirectly org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper#checkFailureTimeoutReached {code} and {code} if (X.hasCause(e, IgniteSpiOperationTimeoutException.class, SocketTimeoutException.class, SocketException.class)) return true; {code} logic, need further alalysis. [1] https://issues.apache.org/jira/browse/IGNITE-7152 -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11427) Document custom node fail functional.
Stanilovsky Evgeny created IGNITE-11427: --- Summary: Document custom node fail functional. Key: IGNITE-11427 URL: https://issues.apache.org/jira/browse/IGNITE-11427 Project: Ignite Issue Type: Improvement Components: documentation Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Artem Budnikov Fix For: 2.8 Attachments: Screenshot_20190227_100539.png Append additional node fail documentation related to [1] [1] https://issues.apache.org/jira/browse/IGNITE-11332 how it looks into jconsole: !Screenshot_20190227_100539.png! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11332) Add jmx ability to exclude node from topology.
Stanilovsky Evgeny created IGNITE-11332: --- Summary: Add jmx ability to exclude node from topology. Key: IGNITE-11332 URL: https://issues.apache.org/jira/browse/IGNITE-11332 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 In very rare corner cases may occur situation that physically unreachable host still present in topology that may leads to hanging overall cluster operations. Add ability to exclude with specific warning. {code:java} /** * Exclude node from cluster. * * @param nodeId Node id. */ @MXBeanDescription("Exclude node from cluster.") public void excludeNode(UUID nodeId);{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11245) Replace unused IGNITE_BINARY_META_UPDATE_TIMEOUT parameter.
Stanilovsky Evgeny created IGNITE-11245: --- Summary: Replace unused IGNITE_BINARY_META_UPDATE_TIMEOUT parameter. Key: IGNITE-11245 URL: https://issues.apache.org/jira/browse/IGNITE-11245 Project: Ignite Issue Type: Improvement Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Andrey Kalinin Fix For: 2.8 Replace unused IGNITE_BINARY_META_UPDATE_TIMEOUT with IGNITE_WAIT_SCHEMA_UPDATE. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11187) Additional documentation for re-balancing is canceled if client node joins.
Stanilovsky Evgeny created IGNITE-11187: --- Summary: Additional documentation for re-balancing is canceled if client node joins. Key: IGNITE-11187 URL: https://issues.apache.org/jira/browse/IGNITE-11187 Project: Ignite Issue Type: Improvement Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Maxim Muzafarov Fix For: 2.8 Need additional documentation for [IGNITE-7165] Re-balancing is canceled if client node joins. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11064) Add documentation for enabling cache statistics only on appropriate nodes.
Stanilovsky Evgeny created IGNITE-11064: --- Summary: Add documentation for enabling cache statistics only on appropriate nodes. Key: IGNITE-11064 URL: https://issues.apache.org/jira/browse/IGNITE-11064 Project: Ignite Issue Type: Improvement Components: documentation Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Fix For: 2.8 System property: IGNITE_DISCOVERY_DISABLE_CACHE_METRICS_UPDATE (false default) will disable statistic collecting even if statisticsEnabled flag is true. [IGNITE-10172|https://issues.apache.org/jira/browse/IGNITE-10172] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-11065) System view for caches.
Stanilovsky Evgeny created IGNITE-11065: --- Summary: System view for caches. Key: IGNITE-11065 URL: https://issues.apache.org/jira/browse/IGNITE-11065 Project: Ignite Issue Type: Improvement Components: documentation Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Fix For: 2.8 All this fields accessible from _IGNITE.CACHES_ view: {code:java} SELECT NAME, CACHE_ID, CACHE_TYPE, GROUP_ID, GROUP_NAME, " + "CACHE_MODE, ATOMICITY_MODE, IS_ONHEAP_CACHE_ENABLED, IS_COPY_ON_READ, IS_LOAD_PREVIOUS_VALUE, " + "IS_READ_FROM_BACKUP, PARTITION_LOSS_POLICY, NODE_FILTER, TOPOLOGY_VALIDATOR, IS_EAGER_TTL, " + "WRITE_SYNCHRONIZATION_MODE, IS_INVALIDATE, IS_EVENTS_DISABLED, IS_STATISTICS_ENABLED, " + "IS_MANAGEMENT_ENABLED, BACKUPS, AFFINITY, AFFINITY_MAPPER, " + "REBALANCE_MODE, REBALANCE_BATCH_SIZE, REBALANCE_TIMEOUT, REBALANCE_DELAY, REBALANCE_THROTTLE, " + "REBALANCE_BATCHES_PREFETCH_COUNT, REBALANCE_ORDER, " + "EVICTION_FILTER, EVICTION_POLICY_FACTORY, " + "IS_NEAR_CACHE_ENABLED, NEAR_CACHE_EVICTION_POLICY_FACTORY, NEAR_CACHE_START_SIZE, " + "DEFAULT_LOCK_TIMEOUT, CACHE_INTERCEPTOR, CACHE_STORE_FACTORY, " + "IS_STORE_KEEP_BINARY, IS_READ_THROUGH, IS_WRITE_THROUGH, " + "IS_WRITE_BEHIND_ENABLED, WRITE_BEHIND_COALESCING, WRITE_BEHIND_FLUSH_SIZE, " + "WRITE_BEHIND_FLUSH_FREQUENCY, WRITE_BEHIND_FLUSH_THREAD_COUNT, WRITE_BEHIND_FLUSH_BATCH_SIZE, " + "MAX_CONCURRENT_ASYNC_OPERATIONS, CACHE_LOADER_FACTORY, CACHE_WRITER_FACTORY, EXPIRY_POLICY_FACTORY, " + "IS_SQL_ESCAPE_ALL, SQL_SCHEMA, SQL_INDEX_MAX_INLINE_SIZE, IS_SQL_ONHEAP_CACHE_ENABLED, " + "SQL_ONHEAP_CACHE_MAX_SIZE, QUERY_DETAILS_METRICS_SIZE, QUERY_PARALLELISM, MAX_QUERY_ITERATORS_COUNT, " + "DATA_REGION_NAME FROM IGNITE.CACHES {code} appropriate ticket [IGNITE-9500|https://issues.apache.org/jira/browse/IGNITE-9500] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10881) Normalize QueryEntities if cache in restarting state need to be refactored.
Stanilovsky Evgeny created IGNITE-10881: --- Summary: Normalize QueryEntities if cache in restarting state need to be refactored. Key: IGNITE-10881 URL: https://issues.apache.org/jira/browse/IGNITE-10881 Project: Ignite Issue Type: Improvement Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 after [IGNITE-8911|https://issues.apache.org/jira/browse/IGNITE-8911] {code:java}restartingCaches{code} need to be changed into {code:java}restartId{code} check. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10797) Replace unused methods from IgniteCacheSnapshotManager.
Stanilovsky Evgeny created IGNITE-10797: --- Summary: Replace unused methods from IgniteCacheSnapshotManager. Key: IGNITE-10797 URL: https://issues.apache.org/jira/browse/IGNITE-10797 Project: Ignite Issue Type: Improvement Components: persistence Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 Replace unused methods: IgniteCacheSnapshotManager#flushDirtyPageHandler IgniteCacheSnapshotManager#onPageWrite -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10654) Report in case of creating index with already existing fields collection.
Stanilovsky Evgeny created IGNITE-10654: --- Summary: Report in case of creating index with already existing fields collection. Key: IGNITE-10654 URL: https://issues.apache.org/jira/browse/IGNITE-10654 Project: Ignite Issue Type: Improvement Components: sql Affects Versions: 2.7 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 Report in log if new index creating with already existing fields collection. for example, need to log warn here: {code:java} cache.query(new SqlFieldsQuery("create index \"idx1\" on Val(keyStr, keyLong)")); cache.query(new SqlFieldsQuery("create index \"idx3\" on Val(keyStr, keyLong)")); {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10494) fail with closed ticket IGNITE-1094 on tests.
Stanilovsky Evgeny created IGNITE-10494: --- Summary: fail with closed ticket IGNITE-1094 on tests. Key: IGNITE-10494 URL: https://issues.apache.org/jira/browse/IGNITE-10494 Project: Ignite Issue Type: Improvement Reporter: Stanilovsky Evgeny Still have {code:java} public void testCustomSchemaMultipleCachesTablesCollision() throws Exception { //TODO: Rewrite with dynamic cache creation, and GRID start in #beforeTest after resolve of //TODO: https://issues.apache.org/jira/browse/IGNITE-1094 fail("https://issues.apache.org/jira/browse/IGNITE-1094;); {code} in tests environment, while appropriate ticket already closed. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10492) No need to normalize QueryEntities if cache in restarting state.
Stanilovsky Evgeny created IGNITE-10492: --- Summary: No need to normalize QueryEntities if cache in restarting state. Key: IGNITE-10492 URL: https://issues.apache.org/jira/browse/IGNITE-10492 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 After IGNITE-7976 implementation we can obtain caches with erroneous normalized QueryEntities. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-10128) IO race during read\write cache configurations.
Stanilovsky Evgeny created IGNITE-10128: --- Summary: IO race during read\write cache configurations. Key: IGNITE-10128 URL: https://issues.apache.org/jira/browse/IGNITE-10128 Project: Ignite Issue Type: Improvement Components: persistence Affects Versions: 2.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 During grid usage, found problem below. I tries simultaneously start several nodes and call *activate* on ** each node. {code:java} [15:38:25,186][INFO][exchange-worker-#63][FileWriteAheadLogManager] Resuming logging to WAL segment [file=/storage/ssd/mshonichev/tiden/pme-181030-153724/test_pme_bench/ignite.server.2/work/db/wal/node2/.wal, offset=0, ver=2] [15:38:25,210][INFO][exchange-worker-#63][GridSnapshotAwareClusterStateProcessorImpl] Writing BaselineTopology[id=0] [15:38:25,225][INFO][exchange-worker-#63][GridCacheDatabaseSharedManager] Resume logging performed in 41 ms. [15:38:25,252][INFO][exchange-worker-#63][CacheAffinitySharedManager] Updating caches registry performed in 27 ms. [15:38:25,743][SEVERE][sys-#70][] Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED]]], failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.nio.file.NoSuchFileException: /storage/ssd/mshonichev/tiden/pme-181030-153724/test_pme_bench/ignite.server.2/work/db/node2/cacheGroup-cache_group_2/cache_group_1_010cache_data.dat.tmp]] Critical system error detected. Will be handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED]]], failureCtx=FailureContext [type=CRITICAL_ERROR, err=java.nio.file.NoSuchFileException: /storage/ssd/mshonichev/tiden/pme-181030-153724/test_pme_bench/ignite.server.2/work/db/node2/cacheGroup-cache_group_2/cache_group_1_010cache_data.dat.tmp]] java.nio.file.NoSuchFileException: /storage/ssd/mshonichev/tiden/pme-181030-153724/test_pme_bench/ignite.server.2/work/db/node2/cacheGroup-cache_group_2/cache_group_1_010cache_data.dat.tmp at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:409) at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) at java.nio.file.Files.move(Files.java:1395) at org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.storeCacheData(FilePageStoreManager.java:390) at org.apache.ignite.internal.processors.cache.CachesRegistry.lambda$persistCacheConfigurations$4(CachesRegistry.java:303) at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6875) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$1.body(GridClosureProcessor.java:827) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9890) Refactor CachePartitionPartialCountersMap#fromCountersMap, no need to sort partitions any time it called.
Stanilovsky Evgeny created IGNITE-9890: -- Summary: Refactor CachePartitionPartialCountersMap#fromCountersMap, no need to sort partitions any time it called. Key: IGNITE-9890 URL: https://issues.apache.org/jira/browse/IGNITE-9890 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny Fix For: 2.8 {code:java} CachePartitionPartialCountersMap#fromCountersMap{code} we need to store sorted partitions for {code:java} partitionIndex(int partId) {return Arrays.binarySearch{code} method. Hope need some refactoring here, no need to sort it any time it called, we just need to store already sorted collection here. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9875) GridDhtPartitionsStateValidator speedup proposal.
Stanilovsky Evgeny created IGNITE-9875: -- Summary: GridDhtPartitionsStateValidator speedup proposal. Key: IGNITE-9875 URL: https://issues.apache.org/jira/browse/IGNITE-9875 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny I check validatePartitionsUpdateCounters and validatePartitionsSizes code implementations and looks like we can speed up some parts of them. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (IGNITE-9870) GridDhtPartitionsFullMessage#prepareMarshal compression parallelization.
Stanilovsky Evgeny created IGNITE-9870: -- Summary: GridDhtPartitionsFullMessage#prepareMarshal compression parallelization. Key: IGNITE-9870 URL: https://issues.apache.org/jira/browse/IGNITE-9870 Project: Ignite Issue Type: Improvement Components: general Affects Versions: 2.6 Reporter: Stanilovsky Evgeny Assignee: Stanilovsky Evgeny In huge topologies ~ 200 cluster nodes , 100 caches , 32k partitions per cache, full map generation takes about 3 sec, seems correct approach here in parallelization. -- This message was sent by Atlassian JIRA (v7.6.3#76005)