[ https://issues.apache.org/jira/browse/FLINK-30826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhu Zhu reopened FLINK-30826: ----------------------------- > HashAggITCase.testLeadLag is failing > ------------------------------------ > > Key: FLINK-30826 > URL: https://issues.apache.org/jira/browse/FLINK-30826 > Project: Flink > Issue Type: Bug > Components: Table SQL / Planner > Affects Versions: 1.17.0 > Reporter: Sergey Nuyanzin > Priority: Major > > With jdk8 it is green. > At the same time it is constantly failing for jdk11 like > {noformat} > [ERROR] > org.apache.flink.table.planner.runtime.batch.sql.agg.HashAggITCase.testLeadLag > Time elapsed: 0.336 s <<< FAILURE! > java.lang.AssertionError: > Results do not match for query: > > SELECT > a, > b, LEAD(b, 1) over (order by a) AS bLead, LAG(b, 1) over (order by a) AS > bLag, > c, LEAD(c, 1) over (order by a) AS cLead, LAG(c, 1) over (order by a) AS > cLag, > d, LEAD(d, 1) over (order by a) AS dLead, LAG(d, 1) over (order by a) AS > dLag, > e, LEAD(e, 1) over (order by a) AS eLead, LAG(e, 1) over (order by a) AS > eLag, > f, LEAD(f, 1) over (order by a) AS fLead, LAG(f, 1) over (order by a) AS > fLag, > g, LEAD(g, 1) over (order by a) AS gLead, LAG(g, 1) over (order by a) AS > gLag, > h, LEAD(h, 1) over (order by a) AS hLead, LAG(h, 1) over (order by a) AS > hLag, > i, LEAD(i, 1) over (order by a) AS iLead, LAG(i, 1) over (order by a) AS > iLag, > j, LEAD(j, 1) over (order by a) AS jLead, LAG(j, 1) over (order by a) AS > jLag, > k, LEAD(k, 1) over (order by a) AS kLead, LAG(k, 1) over (order by a) AS > kLag, > l, LEAD(l, 1) over (order by a) AS lLead, LAG(l, 1) over (order by a) AS > lLag, > m, LEAD(m, 1) over (order by a) AS mLead, LAG(m, 1) over (order by a) AS > mLag, > n, LEAD(n, 1) over (order by a) AS nLead, LAG(n, 1) over (order by a) AS > nLag > FROM UnnamedTable$18 > order by a > Results > == Correct Result - 3 == > > > > == Actual Result - 3 == > !+I[Alice, 1, 1, null, 1, 1, null, 2, 2, null, 9223, 9223, null, -2.3, -2.3, > null, 9.9, 9.9, null, true, true, null, varchar, varchar, null, char > , char , null, 2021-08-03, 2021-08-03, null, 20:08:17, > 20:08:17, null, 2021-08-03T20:08:29, 2021-08-03T20:08:29, null, 9.99, 9.99, > null] +I[Alice, 1, null, null, 1, null, null, 2, null, null, 9223, null, > null, -2.3, null, null, 9.9, null, null, true, null, null, varchar, null, > null, char , null, null, 2021-08-03, null, null, 20:08:17, > null, null, 2021-08-03T20:08:29, null, null, 9.99, null, null] > !+I[Alice, 1, null, 1, 1, null, 1, 2, null, 2, 9223, null, 9223, -2.3, null, > -2.3, 9.9, null, 9.9, true, null, true, varchar, null, varchar, char > , null, char , 2021-08-03, null, 2021-08-03, 20:08:17, > null, 20:08:17, 2021-08-03T20:08:29, null, 2021-08-03T20:08:29, 9.99, null, > 9.99] +I[Alice, 1, null, null, 1, null, null, 2, null, null, 9223, null, > null, -2.3, null, null, 9.9, null, null, true, null, null, varchar, null, > null, char , null, null, 2021-08-03, null, null, 20:08:17, > null, null, 2021-08-03T20:08:29, null, null, 9.99, null, null] > !+I[Alice, null, null, 1, null, null, 1, null, null, 2, null, null, 9223, > null, null, -2.3, null, null, 9.9, null, null, true, null, null, varchar, > null, null, char , null, null, 2021-08-03, null, null, > 20:08:17, null, null, 2021-08-03T20:08:29, null, null, 9.99] > +I[Alice, null, 1, 1, null, 1, 1, null, 2, 2, null, 9223, > 9223, null, -2.3, -2.3, null, 9.9, 9.9, null, true, true, null, varchar, > varchar, null, char , char , null, 2021-08-03, > 2021-08-03, null, 20:08:17, 20:08:17, null, 2021-08-03T20:08:29, > 2021-08-03T20:08:29, null, 9.99, 9.99] > > Plan: > == Abstract Syntax Tree == > LogicalSort(sort0=[$0], dir0=[ASC-nulls-first]) > +- LogicalProject(inputs=[0..1], exprs=[[LEAD($1, 1) OVER (ORDER BY $0 NULLS > FIRST), LAG($1, 1) OVER (ORDER BY $0 NULLS FIRST), $2, LEAD($2, 1) OVER > (ORDER BY $0 NULLS FIRST), LAG($2, 1) OVER (ORDER BY $0 NULLS FIRST), $3, > LEAD($3, 1) OVER (ORDER BY $0 NULLS FIRST), LAG($3, 1) OVER (ORDER BY $0 > NULLS FIRST), $4, LEAD($4, 1) OVER (ORDER BY $0 NULLS FIRST), LAG($4, 1) OVER > (ORDER BY $0 NULLS FIRST), $5, LEAD($5, 1) OVER (ORDER BY $0 NULLS FIRST), > LAG($5, 1) OVER (ORDER BY $0 NULLS FIRST), $6, LEAD($6, 1) OVER (ORDER BY $0 > NULLS FIRST), LAG($6, 1) OVER (ORDER BY $0 NULLS FIRST), $7, LEAD($7, 1) OVER > (ORDER BY $0 NULLS FIRST), LAG($7, 1) OVER (ORDER BY $0 NULLS FIRST), $8, > LEAD($8, 1) OVER (ORDER BY $0 NULLS FIRST), LAG($8, 1) OVER (ORDER BY $0 > NULLS FIRST), $9, LEAD($9, 1) OVER (ORDER BY $0 NULLS FIRST), LAG($9, 1) OVER > (ORDER BY $0 NULLS FIRST), $10, LEAD($10, 1) OVER (ORDER BY $0 NULLS FIRST), > LAG($10, 1) OVER (ORDER BY $0 NULLS FIRST), $11, LEAD($11, 1) OVER (ORDER BY > $0 NULLS FIRST), LAG($11, 1) OVER (ORDER BY $0 NULLS FIRST), $12, LEAD($12, > 1) OVER (ORDER BY $0 NULLS FIRST), LAG($12, 1) OVER (ORDER BY $0 NULLS > FIRST), $13, LEAD($13, 1) OVER (ORDER BY $0 NULLS FIRST), LAG($13, 1) OVER > (ORDER BY $0 NULLS FIRST)]]) > +- LogicalUnion(all=[true]) > :- LogicalProject(exprs=[[CAST(_UTF-16LE'Alice':VARCHAR(2147483647) > CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE", > CAST(1:TINYINT):TINYINT, CAST(1:SMALLINT):SMALLINT, CAST(2):INTEGER, > CAST(9223:BIGINT):BIGINT, CAST(-2.3E0:FLOAT):FLOAT, > CAST(9.9E0:DOUBLE):DOUBLE, CAST(true):BOOLEAN, > CAST(_UTF-16LE'varchar':VARCHAR(20) CHARACTER SET "UTF-16LE"):VARCHAR(20) > CHARACTER SET "UTF-16LE", CAST(_UTF-16LE'char '):CHAR(20) > CHARACTER SET "UTF-16LE", CAST(2021-08-03):DATE, CAST(20:08:17):TIME(0), > CAST(2021-08-03 20:08:29:TIMESTAMP(6)):TIMESTAMP(6), CAST(9.99E0:DECIMAL(3, > 2)):DECIMAL(3, 2)]]) > : +- LogicalValues(type=[RecordType(INTEGER ZERO)], tuples=[[{ 0 }]]) > :- LogicalProject(exprs=[[CAST(_UTF-16LE'Alice':VARCHAR(2147483647) > CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE", > null:TINYINT, null:SMALLINT, null:INTEGER, null:BIGINT, null:FLOAT, > null:DOUBLE, null:BOOLEAN, null:VARCHAR(20) CHARACTER SET "UTF-16LE", > null:CHAR(20) CHARACTER SET "UTF-16LE", null:DATE, null:TIME(0), > null:TIMESTAMP(6), null:DECIMAL(3, 2)]]) > : +- LogicalValues(type=[RecordType(INTEGER ZERO)], tuples=[[{ 0 }]]) > +- LogicalProject(exprs=[[CAST(_UTF-16LE'Alice':VARCHAR(2147483647) > CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE", > CAST(1:TINYINT):TINYINT, CAST(1:SMALLINT):SMALLINT, CAST(2):INTEGER, > CAST(9223:BIGINT):BIGINT, CAST(-2.3E0:FLOAT):FLOAT, > CAST(9.9E0:DOUBLE):DOUBLE, CAST(true):BOOLEAN, > CAST(_UTF-16LE'varchar':VARCHAR(20) CHARACTER SET "UTF-16LE"):VARCHAR(20) > CHARACTER SET "UTF-16LE", CAST(_UTF-16LE'char '):CHAR(20) > CHARACTER SET "UTF-16LE", CAST(2021-08-03):DATE, CAST(20:08:17):TIME(0), > CAST(2021-08-03 20:08:29:TIMESTAMP(6)):TIMESTAMP(6), CAST(9.99E0:DECIMAL(3, > 2)):DECIMAL(3, 2)]]) > +- LogicalValues(type=[RecordType(INTEGER ZERO)], tuples=[[{ 0 }]]) > == Optimized Logical Plan == > Sort(orderBy=[a ASC]) > +- Calc(select=[a, b, w0$o0 AS bLead, w0$o1 AS bLag, c, w0$o2 AS cLead, w0$o3 > AS cLag, d, w0$o4 AS dLead, w0$o5 AS dLag, e, w0$o6 AS eLead, w0$o7 AS eLag, > f, w0$o8 AS fLead, w0$o9 AS fLag, g, w0$o10 AS gLead, w0$o11 AS gLag, h, > w0$o12 AS hLead, w0$o13 AS hLag, i, w0$o14 AS iLead, w0$o15 AS iLag, j, > w0$o16 AS jLead, w0$o17 AS jLag, k, w0$o18 AS kLead, w0$o19 AS kLag, l, > w0$o20 AS lLead, w0$o21 AS lLag, m, w0$o22 AS mLead, w0$o23 AS mLag, n, > w0$o24 AS nLead, w0$o25 AS nLag]) > +- OverAggregate(orderBy=[a ASC], window#0=[LEAD(b, 1) AS w0$o0, LAG(b, 1) > AS w0$o1, LEAD(c, 1) AS w0$o2, LAG(c, 1) AS w0$o3, LEAD(d, 1) AS w0$o4, > LAG(d, 1) AS w0$o5, LEAD(e, 1) AS w0$o6, LAG(e, 1) AS w0$o7, LEAD(f, 1) AS > w0$o8, LAG(f, 1) AS w0$o9, LEAD(g, 1) AS w0$o10, LAG(g, 1) AS w0$o11, LEAD(h, > 1) AS w0$o12, LAG(h, 1) AS w0$o13, LEAD(i, 1) AS w0$o14, LAG(i, 1) AS w0$o15, > LEAD(j, 1) AS w0$o16, LAG(j, 1) AS w0$o17, LEAD(k, 1) AS w0$o18, LAG(k, 1) AS > w0$o19, LEAD(l, 1) AS w0$o20, LAG(l, 1) AS w0$o21, LEAD(m, 1) AS w0$o22, > LAG(m, 1) AS w0$o23, LEAD(n, 1) AS w0$o24, LAG(n, 1) AS w0$o25 RANG BETWEEN > UNBOUNDED PRECEDING AND CURRENT ROW], select=[a, b, c, d, e, f, g, h, i, j, > k, l, m, n, w0$o0, w0$o1, w0$o2, w0$o3, w0$o4, w0$o5, w0$o6, w0$o7, w0$o8, > w0$o9, w0$o10, w0$o11, w0$o12, w0$o13, w0$o14, w0$o15, w0$o16, w0$o17, > w0$o18, w0$o19, w0$o20, w0$o21, w0$o22, w0$o23, w0$o24, w0$o25]) > +- Sort(orderBy=[a ASC]) > +- Exchange(distribution=[single]) > +- Union(all=[true], union=[a, b, c, d, e, f, g, h, i, j, k, l, > m, n]) > :- Calc(select=[CAST('Alice' AS VARCHAR(2147483647)) AS a, > CAST(1 AS TINYINT) AS b, CAST(1 AS SMALLINT) AS c, CAST(2 AS INTEGER) AS d, > CAST(9223 AS BIGINT) AS e, CAST(-2.3E0 AS FLOAT) AS f, CAST(9.9E0 AS DOUBLE) > AS g, CAST(true AS BOOLEAN) AS h, CAST('varchar' AS VARCHAR(20)) AS i, > CAST('char ' AS CHAR(20)) AS j, CAST(2021-08-03 AS DATE) AS k, > CAST(20:08:17 AS TIME(0)) AS l, CAST(2021-08-03 20:08:29 AS TIMESTAMP(6)) AS > m, CAST(9.99E0 AS DECIMAL(3, 2)) AS n]) > : +- Values(tuples=[[{ 0 }]], values=[ZERO]) > :- Calc(select=[CAST('Alice' AS VARCHAR(2147483647)) AS a, > null:TINYINT AS b, null:SMALLINT AS c, null:INTEGER AS d, null:BIGINT AS e, > null:FLOAT AS f, null:DOUBLE AS g, null:BOOLEAN AS h, null:VARCHAR(20) AS i, > null:CHAR(20) AS j, null:DATE AS k, null:TIME(0) AS l, null:TIMESTAMP(6) AS > m, null:DECIMAL(3, 2) AS n]) > : +- Values(tuples=[[{ 0 }]], values=[ZERO]) > +- Calc(select=[CAST('Alice' AS VARCHAR(2147483647)) AS a, > CAST(1 AS TINYINT) AS b, CAST(1 AS SMALLINT) AS c, CAST(2 AS INTEGER) AS d, > CAST(9223 AS BIGINT) AS e, CAST(-2.3E0 AS FLOAT) AS f, CAST(9.9E0 AS DOUBLE) > AS g, CAST(true AS BOOLEAN) AS h, CAST('varchar' AS VARCHAR(20)) AS i, > CAST('char ' AS CHAR(20)) AS j, CAST(2021-08-03 AS DATE) AS k, > CAST(20:08:17 AS TIME(0)) AS l, CAST(2021-08-03 20:08:29 AS TIMESTAMP(6)) AS > m, CAST(9.99E0 AS DECIMAL(3, 2)) AS n]) > +- Values(tuples=[[{ 0 }]], values=[ZERO]) > > at org.junit.Assert.fail(Assert.java:89) > at > org.apache.flink.table.planner.runtime.utils.BatchTestBase.$anonfun$check$1(BatchTestBase.scala:152) > at > org.apache.flink.table.planner.runtime.utils.BatchTestBase.$anonfun$check$1$adapted(BatchTestBase.scala:145) > at scala.Option.foreach(Option.scala:257) > at > org.apache.flink.table.planner.runtime.utils.BatchTestBase.check(BatchTestBase.scala:145) > at > org.apache.flink.table.planner.runtime.utils.BatchTestBase.checkResult(BatchTestBase.scala:106) > at > org.apache.flink.table.planner.runtime.batch.sql.agg.AggregateITCaseBase.testLeadLag(AggregateITCaseBase.scala:958) > 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) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) > at > org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) > at > org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) > at > org.apache.flink.util.TestNameProvider$1.evaluate(TestNameProvider.java:45) > at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:61) > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at > org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) > at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) > at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) > at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) > at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:54) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at org.junit.runners.ParentRunner.run(ParentRunner.java:413) > at org.junit.runner.JUnitCore.run(JUnitCore.java:137) > at org.junit.runner.JUnitCore.run(JUnitCore.java:115) > at > org.junit.vintage.engine.execution.RunnerExecutor.execute(RunnerExecutor.java:42) > at > org.junit.vintage.engine.VintageTestEngine.executeAllChildren(VintageTestEngine.java:80) > at > org.junit.vintage.engine.VintageTestEngine.execute(VintageTestEngine.java:72) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102) > at > org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) > at > org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) > at > org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) > at > org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) > at > org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.lambda$execute$1(JUnitPlatformProvider.java:199) > at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) > at > org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.execute(JUnitPlatformProvider.java:193) > at > org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:154) > at > org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:120) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:428) > at > org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162) > at > org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:562) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:548) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)