prestodb / presto

The official home of the Presto distributed SQL query engine for big data
http://prestodb.io
Apache License 2.0
16.06k stars 5.38k forks source link

MySQL high version problem #17663

Open xhsky opened 2 years ago

xhsky commented 2 years ago

The current mysql driver in presto is version 5.1, but I want to connect to MySQL 8 version, how to use the higher version driver?

imjalpreet commented 2 years ago

@xhsky Did you face an issue while trying to connect with MySQL 8 using the presto-mysql connector? Based on the official documentation, MySQL Connector/J 5.1 is compatible with MySQL 8 as well.

On a side note, there is also a plan to upgrade from MySQL Connector/J 5.1 to MySQL Connector/J 8.0 in the near future.

xhsky commented 2 years ago

After connecting to MySQL 8.0.28 and executing select, the worker reported the following error:

ERROR   20220419_072817_00011_qnxse.1.0.0-0-46  com.facebook.presto.operator.Driver       Error closing operator 0 for task 20220419_072817_00011_qnxse.1.0.0
java.lang.NullPointerException
        at com.mysql.jdbc.MysqlIO.clearInputStream(MysqlIO.java:892)
        at com.mysql.jdbc.RowDataDynamic.close(RowDataDynamic.java:171)
        at com.mysql.jdbc.ResultSetImpl.realClose(ResultSetImpl.java:6644)
        at com.mysql.jdbc.ResultSetImpl.close(ResultSetImpl.java:841)
        at com.facebook.presto.plugin.jdbc.JdbcRecordCursor.close(JdbcRecordCursor.java:219)
        at com.facebook.presto.spi.RecordPageSource.close(RecordPageSource.java:83)
        at com.facebook.presto.operator.TableScanOperator.finish(TableScanOperator.java:195)
        at com.facebook.presto.operator.TableScanOperator.close(TableScanOperator.java:184)
        at com.facebook.presto.operator.Driver.closeAndDestroyOperators(Driver.java:605)
        at com.facebook.presto.operator.Driver.processInternal(Driver.java:458)
        at com.facebook.presto.operator.Driver.lambda$processFor$9(Driver.java:307)
        at com.facebook.presto.operator.Driver.tryWithLock(Driver.java:728)
        at com.facebook.presto.operator.Driver.processFor(Driver.java:300)
        at com.facebook.presto.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1079)
        at com.facebook.presto.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:162)
        at com.facebook.presto.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:599)
        at com.facebook.presto.$gen.Presto_0_271_ab814d9____20220419_072203_1.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

I suspect it is a version problem, and after all, the version gap is too large, there may be other performance problems

pratyakshsharma commented 1 year ago

relates to https://github.com/prestodb/presto/issues/17750.