[
https://issues.apache.org/jira/browse/FLINK-40166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-40166:
-----------------------------------
Labels: pull-request-available sql (was: sql)
> SQL query parsing fails if current catalog is unreachable
> ---------------------------------------------------------
>
> Key: FLINK-40166
> URL: https://issues.apache.org/jira/browse/FLINK-40166
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Reporter: Dale Lane
> Priority: Minor
> Labels: pull-request-available, sql
> Attachments: flink-catalog-repro.zip
>
>
> To recreate:
> * consider two catalogs: "workingcatalog" which is reachable, and
> "brokencatalog" which is not
> * set the current catalog to “brokencatalog”
> * parse a fully-qualified SQL statement which accesses a table in
> workingcatalog, such as “SELECT * FROM
> workingcatalog.workingdatabase.workingtable;”
> This will fail with a CatalogException
> The stack trace shows that this is because Flink is attempting to call
> databaseExists for the database “workingdatabase” but in the current catalog
> (“brokencatalog”).
> {{Caused by: org.apache.flink.table.catalog.exceptions.CatalogException:
> Failed to connect to Kafka cluster for database 'workingdatabase' of catalog
> 'brokencatalog'. }}
> {{ at
> org.apache.flink.table.catalog.CatalogManager.lambda$permanentDatabaseExists$14(CatalogManager.java:1064)}}
> {{ at java.base/java.util.Optional.map(Optional.java:260)}}
> {{ at
> org.apache.flink.table.catalog.CatalogManager.permanentDatabaseExists(CatalogManager.java:1064)}}
> {{ at
> org.apache.flink.table.catalog.CatalogManager.schemaExists(CatalogManager.java:1052)}}
> {{ at
> org.apache.flink.table.planner.catalog.CatalogCalciteSchema.getSubSchema(CatalogCalciteSchema.java:61)}}
> {{ at
> org.apache.calcite.jdbc.SimpleCalciteSchema.getImplicitSubSchema(SimpleCalciteSchema.java:146)}}
> {{ at
> org.apache.calcite.jdbc.CalciteSchema.getSubSchema(CalciteSchema.java:260)}}
> {{ at
> org.apache.calcite.sql.validate.EmptyScope.resolve_(EmptyScope.java:135)}}
> {{ at
> org.apache.calcite.sql.validate.EmptyScope.resolveTable(EmptyScope.java:101)}}
> {{ at
> org.apache.calcite.sql.validate.DelegatingScope.resolveTable(DelegatingScope.java:230)}}
> {{ at
> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:116)}}
> {{ at
> org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:189)}}
> {{ at
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:88)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1133)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1108)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3486)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:3468)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3823)}}
> {{ at
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:61)}}
> {{ at
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:88)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:1133)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:1108)}}
> {{ at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:282)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1075)}}
> {{ at
> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:824)}}
> {{ at
> org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:201)}}
> {{ ... 5 more}}
>
> A standalone recreate is attached
--
This message was sent by Atlassian Jira
(v8.20.10#820010)