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

SchemaBuilder throws duplicate field name

    XMLWordPrintable

Details

    • False
    • False

    Description

      Running Debezium with the pgoutput plugin, we get the following exception after having work for a while:

      org.apache.kafka.connect.errors.SchemaBuilderException: Cannot create field because of field name duplication activity_id
          at org.apache.kafka.connect.data.SchemaBuilder.field(SchemaBuilder.java:330)
          at io.debezium.relational.TableSchemaBuilder.addField(TableSchemaBuilder.java:377)
          at io.debezium.relational.TableSchemaBuilder.lambda$create$0(TableSchemaBuilder.java:110)
          at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
          at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085)
          at io.debezium.relational.TableSchemaBuilder.create(TableSchemaBuilder.java:109)
          at io.debezium.relational.RelationalDatabaseSchema.buildAndRegisterSchema(RelationalDatabaseSchema.java:130)
          at io.debezium.connector.postgresql.PostgresSchema.refreshSchema(PostgresSchema.java:183)
          at java.base/java.util.concurrent.ConcurrentHashMap$KeySetView.forEach(ConcurrentHashMap.java:4698)
          at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1085)
          at io.debezium.connector.postgresql.PostgresSchema.refreshSchemas(PostgresSchema.java:174)
          at io.debezium.connector.postgresql.PostgresSchema.refresh(PostgresSchema.java:106)
          at io.debezium.connector.postgresql.PostgresTaskContext.refreshSchema(PostgresTaskContext.java:68)
          at io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.execute(PostgresStreamingChangeEventSource.java:120)
          at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:140)
          at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:113)
          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) 

      After looking at a dump of the publication content, it seems that there is no field duplication in the R event type.

      There is of couse no duplication as well in the table field names.

      Attachments

        Activity

          People

            Unassigned Unassigned
            ebrard Emmanuel Brard
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: