Aleksandr Nikolaev created IGNITE-21366:
-------------------------------------------

             Summary: AssertionError during the execution of the request 
                 Key: IGNITE-21366
                 URL: https://issues.apache.org/jira/browse/IGNITE-21366
             Project: Ignite
          Issue Type: Bug
            Reporter: Aleksandr Nikolaev
            Assignee: Aleksandr Nikolaev
             Fix For: 2.17


If GridH2Table#cache size is greater than int, then we get an AssertionError:
{code}
-26T19:32:35,247][ERROR][main][] Test failed 
[test=RowCountTableStatisticsUsageTest#compareJoinsWithConditionsOnBothTables[cacheMode=REPLICATED],
 duration=10]
 java.lang.AssertionError: totalRowCnt=-4294967096, localRowCount=-2147483548
        at 
org.apache.ignite.internal.processors.query.h2.opt.TableStatistics.<init>(TableStatistics.java:34)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.refreshStatsIfNeeded(GridH2Table.java:1055)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.getRowCountApproximation(GridH2Table.java:1013)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.opt.GridH2IndexBase.getRowCountApproximation(GridH2IndexBase.java:226)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.opt.H2ScanIndex.getRowCountApproximation(H2ScanIndex.java:158)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.opt.H2ScanIndex.getCost(H2ScanIndex.java:289)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.opt.H2TableScanIndex.getCost(H2TableScanIndex.java:74)
 ~[classes/:?]
        at org.h2.table.Table.getBestPlanItem(Table.java:714) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.table.TableFilter.getBestPlanItem(TableFilter.java:224) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.table.Plan.calculateCost(Plan.java:121) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.command.dml.Optimizer.testPlan(Optimizer.java:180) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.command.dml.Optimizer.calculateBestPlan(Optimizer.java:81) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.command.dml.Optimizer.optimize(Optimizer.java:239) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.command.dml.Select.preparePlan(Select.java:1018) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.command.dml.Select.prepare(Select.java:884) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.command.dml.Explain.prepare(Explain.java:49) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.command.Parser.prepareCommand(Parser.java:283) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.engine.Session.prepareLocal(Session.java:611) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.engine.Session.prepareCommand(Session.java:549) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247) 
~[h2-1.4.197.jar:1.4.197]
        at 
org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:76) 
~[h2-1.4.197.jar:1.4.197]
        at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:694) 
~[h2-1.4.197.jar:1.4.197]
        at 
org.apache.ignite.internal.processors.query.h2.H2Connection.prepareStatementNoCache(H2Connection.java:191)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.H2PooledConnection.prepareStatementNoCache(H2PooledConnection.java:109)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.QueryParser.parseH2(QueryParser.java:341)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.QueryParser.parse0(QueryParser.java:225)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.QueryParser.parse(QueryParser.java:138)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.querySqlFields(IgniteH2Indexing.java:1011)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:3115)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor$2.applyx(GridQueryProcessor.java:3086)
 ~[classes/:?]
        at 
org.apache.ignite.internal.util.lang.IgniteOutClosureX.apply(IgniteOutClosureX.java:36)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuery(GridQueryProcessor.java:3821)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.lambda$querySqlFields$3(GridQueryProcessor.java:3132)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.executeQuerySafe(GridQueryProcessor.java:3260)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:3082)
 ~[classes/:?]
[19:32:35] >>> Stopping test: 
RowCountTableStatisticsUsageTest#compareJoinsWithConditionsOnBothTables[cacheMode=REPLICATED]
 in 19 ms <<<
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.querySqlFields(GridQueryProcessor.java:3010)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:818)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.query(IgniteCacheProxyImpl.java:766)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.query(GatewayProtectedCacheProxy.java:398)
 ~[classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.TableStatisticsAbstractTest.runLocalExplainAnalyze(TableStatisticsAbstractTest.java:102)
 ~[test-classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.TableStatisticsAbstractTest.ensureOptimalPlanChosen(TableStatisticsAbstractTest.java:80)
 ~[test-classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.TableStatisticsAbstractTest.checkOptimalPlanChosenForDifferentJoinOrders(TableStatisticsAbstractTest.java:57)
 ~[test-classes/:?]
        at 
org.apache.ignite.internal.processors.query.h2.RowCountTableStatisticsUsageTest.compareJoinsWithConditionsOnBothTables(RowCountTableStatisticsUsageTest.java:94)
 ~[test-classes/:?]
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 ~[?:?]
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
[2024-01-26T19:32:35,255]       at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
 ~[junit-4.12.jar:4.12]
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
 ~[junit-4.12.jar:4.12]
[INFO ] at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
 ~[junit-4.12.jar:4.12]
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
 ~[junit-4.12.jar:4.12]
[main][]        at 
org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:2499)
 ~[test-classes/:?]
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to