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

NPE in execute snapshot signal with exclude.tables config on giving wrong table name

XMLWordPrintable

    • False
    • None
    • False

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      1.9.7.Final

      What is the connector configuration?

      ```
      {
        "properties":

      {     "name": "PostgresConnectorConnector_ak",     "connector.class": "io.debezium.connector.postgresql.PostgresConnector",     "database.server.name": "public",     "database.hostname": "<>",     "database.user": "<>",     "database.password": "<>",     "database.dbname": "postgres",     "plugin.name": "pgoutput",     "signal.data.collection": "public.signals",     "table.exclude.list": "public.order_1"   }

      }
      ```

      What is the captured database version and mode of depoyment?

      Mode of deployment – AWS RDS

      ```

      version                                                                                                |
      -------------------------------------------------------------------------------------------------------+
      PostgreSQL 13.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit|

      ```

      What behaviour do you expect?

      Connector should ideally throw a message that the table does not exist and continue operating fine. The user should ideally correct the table name and then provide another `execute-snapshot` signal.

      What behaviour do you see?

      The connector stops with a NPE.

      Do you see the same behaviour using the latest relesead Debezium version?

      Yes

      Do you have the connector logs, ideally from start till finish?

      NPELogsDBZ.txt

      How to reproduce the issue using our tutorial deployment?

      To Reproduce the issue:

      1. Setup a dbz connector with the above config
      2. Put an execute snapshot signal with wrong table name (ideally only table rather than schema.table) in the signals table mentioned in the config.
      3. The connector fails with a NPE.

      Some more pointers:

      1. It's important to use `exclude.tables` the issue doesn't occur while using `including.tables`.
      2. For step 2, this query can be used.

      ```

      INSERT INTO public.signals (id, type, data) VALUES('some-random-id-4', 'execute-snapshot', '

      {"data-collections": ["order_2"],"type":"incremental"}

      ');{}

      ```

      Feature request or enhancement

      For feature requests or enhancements, provide this information, please:

      Which use case/requirement will be addressed by the proposed feature?

      <Your answer>

      Implementation ideas (optional)

      <Your answer>

              Unassigned Unassigned
              akanimesh7 Animesh Kumar
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: