Open myheartsgoon opened 2 years ago
I manage to fixe the above issue by change prestosql to trino in build process. Now I am encountering below issue when start the trino server.
If I add tidb.filter-push-down=true
in the catalog file, below error will occurr.
2021-09-28T17:11:03.612+0800 ERROR main io.trino.server.Server Configuration errors:
1) Error: Configuration property 'tidb.filter-push-down' was not used
1 error
io.airlift.bootstrap.ApplicationConfigurationException: Configuration errors:
1) Error: Configuration property 'tidb.filter-push-down' was not used
1 error
at io.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:233)
at io.tidb.bigdata.trino.tidb.TiDBConnectorFactory.create(TiDBConnectorFactory.java:57)
at io.trino.connector.ConnectorManager.createConnector(ConnectorManager.java:360)
at io.trino.connector.ConnectorManager.createCatalog(ConnectorManager.java:215)
at io.trino.connector.ConnectorManager.createCatalog(ConnectorManager.java:207)
at io.trino.connector.ConnectorManager.createCatalog(ConnectorManager.java:193)
at io.trino.metadata.StaticCatalogStore.loadCatalog(StaticCatalogStore.java:88)
at io.trino.metadata.StaticCatalogStore.loadCatalogs(StaticCatalogStore.java:68)
at io.trino.server.Server.doStart(Server.java:124)
at io.trino.server.Server.lambda$start$0(Server.java:77)
at io.trino.$gen.Trino_361____20210928_091053_1.run(Unknown Source)
at io.trino.server.Server.start(Server.java:77)
at io.trino.server.TrinoServer.main(TrinoServer.java:38)
2021-09-28T17:11:03.614+0800 INFO Thread-81 io.airlift.bootstrap.LifeCycleManager JVM is shutting down, cleaning up
2021-09-28T17:11:03.614+0800 INFO Thread-81 io.airlift.bootstrap.LifeCycleManager Life cycle stopping...
2021-09-28T17:11:03.615+0800 INFO Thread-81 io.airlift.bootstrap.LifeCycleManager Life cycle stopped
If remove tidb.filter-push-down=true
, then server can be started successfully, but when I run query in cli, Internal error
will occurred.
trino:skyline_test> select * from test1;
Query 20210928_101552_00008_hcyiy failed: Internal error
In the stack trace log it shows as below:
java.lang.UnsupportedOperationException: undefined
at io.trino.spi.connector.ConnectorSplitManager.getSplits(ConnectorSplitManager.java:35)
at io.trino.split.SplitManager.getSplits(SplitManager.java:86)
at io.trino.sql.planner.DistributedExecutionPlanner$Visitor.visitScanAndFilter(DistributedExecutionPlanner.java:206)
at io.trino.sql.planner.DistributedExecutionPlanner$Visitor.visitTableScan(DistributedExecutionPlanner.java:188)
at io.trino.sql.planner.DistributedExecutionPlanner$Visitor.visitTableScan(DistributedExecutionPlanner.java:159)
at io.trino.sql.planner.plan.TableScanNode.accept(TableScanNode.java:222)
at io.trino.sql.planner.DistributedExecutionPlanner.doPlan(DistributedExecutionPlanner.java:127)
at io.trino.sql.planner.DistributedExecutionPlanner.doPlan(DistributedExecutionPlanner.java:134)
at io.trino.sql.planner.DistributedExecutionPlanner.plan(DistributedExecutionPlanner.java:104)
at io.trino.execution.SqlQueryExecution.planDistribution(SqlQueryExecution.java:508)
at io.trino.execution.SqlQueryExecution.start(SqlQueryExecution.java:415)
at io.trino.execution.SqlQueryManager.createQuery(SqlQueryManager.java:237)
at io.trino.dispatcher.LocalDispatchQuery.lambda$startExecution$7(LocalDispatchQuery.java:143)
at io.trino.$gen.Trino_361____20210928_100845_2.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
tidb.filter-push-down
Hi @myheartsgoon, thanks for reporting issue. Could you please try running the same query with trino version 359?
tidb.filter-push-down
Hi @myheartsgoon, thanks for reporting issue. Could you please try running the same query with trino version 359?
Thanks for your prompt response, I just tested with version 359, when not specifying tidb.filter-push-down=true
, it is working as expected. (I guess it is due to this change since 360? https://trino.io/docs/current/release/release-360.html#spi)
When I adding tidb.filter-push-down=true
in catalog file, it is still not working, same error message as I describe above.
2021-09-29T11:47:43.085+0800 ERROR main io.trino.server.Server Configuration errors:
1) Error: Configuration property 'tidb.filter-push-down' was not used
1 error
io.airlift.bootstrap.ApplicationConfigurationException: Configuration errors:
1) Error: Configuration property 'tidb.filter-push-down' was not used
1 error
at io.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:233)
at io.tidb.bigdata.trino.tidb.TiDBConnectorFactory.create(TiDBConnectorFactory.java:57)
at io.trino.connector.ConnectorManager.createConnector(ConnectorManager.java:360)
at io.trino.connector.ConnectorManager.createCatalog(ConnectorManager.java:215)
at io.trino.connector.ConnectorManager.createCatalog(ConnectorManager.java:207)
at io.trino.connector.ConnectorManager.createCatalog(ConnectorManager.java:193)
at io.trino.metadata.StaticCatalogStore.loadCatalog(StaticCatalogStore.java:88)
at io.trino.metadata.StaticCatalogStore.loadCatalogs(StaticCatalogStore.java:68)
at io.trino.server.Server.doStart(Server.java:124)
at io.trino.server.Server.lambda$start$0(Server.java:77)
at io.trino.$gen.Trino_359____20210929_034733_1.run(Unknown Source)
at io.trino.server.Server.start(Server.java:77)
at io.trino.server.TrinoServer.main(TrinoServer.java:38)
But for now I am good as at least I can query tidb data with presto, although without filter pushdown feature.
Thanks for your prompt response, I just tested with version 359, when not specifying
tidb.filter-push-down=true
, it is working as expected. (I guess it is due to this change since 360? https://trino.io/docs/current/release/release-360.html#spi)
Trino / PrestoSQL / PrestoDB are evolving pretty fast, it's usually required to match version used to compile and run connector.
@humengyu2012 Can you take a look at configuration not used error?
Presto will always enable filter-push-down and can not be disabled, so you don't need to configure it.
This is our fault, we will change the documentation later.
I followed this doc to build the connector and the build finished successfully. https://github.com/tidb-incubator/TiBigData/tree/master/prestosql
my tidb plugin folder content as blew:
And I add the catalog for tidb, content as blow.
But after I restart the trino, it errored as below.
My trino version:
361
mysql connector I use:mysql-connector-java-5.1.48.jar
Please help if anything wrong with my setup?