[ https://issues.apache.org/jira/browse/FLINK-13704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16906802#comment-16906802 ]
Jark Wu commented on FLINK-13704: --------------------------------- Hi [~till.rohrmann], I'm sorry for the issue. We didn't check the tpc-h e2e locally when merging FLIP-13547. The reason of this issue is that tpch 22.q uses {{substr}} function which we just removed in FLINK-13547. We removed {{substr}} because we thought it can be covered by existing {{substring}} function, and don't want to introduce too much functions at once. {{substr}} is a synonyms for {{substring}}, we only need to add back the function definition and reuse the implementation of {{substring}}. So, this issue is only about we need a new {{substr}} function. It won't break any features we already provided. The only concern is the sentence "full TPC-H coverage for blink batch planner" in the release note might be questioned. Because it failed in RC2... > TPC-H end-to-end test (Blink planner) fails on Travis > ----------------------------------------------------- > > Key: FLINK-13704 > URL: https://issues.apache.org/jira/browse/FLINK-13704 > Project: Flink > Issue Type: Bug > Components: Table SQL / Runtime > Affects Versions: 1.9.0, 1.10.0 > Reporter: Till Rohrmann > Assignee: Jingsong Lee > Priority: Critical > Labels: pull-request-available, test-stability > Fix For: 1.10.0, 1.9.1 > > Time Spent: 10m > Remaining Estimate: 0h > > The {{TPC-H}} end-to-end test fails on Travis with the following problem: > {code} > Running query #22... > Exception in thread "main" org.apache.flink.table.client.SqlClientException: > Could not submit given SQL update statement to cluster. > at org.apache.flink.table.client.SqlClient.openCli(SqlClient.java:129) > at org.apache.flink.table.client.SqlClient.start(SqlClient.java:105) > at org.apache.flink.table.client.SqlClient.main(SqlClient.java:194) > [FAIL] Test script contains errors. > Checking for errors... > org.apache.flink.table.client.gateway.SqlExecutionException: Invalid SQL > update statement. > at > org.apache.flink.table.client.gateway.local.LocalExecutor.applyUpdate(LocalExecutor.java:539) > at > org.apache.flink.table.client.gateway.local.LocalExecutor.executeUpdateInternal(LocalExecutor.java:432) > at > org.apache.flink.table.client.gateway.local.LocalExecutor.executeUpdate(LocalExecutor.java:367) > at > org.apache.flink.table.client.cli.CliClient.callInsertInto(CliClient.java:496) > at > org.apache.flink.table.client.cli.CliClient.lambda$submitUpdate$0(CliClient.java:231) > at java.util.Optional.map(Optional.java:215) > at > org.apache.flink.table.client.cli.CliClient.submitUpdate(CliClient.java:228) > at org.apache.flink.table.client.SqlClient.openCli(SqlClient.java:127) > at org.apache.flink.table.client.SqlClient.start(SqlClient.java:105) > at org.apache.flink.table.client.SqlClient.main(SqlClient.java:194) > Caused by: org.apache.flink.table.api.ValidationException: SQL validation > failed. From line 13, column 10 to line 13, column 30: No match found for > function signature substr(<CHARACTER>, <NUMERIC>, <NUMERIC>) > at > org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:125) > at > org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:82) > at > org.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlInsert(SqlToOperationConverter.java:154) > at > org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:89) > at > org.apache.flink.table.planner.delegation.PlannerBase.parse(PlannerBase.scala:130) > at > org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlUpdate(TableEnvironmentImpl.java:335) > at > org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.sqlUpdate(StreamTableEnvironmentImpl.java:299) > at > org.apache.flink.table.client.gateway.local.LocalExecutor.lambda$applyUpdate$12(LocalExecutor.java:531) > at > org.apache.flink.table.client.gateway.local.ExecutionContext.wrapClassLoader(ExecutionContext.java:216) > at > org.apache.flink.table.client.gateway.local.LocalExecutor.applyUpdate(LocalExecutor.java:529) > ... 9 more > Caused by: org.apache.calcite.runtime.CalciteContextException: From line 13, > column 10 to line 13, column 30: No match found for function signature > substr(<CHARACTER>, <NUMERIC>, <NUMERIC>) > 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:463) > at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:824) > at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:809) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4807) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.handleUnresolvedFunction(SqlValidatorImpl.java:1762) > at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:273) > at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:215) > at > org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:5566) > at > org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:5553) > at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:139) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1680) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1665) > at > org.apache.calcite.sql.type.InferTypes.lambda$static$0(InferTypes.java:46) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1854) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1862) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:1862) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateWhereOrOn(SqlValidatorImpl.java:4006) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateWhereClause(SqlValidatorImpl.java:3998) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3368) > at > org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60) > at > org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:997) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:957) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3111) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3093) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3365) > at > org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60) > at > org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:997) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:957) > at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:216) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:932) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:639) > at > org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:122) > ... 18 more > Caused by: org.apache.calcite.sql.validate.SqlValidatorException: No match > found for function signature substr(<CHARACTER>, <NUMERIC>, <NUMERIC>) > 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:463) > at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:572) > ... 51 more > {code} > https://api.travis-ci.org/v3/job/570757857/log.txt > https://api.travis-ci.org/v3/job/570757863/log.txt > https://api.travis-ci.org/v3/job/570757869/log.txt -- This message was sent by Atlassian JIRA (v7.6.14#76016)