apache / seatunnel

SeaTunnel is a next-generation super high-performance, distributed, massive data integration tool.
https://seatunnel.apache.org/
Apache License 2.0
7.81k stars 1.76k forks source link

[Bug] [Zeta] Unsupported MySQL version: 8.2.0 #7514

Closed kkkzhonghaiwei closed 2 weeks ago

kkkzhonghaiwei commented 2 weeks ago

Search before asking

What happened

Try to run a simple Mysql to Mysql task. Mysql Version is 8.2.0. Failed as below: Failed to get mysql version, fallback to default version: V_5_7 java.lang.UnsupportedOperationException: Unsupported MySQL version: 8.2.0

SeaTunnel Version

2.3.6

SeaTunnel Config

hazelcast:
  cluster-name: seatunnel
  network:
    rest-api:
      enabled: true
      endpoint-groups:
        CLUSTER_WRITE:
          enabled: true
        DATA:
          enabled: true
    join:
      tcp-ip:
        enabled: true
        member-list:
          - localhost
    port:
      auto-increment: false
      port: 5801
  properties:
    hazelcast.invocation.max.retry.count: 20
    hazelcast.tcp.join.port.try.count: 30
    hazelcast.logging.type: log4j2
    hazelcast.operation.generic.thread.count: 50
    hazelcast.heartbeat.failuredetector.type: phi-accrual
    hazelcast.heartbeat.interval.seconds: 2
    hazelcast.max.no.heartbeat.seconds: 180
    hazelcast.heartbeat.phiaccrual.failuredetector.threshold: 10
    hazelcast.heartbeat.phiaccrual.failuredetector.sample.size: 200
    hazelcast.heartbeat.phiaccrual.failuredetector.min.std.dev.millis: 100

Running Command

env {
  execution.parallelism = 2
  job.mode = "BATCH"
  checkpoint.interval = 10000
}

source {
  Jdbc {
        url = "jdbc:mysql://localhost:3306/emqx_data?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true"
        driver = "com.mysql.cj.jdbc.Driver"
        connection_check_timeout_sec = 100
        user = "XXXX"
        password = "XXXXXXXXXX"
        query = "select * from emqx_messages"
  }
}

sink {
  Console {
  }
}

Error Exception

2024-08-28 15:49:48,768 INFO  [p.MultipleTableJobConfigParser] [main] - start generating all sources.
    2024-08-28 15:49:49,146 INFO  [o.a.s.c.s.j.c.m.MySqlCatalog  ] [main] - Failed to get mysql version, fallback to default version: V_5_7
    java.lang.UnsupportedOperationException: Unsupported MySQL version: 8.2.0
        at org.apache.seatunnel.connectors.seatunnel.jdbc.internal.dialect.mysql.MySqlVersion.parse(MySqlVersion.java:45) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.mysql.MySqlCatalog.resolveVersion(MySqlCatalog.java:211) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.mysql.MySqlCatalog.<init>(MySqlCatalog.java:67) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.mysql.MySqlCatalogFactory.createCatalog(MySqlCatalogFactory.java:53) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.api.table.factory.FactoryUtil.lambda$createOptionalCatalog$0(FactoryUtil.java:174) ~[seatunnel-starter.jar:2.3.6]
        at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_192]
        at org.apache.seatunnel.api.table.factory.FactoryUtil.createOptionalCatalog(FactoryUtil.java:173) ~[seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.connectors.seatunnel.jdbc.utils.JdbcCatalogUtils.findCatalog(JdbcCatalogUtils.java:382) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.connectors.seatunnel.jdbc.utils.JdbcCatalogUtils.getTables(JdbcCatalogUtils.java:73) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSource.<init>(JdbcSource.java:57) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.connectors.seatunnel.jdbc.source.JdbcSourceFactory.lambda$createSource$0(JdbcSourceFactory.java:80) ~[connector-jdbc-2.3.6.jar:2.3.6]
        at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:113) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:74) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSource(MultipleTableJobConfigParser.java:361) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:209) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.getLogicalDag(ClientJobExecutionEnvironment.java:114) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.execute(ClientJobExecutionEnvironment.java:182) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:158) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40) [seatunnel-starter.jar:2.3.6]
        at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34) [seatunnel-starter.jar:2.3.6]
    2024-08-28 15:49:49,151 INFO  [o.a.s.c.s.j.u.JdbcCatalogUtils] [main] - Loading catalog tables for catalog : class org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.mysql.MySqlCatalog
    2024-08-28 15:49:49,151 INFO  [.s.c.s.j.c.AbstractJdbcCatalog] [main] - Catalog MySQL established connection to jdbc:mysql://localhost:3306/emqx_data?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true
    2024-08-28 15:49:49,166 INFO  [o.a.s.c.s.j.u.JdbcCatalogUtils] [main] - Loaded 1 catalog tables for catalog : class org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.mysql.MySqlCatalog

Zeta or Flink or Spark Version

Zeta

Java or Scala Version

jdk1.8.0_192

Screenshots

No response

Are you willing to submit PR?

Code of Conduct