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

NPE on PostgreSQL Domain Array

    XMLWordPrintable

Details

    • Hide
      1. create `domain` object as: CREATE DOMAIN public.nmtoken AS text CHECK (VALUE ~* '^[A-Z0-9\.\_\-\:]+$');
      2. create a table with a column using this object in an array: create table test (id uuid primary key, tokens nmtoken[]);
      3. attempt to replicate this table via the Debezium connector
      Show
      create `domain` object as: CREATE DOMAIN public.nmtoken AS text CHECK (VALUE ~* '^ [A-Z0-9\.\_\-\:] +$'); create a table with a column using this object in an array: create table test (id uuid primary key, tokens nmtoken[]); attempt to replicate this table via the Debezium connector

    Description

      When configuring Debezium on a table with a column of type nmtoken[], we receive the following NPE:

      io.debezium.DebeziumException: java.lang.NullPointerException
       at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:82)
       at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:110)
       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: java.lang.NullPointerException
       at io.debezium.connector.postgresql.PostgresValueConverter.createArrayConverter(PostgresValueConverter.java:497)
       at io.debezium.connector.postgresql.PostgresValueConverter.converter(PostgresValueConverter.java:468)
       at io.debezium.relational.TableSchemaBuilder.createValueConverterFor(TableSchemaBuilder.java:400)
       at io.debezium.relational.TableSchemaBuilder.convertersForColumns(TableSchemaBuilder.java:321)
       at io.debezium.relational.TableSchemaBuilder.createValueGenerator(TableSchemaBuilder.java:246)
       at io.debezium.relational.TableSchemaBuilder.create(TableSchemaBuilder.java:138)
       at io.debezium.relational.RelationalDatabaseSchema.buildAndRegisterSchema(RelationalDatabaseSchema.java:130)
       at io.debezium.relational.RelationalDatabaseSchema.refreshSchema(RelationalDatabaseSchema.java:204)
       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:162)
       at io.debezium.connector.postgresql.PostgresSchema.refresh(PostgresSchema.java:106)
       at io.debezium.connector.postgresql.PostgresSnapshotChangeEventSource.connectionCreated(PostgresSnapshotChangeEventSource.java:95)
       at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:103)
       at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:71)
       ... 6 more
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            sarumont Richard k (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: