Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-6428

Introduce dialect support for Starrocks database

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: Major Major
    • 2.3-backlog
    • 2.2.0.Final
    • jdbc-connector
    • None
    • False
    • None
    • False

      See https://github.com/StarRocks/starrocks

      org.apache.kafka.connect.errors.ConnectException: Exiting WorkerSinkTask due to unrecoverable exception.
      at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:614)
      at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:329)
      at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:232)
      at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:201)
      at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:185)
      at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:234)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      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:834)
      Caused by: org.apache.kafka.connect.errors.ConnectException: JDBC sink connector failure
      at io.debezium.connector.jdbc.JdbcSinkConnectorTask.put(JdbcSinkConnectorTask.java:78)
      at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:586)
      ... 10 more
      Caused by: org.apache.kafka.connect.errors.ConnectException: Failed to process a sink record
      at io.debezium.connector.jdbc.JdbcChangeEventSink.execute(JdbcChangeEventSink.java:71)
      at io.debezium.connector.jdbc.JdbcSinkConnectorTask.put(JdbcSinkConnectorTask.java:87)
      ... 11 more
      Caused by: jakarta.persistence.PersistenceException: Converting {{org.hibernate.exception.SQLGrammarException}} to JPA {{PersistenceException}} : JDBC exception executing SQL [CREATE TABLE ods_dw_prod_product_rt (id integer NOT NULL, name longtext NULL, price integer NULL, color longtext NULL, PRIMARY KEY(id))]
      at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:165)
      at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:175)
      at org.hibernate.query.spi.AbstractQuery.executeUpdate(AbstractQuery.java:654)
      at io.debezium.connector.jdbc.JdbcChangeEventSink.createTable(JdbcChangeEventSink.java:146)
      at io.debezium.connector.jdbc.JdbcChangeEventSink.checkAndApplyTableChangesIfNeeded(JdbcChangeEventSink.java:99)
      at io.debezium.connector.jdbc.JdbcChangeEventSink.execute(JdbcChangeEventSink.java:67)
      ... 12 more
      Caused by: org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [CREATE TABLE ods_dw_prod_product_rt (id integer NOT NULL, name longtext NULL, price integer NULL, color longtext NULL, PRIMARY KEY(id))]
      at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:64)
      at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:56)
      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
      at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95)
      at org.hibernate.sql.exec.internal.StandardJdbcMutationExecutor.execute(StandardJdbcMutationExecutor.java:97)
      at org.hibernate.query.sql.internal.NativeNonSelectQueryPlanImpl.executeUpdate(NativeNonSelectQueryPlanImpl.java:78)
      at org.hibernate.query.sql.internal.NativeQueryImpl.doExecuteUpdate(NativeQueryImpl.java:820)
      at org.hibernate.query.spi.AbstractQuery.executeUpdate(AbstractQuery.java:643)
      ... 15 more
      Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'longtext' at line 1
      at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
      at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
      at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916)
      at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061)
      at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1009)
      at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1320)
      at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:994)
      at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:1502)
      at org.hibernate.sql.exec.internal.StandardJdbcMutationExecutor.execute(StandardJdbcMutationExecutor.java:84)
      ... 18 more
      

      The generic ANSI92 SQL dialect that gets chosen by default appears not to be compatible with Starrocks.
      It would be great to introduce a dialect for this sink database platform.

      Data type reference for Starrocks: https://docs.starrocks.io/en-us/2.5/sql-reference/sql-statements/data-types/VARCHAR

            Unassigned Unassigned
            fy18759 fei yang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: