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

PostgreSQL - Minor Performance bottleneck in PostgresChangeRecordEmitter

    XMLWordPrintable

Details

    Description

      PostgreSQL - Minor Performance bottleneck in PostgresChangeRecordEmitter

      • Expensive call to PostgresSchema.parse() for every record - reuse already parsed TableId from PostgresStreamingChangeEventSource
      • conditional return in synchronizeTableSchema() is delayed - can be immediately returned

      PostgresSchema.parse() is quite expensive due to multiple Pattern Matching replacements in TableIdParser.parse() (non-trivial time taken visible in JVisualVM Sampler metrics).

      Few table parsing / fetching operations executed in  synchronizeTableSchema() before conditional return. For PGOUTPUT plugins and other use cases, conditional return is always true. So conditional return can be immediately done in method start.

      This is the next performance improvement after DBZ-3770

      Attachments

        Activity

          People

            Unassigned Unassigned
            krnaveen14 Naveen Kumar
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: