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

Performance: connector generates a lot of temporary objects resulting in high GC pressure

XMLWordPrintable

    • False
    • False
    • Hide

      Run the connector under high load, profile it.

      Show
      Run the connector under high load, profile it.

      byte[] generated almost 2GB worth of garbage during 30sec period of collecting profile data.
      AFAICT after a quick look: this can be reduced if the connector could avoid Arrays.copyOf..() in PgProtoMessageDecoder etc.

      grep -rI copyOf | grep byte
      gives a list of the following suspects:
      debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/wal2json/StreamingWal2JsonMessageDecoder.java
      debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/wal2json/NonStreamingWal2JsonMessageDecoder.java
      debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/pgoutput/PgOutputMessageDecoder.java
      debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/connection/pgproto/PgProtoMessageDecoder.java

      See 

            Unassigned Unassigned
            dlg99 Andrey Yegorov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: