debezium / debezium/dbz

PostgreSQL WAL files not being released despite successful event processing in Debezium PostgreSQL connector [DBZ-8887]

Open
#72 0 comments 0 reactions 0 assignees View on GitHub
component/debezium-server migrated-from-jira type/bug
Dominant language
HTML
Stars
6
Forks
8
Avg merge
2d 19h
Merged PRs (30d)
1

Description

Migrated from [DBZ-8887](https://issues.redhat.com/browse/DBZ-8887)

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

For bug reports, provide this information, please:
h2. What Debezium connector do you use and what version?

PostgreSQL Connector (io.debezium.connector.postgresql.PostgresConnector) Version: 3.0.0-final
h2. What is the connector configuration?

 
{code:java}
#Commons Configuration
 debezium.source.connector.class=io.debezium.connector.postgresql.PostgresConnector
 debezium.source.plugin.name=pgoutput
 
 # Offset Configuration
 Configuration template decrypted successfully
 Current template content (for debugging):
 #Commons Configuration
 debezium.source.connector.class=io.debezium.connector.postgresql.PostgresConnector
 debezium.source.plugin.name=pgoutput
 
 # Offset Configuration
 debezium.source.snapshot.mode=never
 debezium.source.offset.storage=io.debezium.storage.redis.offset.RedisOffsetBackingStore
 debezium.source.offset.storage.redis.address={{REDIS_HOSTNAME}}:{{REDIS_PORT}}
 debezium.source.offset.storage.redis.user={{REDIS_USER}}
 debezium.source.offset.storage.redis.password={{REDIS_PASSWORD}}
 debezium.source.offset.storage.redis.ssl.enabled={{REDISS_USE_SSL}}
 debezium.source.offset.flush.interval.ms=1000
 debezium.source.offset.storage.file.filename=
 
 # PostgreSQL Configuration
 debezium.source.database.hostname={{PG_HOSTNAME}}
 debezium.source.database.port={{PG_PORT}}
 debezium.source.database.user={{PG_USERNAME}}
 debezium.source.database.password={{PG_PASSWORD}}
 debezium.source.database.dbname={{PG_DBNAME}}
 debezium.source.database.server.name=prod-postgres-db-01
 
 # Publication and Stream Configuration
 debezium.source.publication.name={{PG_PUBLICATION_NAME}}
 debezium.source.topic.prefix={{STREAM_NAME}}
 debezium.source.table.include.list={{OUTBOX_TABLE}}
 debezium.source.table.field.event.key=aggregate_id
 debezium.source.max.batch.size=512
 debezium.source.max.queue.size=8192
 debezium.source.heartbeat.interval.ms=10000
 debezium.source.heartbeat.action.query=SELECT 1
 debezium.source.include.schema.changes=false
 
 # RabbitMQ Sink Configuration
 debezium.sink.type=rabbitmq
 debezium.sink.rabbitmq.connection.uri={{QUEUE_CONNECTION_URI}}
 debezium.sink.rabbitmq.ssl.enabled=true
 debezium.sink.rabbitmq.ssl.validate=true
 debezium.sink.rabbitmq.ssl.validate.server.certificate=true
 debezium.sink.rabbitmq.ssl.verify.hostname=true
 debezium.sink.rabbitmq.exchange=outbox
 
 # Transformation Configurations
 debezium.transforms=outbox,filter_heartbeats
 
 # Outbox Configuration
 debezium.transforms.outbox.type=io.debezium.transforms.outbox.EventRouter
 debezium.transforms.outbox.table.expand.json.payload=false
 debezium.transforms.outbox.route.by.field=aggregate_type
 debezium.transforms.outbox.table.field.event.id=id
 debezium.transforms.outbox.table.field.event.key=aggregate_id
 debezium.transforms.outbox.table.fields.additional.placement=id:envelope,type:envelope,aggregate_type:envelope,aggregate_id:envelope,created_at:envelope
 
 # Filter configuration using a predicate rather than Filter transform
 debezium.transforms.filter_heartbeats.type=io.debezium.transforms.Filter
 debezium.transforms.filter_heartbeats.language=jsr223.groovy
 debezium.transforms.filter_heartbeats.condition=value.schema?.name != 'io.debezium.connector.common.Heartbeat'
 
 debezium.sink.tombstones.on.delete=false
 
 # Performance Configuration
 debezium.source.buffer.memory.size=256MB
 debezium.source.internal.buffer.size=16384
 debezium.source.errors.retry.delay.initial.ms=1000
 debezium.source.errors.retry.delay.max.ms=10000
 debezium.source.errors.max.retries=3
 debezium.source.tasks.max=1
 debezium.source.poll.interval.ms=1000
 
 #Quarkus Configuration
 quarkus.log.console.json=false
 quarkus.log.level=INFO
 quarkus.profile=prod
 Configuration complete. Starting Debezium server... {code}
 
h2. What is the captured database version and mode of deployment?

PostgreSQL version: 16.8

Deployment: Docker
Dockerfile:
{code:java}
FROM debezium/server:3.0.0.Final

USER root

# Install required packages
RUN microdnf update -y && \
    microdnf install -y openssl wget && \
    microdnf clean all

# Download the Debezium Filtering SMT
# Download the Debezium Scripting SMT and necessary dependencies
RUN wget -P /tmp/ https://repo1.maven.org/maven2/io/debezium/debezium-scripting/3.0.6.Final/debezium-scripting-3.0.6.Final.jar && \
    wget -P /tmp/ https://repo1.maven.org/maven2/org/codehaus/groovy/groovy/3.0.19/groovy-3.0.19.jar && \
    wget -P /tmp/ https://repo1.maven.org/maven2/org/codehaus/groovy/groovy-jsr223/3.0.19/groovy-jsr223-3.0.19.jar && \
    cp /tmp/*.jar /debezium/lib/ && \
    rm -rf /tmp/*.jar

# Set permissions for the new JARs
RUN chown jboss:jboss /debezium/lib/*.jar && \
    chmod 644 /debezium/lib/*.jar

# Copy the template configuration file and entrypoint script
COPY application.properties.template /debezium/config/application.properties.template
COPY entrypoint.sh /debezium/entrypoint.sh# Set permissions
RUN chmod +x /debezium/entrypoint.sh && \
    chown jboss:jboss /debezium/config/application.properties.template

USER jboss

# Set environment variables for Java
ENV JAVA_OPTS="-XX:+UseSerialGC \
    -Xms1g \
    -Xmx1536m \
    -XX:MetaspaceSize=96m \
    -XX:MaxMetaspaceSize=256m \
    -XX:+HeapDumpOnOutOfMemoryError \
    -XX:HeapDumpPath=/debezium/data/heapdump.bin \
    -Djava.security.egd=file:/dev/./urandom \
    -XX:+ExitOnOutOfMemoryError \
    -XX:+AlwaysPreTouch"
ENTRYPOINT ["/debezium/entrypoint.sh"]{code}
And entrypoint.sh
{code:java}
#!/bin/bash
set -eecho "Starting configuration process..."
echo "Working directory: $(pwd)"# Display file permissions and content length
echo "File details:"
cat /debezium/config/application.properties.template
echo "File content size: $(wc -c < /debezium/config/application.properties.template) bytes"# Verify the template file
if [ -f /debezium/config/application.properties.template ]; then
    echo "Successfully found configuration file. Content preview:"
    head -n 5 /debezium/config/application.properties.template
else
    echo "Error: Could not find file"
    exit 1
fiecho "Current template content (for debugging):"
cat /debezium/config/application.properties.template# Replace placeholders with environment variables
echo "Replacing placeholders with environment variables..."
sed -i "s|{{REDIS_HOSTNAME}}|$REDIS_HOSTNAME|g" /debezium/config/application.properties.template
sed -i "s|{{REDIS_PORT}}|$REDIS_PORT|g" /debezium/config/application.properties.template
sed -i "s|{{REDIS_USER}}|$REDIS_USER|g" /debezium/config/application.properties.template
sed -i "s|{{REDIS_PASSWORD}}|$REDIS_PASSWORD|g" /debezium/config/application.properties.template
sed -i "s|{{REDISS_USE_SSL}}|$REDISS_USE_SSL|g" /debezium/config/application.properties.template
sed -i "s|{{PG_HOSTNAME}}|$PG_HOSTNAME|g" /debezium/config/application.properties.template
sed -i "s|{{PG_PORT}}|$PG_PORT|g" /debezium/config/application.properties.template
sed -i "s|{{PG_USERNAME}}|$PG_USERNAME|g" /debezium/config/application.properties.template
sed -i "s|{{PG_PASSWORD}}|$PG_PASSWORD|g" /debezium/config/application.properties.template
sed -i "s|{{PG_DBNAME}}|$PG_DBNAME|g" /debezium/config/application.properties.template
sed -i "s|{{PG_PUBLICATION_NAME}}|$PG_PUBLICATION_NAME|g" /debezium/config/application.properties.template
sed -i "s|{{STREAM_NAME}}|$STREAM_NAME|g" /debezium/config/application.properties.template
sed -i "s|{{OUTBOX_TABLE}}|$OUTBOX_TABLE|g" /debezium/config/application.properties.template
sed -i "s|{{QUEUE_CONNECTION_URI}}|$QUEUE_CONNECTION_URI|g" /debezium/config/application.properties.template# Move the configured file to its final location
mv /debezium/config/application.properties.template /debezium/config/application.propertiesecho "Final configuration file content (for debugging):"
cat /debezium/config/application.propertiesecho "Configuration complete. Starting Debezium server..."
bash ./run.sh {code}
 
h2. What behavior do you expect?

I expect the PostgreSQL replication slot to regularly update its {{confirmed_flush_lsn}} value as Debezium processes WAL entries, allowing PostgreSQL to release processed WAL segments and maintain a reasonable WAL size.
h2. What behavior do you see?

The replication slot's {{confirmed_flush_lsn}} is not advancing despite Debezium successfully:
# Processing records (logs show "records sent during previous...")
# Correctly updating offsets in Redis
# Successfully publishing events to RabbitMQ

This results in:
* WAL files growing to 59 GB despite a small database size (18 MB)
* Replication slot showing status "extended"
* Significant lag (59 GB) between {{pg_current_wal_lsn()}} and {{confirmed_flush_lsn}}

{code:java}
SELECT slot_name, confirmed_flush_lsn,
pg_wal_lsn_diff(pg_current_wal_lsn(), confirmed_flush_lsn) as lag_bytes,
pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), confirmed_flush_lsn)) as lag_size
FROM pg_replication_slots;

Result:
[
{
"slot_name": "debezium",
"confirmed_flush_lsn": "17A/89005C90",
"lag_bytes": 62864205496,
"lag_size": "59 GB"
}
] {code}
Redis offset storage shows transactions being processed:
{code:java}
Field: ["rabbitmq",{"server":"esz_outbox"}]
Value: {"lsn_proc":1645408689392,"messageType":"INSERT","lsn_commit":1625796140176,"lsn":1645408689392,"txId":6787310,"ts_usec":1742484554528465} {code}
But the replication slot's confirmed_flush_lsn remains at "17A/89005C90" indefinitely.

h2. Do you see the same behaviour using the latest released Debezium version?

(Ideally, also verify with latest Alpha/Beta/CR version)

Could not verify, not sure how to quickly test and see it happening :/
h2. Do you have the connector logs, ideally from start till finish?

(You might be asked later to provide [DEBUG/TRACE|https://debezium.io/documentation/reference/stable/operations/logging.html] level log)

Yes, I've attached logs showing the connector startup and processing messages. The logs confirm that records are being successfully processed and sent, but the WAL position acknowledgment isn't happening.

Key log entries showing the issue:
{code:java}
 Starting configuration process...
 Working directory: /debezium
 File details:
(...)
 File content size: 5669 bytes
Successfully found configuration file. Content preview:
 #Commons Configuration
 debezium.source.connector.class=io.debezium.connector.postgresql.PostgresConnector
 debezium.source.plugin.name=pgoutput
 
 # Offset Configuration
 Configuration template decrypted successfully
 Current template content (for debugging):
 #Commons Configuration
 debezium.source.connector.class=io.debezium.connector.postgresql.PostgresConnector
 debezium.source.plugin.name=pgoutput
 
 # Offset Configuration
 debezium.source.snapshot.mode=never
 debezium.source.offset.storage=io.debezium.storage.redis.offset.RedisOffsetBackingStore
 debezium.source.offset.storage.redis.address={{REDIS_HOSTNAME}}:{{REDIS_PORT}}
 debezium.source.offset.storage.redis.user={{REDIS_USER}}
 debezium.source.offset.storage.redis.password={{REDIS_PASSWORD}}
 debezium.source.offset.storage.redis.ssl.enabled={{REDISS_USE_SSL}}
 debezium.source.offset.flush.interval.ms=1000
 debezium.source.offset.storage.file.filename=
 
 # PostgreSQL Configuration
 debezium.source.database.hostname={{PG_HOSTNAME}}
 debezium.source.database.port={{PG_PORT}}
 debezium.source.database.user={{PG_USERNAME}}
 debezium.source.database.password={{PG_PASSWORD}}
 debezium.source.database.dbname={{PG_DBNAME}}
 debezium.source.database.server.name=prod-postgres-db-01
 
 # Publication and Stream Configuration
 debezium.source.publication.name={{PG_PUBLICATION_NAME}}
 debezium.source.topic.prefix={{STREAM_NAME}}
 debezium.source.table.include.list={{OUTBOX_TABLE}}
 debezium.source.table.field.event.key=aggregate_id
 debezium.source.max.batch.size=512
 debezium.source.max.queue.size=8192
 debezium.source.heartbeat.interval.ms=10000
 debezium.source.heartbeat.action.query=SELECT 1
 debezium.source.include.schema.changes=false
 
 # RabbitMQ Sink Configuration
 debezium.sink.type=rabbitmq
 debezium.sink.rabbitmq.connection.uri={{QUEUE_CONNECTION_URI}}
 debezium.sink.rabbitmq.ssl.enabled=true
 debezium.sink.rabbitmq.ssl.validate=true
 debezium.sink.rabbitmq.ssl.validate.server.certificate=true
 debezium.sink.rabbitmq.ssl.verify.hostname=true
 debezium.sink.rabbitmq.exchange=outbox
 
 # Transformation Configurations
 debezium.transforms=outbox,filter_heartbeats
 
 # Outbox Configuration
 debezium.transforms.outbox.type=io.debezium.transforms.outbox.EventRouter
 debezium.transforms.outbox.table.expand.json.payload=false
 debezium.transforms.outbox.route.by.field=aggregate_type
 debezium.transforms.outbox.table.field.event.id=id
 debezium.transforms.outbox.table.field.event.key=aggregate_id
 debezium.transforms.outbox.table.fields.additional.placement=id:envelope,type:envelope,aggregate_type:envelope,aggregate_id:envelope,created_at:envelope
 
 # Filter configuration using a predicate rather than Filter transform
 debezium.transforms.filter_heartbeats.type=io.debezium.transforms.Filter
 debezium.transforms.filter_heartbeats.language=jsr223.groovy
 debezium.transforms.filter_heartbeats.condition=value.schema?.name != 'io.debezium.connector.common.Heartbeat'
 
 debezium.sink.tombstones.on.delete=false
 
 # Performance Configuration
 debezium.source.buffer.memory.size=256MB
 debezium.source.internal.buffer.size=16384
 debezium.source.errors.retry.delay.initial.ms=1000
 debezium.source.errors.retry.delay.max.ms=10000
 debezium.source.errors.max.retries=3
 debezium.source.tasks.max=1
 debezium.source.poll.interval.ms=1000
 
 #Quarkus Configuration
 quarkus.log.console.json=false
 quarkus.log.level=INFO
 quarkus.profile=prod
 Configuration complete. Starting Debezium server...
2025-04-07 11:50:10        __       __                 _                 
2025-04-07 11:50:10   ____/ /___   / /_   ___  ____   (_)__  __ ____ ___ 
2025-04-07 11:50:10  / __  // _ \ / __ \ / _ \/_  /  / // / / // __ `__ \
2025-04-07 11:50:10 / /_/ //  __// /_/ //  __/ / /_ / // /_/ // / / / / /
2025-04-07 11:50:10 \__,_/ \___//_.___/ \___/ /___//_/ \__,_//_/ /_/ /_/ 
2025-04-07 11:50:10                                                      
2025-04-07 11:50:10 
2025-04-07 11:50:10 
2025-04-07 11:50:10                              Powered by Quarkus 3.8.5
2025-04-07 11:50:10 2025-04-07 10:50:08,540 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) ---------------------------------------------------------------------
2025-04-07 11:50:10 2025-04-07 10:50:08,540 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Legacy REST API date formats enabled (this is currently the default).
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) For maximum compatibility and to ease upgrades from older versions
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) of Registry, the date format used in the REST API is not compliant
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) with OpenAPI standards (due to a bug in older versions).  Please
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) make sure you upgrade all of your client applications to use the
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) latest client version.  The next release will fix the date format
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) bug, which will result in older clients no longer being compatible
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) with the REST API.
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) If you would like to fix the date format bug in THIS version of
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Registry (great!) please set the following ENV variable + value:
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) REGISTRY_APIS_V2_DATE_FORMAT=yyyy-MM-dd'T'HH:mm:ss'Z'
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) 
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) Doing this will result in a REST API that is OpenAPI compliant, but
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) please remember to upgrade all your client applications first!
2025-04-07 11:50:10 2025-04-07 10:50:08,541 INFO  [io.api.reg.res.JacksonDateTimeCustomizer] (main) ---------------------------------------------------------------------
2025-04-07 11:50:10 2025-04-07 10:50:10,150 WARN  [io.qua.config] (main) Unrecognized configuration file file:/debezium/config/application.properties.example found; Please, check if your are providing the proper extension to load the file
2025-04-07 11:50:10 2025-04-07 10:50:10,150 WARN  [io.qua.config] (main) Unrecognized configuration file file:/debezium/config/application.properties.cassandra.redis.example found; Please, check if your are providing the proper extension to load the file
2025-04-07 11:50:10 2025-04-07 10:50:10,150 WARN  [io.qua.config] (main) Unrecognized configuration file file:/debezium/config/application.properties.encrypted found; Please, check if your are providing the proper extension to load the file
2025-04-07 11:50:10 2025-04-07 10:50:10,327 INFO  [io.deb.ser.BaseChangeConsumer] (main) Using 'io.debezium.server.BaseChangeConsumer$$Lambda/0x00007fffd2396500@7327a447' stream name mapper
2025-04-07 11:50:10 2025-04-07 10:50:10,431 WARN  [com.rab.cli.TrustEverythingTrustManager] (main) SECURITY ALERT: this trust manager trusts every certificate, effectively disabling peer verification. This is convenient for local development but offers no protection against man-in-the-middle attacks. Please see https://www.rabbitmq.com/ssl.html to learn more about peer certificate verification.
2025-04-07 11:50:10 2025-04-07 10:50:10,435 INFO  [io.deb.ser.rab.RabbitMqStreamChangeConsumer] (main) Using connection to ********.rmq.cloudamqp.com:5671
2025-04-07 11:50:11 2025-04-07 10:50:11,693 INFO  [io.deb.ser.DebeziumServer] (main) Consumer 'io.debezium.server.rabbitmq.RabbitMqStreamChangeConsumer' instantiated
2025-04-07 11:50:11 2025-04-07 10:50:11,843 INFO  [org.apa.kaf.con.jso.JsonConverterConfig] (main) JsonConverterConfig values: 
2025-04-07 11:50:11     converter.type = header
2025-04-07 11:50:11     decimal.format = BASE64
2025-04-07 11:50:11     replace.null.with.default = true
2025-04-07 11:50:11     schemas.cache.size = 1000
2025-04-07 11:50:11     schemas.enable = true
2025-04-07 11:50:11 
2025-04-07 11:50:11 2025-04-07 10:50:11,845 INFO  [org.apa.kaf.con.jso.JsonConverterConfig] (main) JsonConverterConfig values: 
2025-04-07 11:50:11     converter.type = key
2025-04-07 11:50:11     decimal.format = BASE64
2025-04-07 11:50:11     replace.null.with.default = true
2025-04-07 11:50:11     schemas.cache.size = 1000
2025-04-07 11:50:11     schemas.enable = true
2025-04-07 11:50:11 
2025-04-07 11:50:11 2025-04-07 10:50:11,848 INFO  [org.apa.kaf.con.jso.JsonConverterConfig] (main) JsonConverterConfig values: 
2025-04-07 11:50:11     converter.type = value
2025-04-07 11:50:11     decimal.format = BASE64
2025-04-07 11:50:11     replace.null.with.default = true
2025-04-07 11:50:11     schemas.cache.size = 1000
2025-04-07 11:50:11     schemas.enable = true
2025-04-07 11:50:11 
2025-04-07 11:50:11 2025-04-07 10:50:11,929 INFO  [io.deb.emb.EmbeddedWorkerConfig] (main) EmbeddedWorkerConfig values: 
2025-04-07 11:50:11     access.control.allow.methods = 
2025-04-07 11:50:11     access.control.allow.origin = 
2025-04-07 11:50:11     admin.listeners = null
2025-04-07 11:50:11     auto.include.jmx.reporter = true
2025-04-07 11:50:11     bootstrap.servers = [localhost:9092]
2025-04-07 11:50:11     client.dns.lookup = use_all_dns_ips
2025-04-07 11:50:11     config.providers = []
2025-04-07 11:50:11     connector.client.config.override.policy = All
2025-04-07 11:50:11     header.converter = class org.apache.kafka.connect.storage.SimpleHeaderConverter
2025-04-07 11:50:11     key.converter = class org.apache.kafka.connect.json.JsonConverter
2025-04-07 11:50:11     listeners = [http://:8083]
2025-04-07 11:50:11     metric.reporters = []
2025-04-07 11:50:11     metrics.num.samples = 2
2025-04-07 11:50:11     metrics.recording.level = INFO
2025-04-07 11:50:11     metrics.sample.window.ms = 30000
2025-04-07 11:50:11     offset.flush.interval.ms = 1000
2025-04-07 11:50:11     offset.flush.timeout.ms = 5000
2025-04-07 11:50:11     offset.storage.file.filename = 
2025-04-07 11:50:11     offset.storage.partitions = null
2025-04-07 11:50:11     offset.storage.replication.factor = null
2025-04-07 11:50:11     offset.storage.topic = 
2025-04-07 11:50:11     plugin.discovery = hybrid_warn
2025-04-07 11:50:11     plugin.path = null
2025-04-07 11:50:11     response.http.headers.config = 
2025-04-07 11:50:11     rest.advertised.host.name = null
2025-04-07 11:50:11     rest.advertised.listener = null
2025-04-07 11:50:11     rest.advertised.port = null
2025-04-07 11:50:11     rest.extension.classes = []
2025-04-07 11:50:11     ssl.cipher.suites = null
2025-04-07 11:50:11     ssl.client.auth = none
2025-04-07 11:50:11     ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
2025-04-07 11:50:11     ssl.endpoint.identification.algorithm = https
2025-04-07 11:50:11     ssl.engine.factory.class = null
2025-04-07 11:50:11     ssl.key.password = null
2025-04-07 11:50:11     ssl.keymanager.algorithm = SunX509
2025-04-07 11:50:11     ssl.keystore.certificate.chain = null
2025-04-07 11:50:11     ssl.keystore.key = null
2025-04-07 11:50:11     ssl.keystore.location = null
2025-04-07 11:50:11     ssl.keystore.password = null
2025-04-07 11:50:11     ssl.keystore.type = JKS
2025-04-07 11:50:11     ssl.protocol = TLSv1.3
2025-04-07 11:50:11     ssl.provider = null
2025-04-07 11:50:11     ssl.secure.random.implementation = null
2025-04-07 11:50:11     ssl.trustmanager.algorithm = PKIX
2025-04-07 11:50:11     ssl.truststore.certificates = null
2025-04-07 11:50:11     ssl.truststore.location = null
2025-04-07 11:50:11     ssl.truststore.password = null
2025-04-07 11:50:11     ssl.truststore.type = JKS
2025-04-07 11:50:11     task.shutdown.graceful.timeout.ms = 5000
2025-04-07 11:50:11     topic.creation.enable = true
2025-04-07 11:50:11     topic.tracking.allow.reset = true
2025-04-07 11:50:11     topic.tracking.enable = true
2025-04-07 11:50:11     value.converter = class org.apache.kafka.connect.json.JsonConverter
2025-04-07 11:50:11 
2025-04-07 11:50:12 2025-04-07 10:50:12,010 INFO  [io.deb.tra.Filter] (main) Using language 'jsr223.groovy' to evaluate expression 'value.schema?.name != 'io.debezium.connector.common.Heartbeat''
2025-04-07 11:50:13 2025-04-07 10:50:13,240 INFO  [org.apa.kaf.con.jso.JsonConverterConfig] (main) JsonConverterConfig values: 
2025-04-07 11:50:13     converter.type = key
2025-04-07 11:50:13     decimal.format = BASE64
2025-04-07 11:50:13     replace.null.with.default = true
2025-04-07 11:50:13     schemas.cache.size = 1000
2025-04-07 11:50:13     schemas.enable = false
2025-04-07 11:50:13 
2025-04-07 11:50:13 2025-04-07 10:50:13,241 INFO  [org.apa.kaf.con.jso.JsonConverterConfig] (main) JsonConverterConfig values: 
2025-04-07 11:50:13     converter.type = value
2025-04-07 11:50:13     decimal.format = BASE64
2025-04-07 11:50:13     replace.null.with.default = true
2025-04-07 11:50:13     schemas.cache.size = 1000
2025-04-07 11:50:13     schemas.enable = false
2025-04-07 11:50:13 
2025-04-07 11:50:13 2025-04-07 10:50:13,242 INFO  [io.deb.ser.DebeziumServer] (main) Engine executor started
2025-04-07 11:50:13 2025-04-07 10:50:13,242 INFO  [io.deb.emb.asy.AsyncEmbeddedEngine] (pool-7-thread-1) Engine state has changed from 'CREATING' to 'INITIALIZING'
2025-04-07 11:50:13 2025-04-07 10:50:13,422 INFO  [io.deb.con.CommonConnectorConfig] (pool-7-thread-1) Loading the custom source info struct maker plugin: io.debezium.connector.postgresql.PostgresSourceInfoStructMaker
2025-04-07 11:50:13 2025-04-07 10:50:13,737 INFO  [io.quarkus] (main) debezium-server-dist 3.0.0.Final on JVM (powered by Quarkus 3.8.5) started in 7.302s. Listening on: http://0.0.0.0:8080
2025-04-07 11:50:13 2025-04-07 10:50:13,741 INFO  [io.quarkus] (main) Profile prod activated. 
2025-04-07 11:50:13 2025-04-07 10:50:13,801 INFO  [io.quarkus] (main) Installed features: [cdi, kubernetes-client, resteasy, resteasy-jackson, smallrye-context-propagation, smallrye-health, vertx]
2025-04-07 11:50:14 2025-04-07 10:50:14,938 INFO  [io.deb.con.pos.PostgresConnector] (pool-7-thread-1) Successfully tested connection for jdbc:postgresql://192.168.65.254:5432/my_db with user 'deb_db_usr'
2025-04-07 11:50:15 2025-04-07 10:50:15,479 INFO  [io.deb.jdb.JdbcConnection] (pool-12-thread-1) Connection gracefully closed
2025-04-07 11:50:15 2025-04-07 10:50:15,505 INFO  [io.deb.sto.red.RedisCommonConfig] (pool-7-thread-1) Configuration for 'RedisOffsetBackingStoreConfig' with prefix 'offset.storage.': {rabbitmq.ssl.enabled=true, redis.password=********, rabbitmq.connection.uri=amqps://********:********@********.rmq.cloudamqp.com/********, rabbitmq.ssl.validate=true, rabbitmq.ssl.verify.hostname=true, redis.ssl.enabled=true, redis.user=, rabbitmq.ssl.validate.server.certificate=true, redis.address=****.redis.cache.windows.net:6380, file.filename=, rabbitmq.exchange=outbox}
2025-04-07 11:50:15 2025-04-07 10:50:15,507 INFO  [io.deb.sto.red.off.RedisOffsetBackingStore] (pool-7-thread-1) Starting RedisOffsetBackingStore
2025-04-07 11:50:17 2025-04-07 10:50:17,631 INFO  [io.deb.sto.red.RedisConnection] (pool-7-thread-1) Using Redis client 'JedisClient [jedis=Jedis{Connection{DefaultJedisSocketFactory{****.redis.cache.windows.net:6380}}}]'
2025-04-07 11:50:17 2025-04-07 10:50:17,970 INFO  [io.deb.sto.red.off.RedisOffsetBackingStore] (pool-7-thread-1) Offsets: { ["rabbitmq",{"server":"esz_outbox"}]={"lsn_proc":1716040884464,"messageType":"INSERT","lsn":1716040884464,"txId":7080563,"ts_usec":1744021804796053}, ["rabbitmq",{"server":"esz_outbox_new"}]={"lsn_proc":1645408689392,"messageType":"INSERT","lsn_commit":1625796140176,"lsn":1645408689392,"txId":6787310,"ts_usec":1742484554528465} }
2025-04-07 11:50:17 2025-04-07 10:50:17,995 INFO  [io.deb.emb.asy.AsyncEmbeddedEngine] (pool-7-thread-1) Engine state has changed from 'INITIALIZING' to 'CREATING_TASKS'
2025-04-07 11:50:18 2025-04-07 10:50:18,032 INFO  [io.deb.emb.asy.AsyncEmbeddedEngine] (pool-7-thread-1) Engine state has changed from 'CREATING_TASKS' to 'STARTING_TASKS'
2025-04-07 11:50:18 2025-04-07 10:50:18,033 INFO  [io.deb.emb.asy.AsyncEmbeddedEngine] (pool-7-thread-1) Waiting max. for 180000 ms for individual source tasks to start.
2025-04-07 11:50:18 2025-04-07 10:50:18,037 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1) Starting PostgresConnectorTask with configuration:
2025-04-07 11:50:18 2025-04-07 10:50:18,038 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    connector.class = io.debezium.connector.postgresql.PostgresConnector
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    schema.history.internal.rabbitmq.connection.uri = amqps://********:********@********.rmq.cloudamqp.com/********
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.outbox.type = io.debezium.transforms.outbox.EventRouter
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.rabbitmq.ssl.verify.hostname = true
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    publication.name = debezium_outbox_publication
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms = outbox,filter_heartbeats
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    table.field.event.key = aggregate_id
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    buffer.memory.size = 256MB
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    include.schema.changes = false
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.outbox.table.expand.json.payload = false
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    heartbeat.action.query = SELECT 1
2025-04-07 11:50:18 2025-04-07 10:50:18,039 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    poll.interval.ms = 1000
2025-04-07 11:50:18 2025-04-07 10:50:18,040 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    record.processing.threads = 
2025-04-07 11:50:18 2025-04-07 10:50:18,041 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    errors.retry.delay.initial.ms = 1000
2025-04-07 11:50:18 2025-04-07 10:50:18,041 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    key.converter = org.apache.kafka.connect.json.JsonConverter
2025-04-07 11:50:18 2025-04-07 10:50:18,041 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    database.dbname = my_db
2025-04-07 11:50:18 2025-04-07 10:50:18,041 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    database.user = deb_db_usr
2025-04-07 11:50:18 2025-04-07 10:50:18,041 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage = io.debezium.storage.redis.offset.RedisOffsetBackingStore
2025-04-07 11:50:18 2025-04-07 10:50:18,042 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.outbox.table.fields.additional.placement = id:envelope,type:envelope,aggregate_type:envelope,aggregate_id:envelope,created_at:envelope
2025-04-07 11:50:18 2025-04-07 10:50:18,042 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.outbox.table.field.event.key = aggregate_id
2025-04-07 11:50:18 2025-04-07 10:50:18,042 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.outbox.route.by.field = aggregate_type
2025-04-07 11:50:18 2025-04-07 10:50:18,042 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    heartbeat.interval.ms = 10000
2025-04-07 11:50:18 2025-04-07 10:50:18,042 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    plugin.name = pgoutput
2025-04-07 11:50:18 2025-04-07 10:50:18,043 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    internal.task.management.timeout.ms = 180000
2025-04-07 11:50:18 2025-04-07 10:50:18,043 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.rabbitmq.ssl.validate = true
2025-04-07 11:50:18 2025-04-07 10:50:18,043 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    errors.max.retries = 3
2025-04-07 11:50:18 2025-04-07 10:50:18,043 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    database.password = ********
2025-04-07 11:50:18 2025-04-07 10:50:18,043 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    name = rabbitmq
2025-04-07 11:50:18 2025-04-07 10:50:18,045 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.rabbitmq.ssl.validate.server.certificate = true
2025-04-07 11:50:18 2025-04-07 10:50:18,045 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    schema.history.internal.rabbitmq.ssl.verify.hostname = true
2025-04-07 11:50:18 2025-04-07 10:50:18,045 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    max.batch.size = 512
2025-04-07 11:50:18 2025-04-07 10:50:18,045 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.redis.password = ********
2025-04-07 11:50:18 2025-04-07 10:50:18,045 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    schema.history.internal.rabbitmq.exchange = outbox
2025-04-07 11:50:18 2025-04-07 10:50:18,045 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    snapshot.mode = never
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    max.queue.size = 8192
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.filter_heartbeats.condition = value.schema?.name != 'io.debezium.connector.common.Heartbeat'
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.redis.ssl.enabled = true
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    tasks.max = 1
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    record.processing.shutdown.timeout.ms = 1000
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.redis.user = 
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    record.processing.order = ORDERED
2025-04-07 11:50:18 2025-04-07 10:50:18,046 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.rabbitmq.ssl.enabled = true
2025-04-07 11:50:18 2025-04-07 10:50:18,047 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.redis.address = ****.redis.cache.windows.net:6380
2025-04-07 11:50:18 2025-04-07 10:50:18,047 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    topic.prefix = esz_outbox
2025-04-07 11:50:18 2025-04-07 10:50:18,047 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.file.filename = 
2025-04-07 11:50:18 2025-04-07 10:50:18,047 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.filter_heartbeats.type = io.debezium.transforms.Filter
2025-04-07 11:50:18 2025-04-07 10:50:18,047 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.rabbitmq.exchange = outbox
2025-04-07 11:50:18 2025-04-07 10:50:18,047 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    value.converter = org.apache.kafka.connect.json.JsonConverter
2025-04-07 11:50:18 2025-04-07 10:50:18,048 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    internal.buffer.size = 16384
2025-04-07 11:50:18 2025-04-07 10:50:18,048 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.filter_heartbeats.language = jsr223.groovy
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    errors.retry.delay.max.ms = 10000
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    database.server.name = prod-postgres-db-01
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.flush.timeout.ms = 5000
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    transforms.outbox.table.field.event.id = id
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    database.port = 5432
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    schema.history.internal.rabbitmq.ssl.validate.server.certificate = true
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    schema.history.internal.rabbitmq.ssl.enabled = true
2025-04-07 11:50:18 2025-04-07 10:50:18,049 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.flush.interval.ms = 1000
2025-04-07 11:50:18 2025-04-07 10:50:18,050 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    record.processing.with.serial.consumer = false
2025-04-07 11:50:18 2025-04-07 10:50:18,050 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    database.hostname = 192.168.65.254
2025-04-07 11:50:18 2025-04-07 10:50:18,050 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    table.include.list = debezium.outbox
2025-04-07 11:50:18 2025-04-07 10:50:18,050 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    schema.history.internal.rabbitmq.ssl.validate = true
2025-04-07 11:50:18 2025-04-07 10:50:18,050 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1)    offset.storage.rabbitmq.connection.uri = amqps://********:********@********.rmq.cloudamqp.com/********
2025-04-07 11:50:18 2025-04-07 10:50:18,051 INFO  [io.deb.con.CommonConnectorConfig] (pool-10-thread-1) Loading the custom source info struct maker plugin: io.debezium.connector.postgresql.PostgresSourceInfoStructMaker
2025-04-07 11:50:18 2025-04-07 10:50:18,054 INFO  [io.deb.con.CommonConnectorConfig] (pool-10-thread-1) Loading the custom topic naming strategy plugin: io.debezium.schema.SchemaTopicNamingStrategy
2025-04-07 11:50:19 2025-04-07 10:50:19,010 INFO  [io.deb.jdb.JdbcConnection] (pool-13-thread-1) Connection gracefully closed
2025-04-07 11:50:21 2025-04-07 10:50:21,033 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:14114, name:_pg_user_mappings] is already mapped
2025-04-07 11:50:21 2025-04-07 10:50:21,060 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13788, name:cardinal_number] is already mapped
2025-04-07 11:50:21 2025-04-07 10:50:21,061 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13791, name:character_data] is already mapped
2025-04-07 11:50:21 2025-04-07 10:50:21,061 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13793, name:sql_identifier] is already mapped
2025-04-07 11:50:21 2025-04-07 10:50:21,061 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13799, name:time_stamp] is already mapped
2025-04-07 11:50:21 2025-04-07 10:50:21,061 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13801, name:yes_or_no] is already mapped
2025-04-07 11:50:21 2025-04-07 10:50:21,222 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1) Found previous partition offset PostgresPartition [sourcePartition={server=esz_outbox}]: {lsn_proc=1716040884464, messageType=INSERT, lsn_commit=1716040884464, lsn=1716040884464, txId=7080563, ts_usec=1744021804796053}
2025-04-07 11:50:23 2025-04-07 10:50:23,171 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:14114, name:_pg_user_mappings] is already mapped
2025-04-07 11:50:23 2025-04-07 10:50:23,176 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13788, name:cardinal_number] is already mapped
2025-04-07 11:50:23 2025-04-07 10:50:23,177 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13791, name:character_data] is already mapped
2025-04-07 11:50:23 2025-04-07 10:50:23,177 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13793, name:sql_identifier] is already mapped
2025-04-07 11:50:23 2025-04-07 10:50:23,177 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13799, name:time_stamp] is already mapped
2025-04-07 11:50:23 2025-04-07 10:50:23,177 WARN  [io.deb.con.pos.TypeRegistry] (pool-10-thread-1) Type [oid:13801, name:yes_or_no] is already mapped
2025-04-07 11:50:23 2025-04-07 10:50:23,520 INFO  [io.deb.con.pos.con.PostgresConnection] (pool-10-thread-1) Obtained valid replication slot ReplicationSlot [active=false, latestFlushedLsn=LSN{18F/8C01E0F0}, catalogXmin=7028240]
2025-04-07 11:50:23 2025-04-07 10:50:23,542 INFO  [io.deb.con.pos.PostgresConnectorTask] (pool-10-thread-1) Found previous offset PostgresOffsetContext [sourceInfoSchema=Schema{io.debezium.connector.postgresql.Source:STRUCT}, sourceInfo=source_info[server='esz_outbox'db='my_db', lsn=LSN{18F/8C01E0F0}, txId=7080563, messageType=INSERT, lastCommitLsn=LSN{18F/8C01E0F0}, timestamp=2025-04-07T10:30:04.796053Z, snapshot=FALSE, schema=, table=], lastSnapshotRecord=false, lastCompletelyProcessedLsn=LSN{18F/8C01E0F0}, lastCommitLsn=LSN{18F/8C01E0F0}, streamingStoppingLsn=null, transactionContext=TransactionContext [currentTransactionId=null, perTableEventCount={}, totalEventCount=0], incrementalSnapshotContext=IncrementalSnapshotContext [windowOpened=false, chunkEndPosition=null, dataCollectionsToSnapshot=[], lastEventKeySent=null, maximumKey=null]]
2025-04-07 11:50:23 2025-04-07 10:50:23,810 INFO  [io.deb.con.pos.PostgresConnectorTask] (pool-10-thread-1) user 'deb_db_usr' connected to database 'my_db' on PostgreSQL 16.8 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0, 64-bit with roles:
2025-04-07 11:50:23     role 'deb_db_usr' [superuser: false, replication: true, inherit: true, create role: false, create db: false, can log in: true]
2025-04-07 11:50:23     role 'debezium_admins' [superuser: false, replication: false, inherit: true, create role: false, create db: false, can log in: false]
2025-04-07 11:50:23 2025-04-07 10:50:23,936 INFO  [io.deb.con.pos.con.PostgresConnection] (pool-10-thread-1) Obtained valid replication slot ReplicationSlot [active=false, latestFlushedLsn=LSN{18F/8C01E0F0}, catalogXmin=7028240]
2025-04-07 11:50:24 2025-04-07 10:50:24,096 INFO  [io.deb.uti.Threads] (pool-10-thread-1) Requested thread factory for component PostgresConnector, id = esz_outbox named = SignalProcessor
2025-04-07 11:50:24 2025-04-07 10:50:24,124 INFO  [io.deb.uti.Threads] (pool-10-thread-1) Requested thread factory for component PostgresConnector, id = esz_outbox named = change-event-source-coordinator
2025-04-07 11:50:24 2025-04-07 10:50:24,124 INFO  [io.deb.uti.Threads] (pool-10-thread-1) Requested thread factory for component PostgresConnector, id = esz_outbox named = blocking-snapshot
2025-04-07 11:50:24 2025-04-07 10:50:24,134 INFO  [io.deb.uti.Threads] (pool-10-thread-1) Creating thread debezium-postgresconnector-esz_outbox-change-event-source-coordinator
2025-04-07 11:50:24 2025-04-07 10:50:24,137 INFO  [io.deb.emb.asy.AsyncEmbeddedEngine] (pool-7-thread-1) All tasks have started successfully.
2025-04-07 11:50:24 2025-04-07 10:50:24,137 INFO  [io.deb.emb.asy.AsyncEmbeddedEngine] (pool-7-thread-1) Engine state has changed from 'STARTING_TASKS' to 'POLLING_TASKS'
2025-04-07 11:50:24 2025-04-07 10:50:24,138 INFO  [io.deb.emb.asy.AsyncEmbeddedEngine] (pool-7-thread-1) Using io.debezium.embedded.async.ParallelSmtAndConvertBatchProcessor processor
2025-04-07 11:50:24 2025-04-07 10:50:24,438 INFO  [io.deb.pip.ChangeEventSourceCoordinator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Metrics registered
2025-04-07 11:50:24 2025-04-07 10:50:24,439 INFO  [io.deb.pip.ChangeEventSourceCoordinator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Context created
2025-04-07 11:50:24 2025-04-07 10:50:24,443 INFO  [io.deb.con.pos.PostgresSnapshotChangeEventSource] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) A previous offset indicating a completed snapshot has been found.
2025-04-07 11:50:24 2025-04-07 10:50:24,444 INFO  [io.deb.con.pos.PostgresSnapshotChangeEventSource] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) According to the connector configuration no snapshot will be executed
2025-04-07 11:50:24 2025-04-07 10:50:24,446 INFO  [io.deb.pip.ChangeEventSourceCoordinator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Snapshot ended with SnapshotResult [status=SKIPPED, offset=PostgresOffsetContext [sourceInfoSchema=Schema{io.debezium.connector.postgresql.Source:STRUCT}, sourceInfo=source_info[server='esz_outbox'db='my_db', lsn=LSN{18F/8C01E0F0}, txId=7080563, messageType=INSERT, lastCommitLsn=LSN{18F/8C01E0F0}, timestamp=2025-04-07T10:30:04.796053Z, snapshot=FALSE, schema=, table=], lastSnapshotRecord=false, lastCompletelyProcessedLsn=LSN{18F/8C01E0F0}, lastCommitLsn=LSN{18F/8C01E0F0}, streamingStoppingLsn=null, transactionContext=TransactionContext [currentTransactionId=null, perTableEventCount={}, totalEventCount=0], incrementalSnapshotContext=IncrementalSnapshotContext [windowOpened=false, chunkEndPosition=null, dataCollectionsToSnapshot=[], lastEventKeySent=null, maximumKey=null]]]
2025-04-07 11:50:24 2025-04-07 10:50:24,449 INFO  [io.deb.pip.ChangeEventSourceCoordinator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Connected metrics set to 'true'
2025-04-07 11:50:25 2025-04-07 10:50:25,278 INFO  [io.deb.con.pos.PostgresSchema] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) REPLICA IDENTITY for 'debezium.outbox' is 'DEFAULT'; UPDATE and DELETE events will contain previous values only for PK columns
2025-04-07 11:50:25 2025-04-07 10:50:25,321 INFO  [io.deb.pip.sig.SignalProcessor] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) SignalProcessor started. Scheduling it every 5000ms
2025-04-07 11:50:25 2025-04-07 10:50:25,322 INFO  [io.deb.uti.Threads] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Creating thread debezium-postgresconnector-esz_outbox-SignalProcessor
2025-04-07 11:50:25 2025-04-07 10:50:25,322 INFO  [io.deb.pip.ChangeEventSourceCoordinator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Starting streaming
2025-04-07 11:50:25 2025-04-07 10:50:25,323 INFO  [io.deb.con.pos.PostgresStreamingChangeEventSource] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Retrieved latest position from stored offset 'LSN{18F/8C01E0F0}'
2025-04-07 11:50:25 2025-04-07 10:50:25,325 INFO  [io.deb.con.pos.con.WalPositionLocator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Looking for WAL restart position for last commit LSN 'LSN{18F/8C01E0F0}' and last change LSN 'LSN{18F/8C01E0F0}'
2025-04-07 11:50:25 2025-04-07 10:50:25,326 INFO  [io.deb.con.pos.con.PostgresReplicationConnection] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Initializing PgOutput logical decoder publication
2025-04-07 11:50:27 2025-04-07 10:50:27,425 INFO  [io.deb.con.pos.con.PostgresConnection] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Obtained valid replication slot ReplicationSlot [active=false, latestFlushedLsn=LSN{18F/8C01E0F0}, catalogXmin=7028240]
2025-04-07 11:50:27 2025-04-07 10:50:27,561 INFO  [io.deb.jdb.JdbcConnection] (pool-14-thread-1) Connection gracefully closed
2025-04-07 11:50:27 2025-04-07 10:50:27,860 INFO  [io.deb.uti.Threads] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Requested thread factory for component PostgresConnector, id = esz_outbox named = keep-alive
2025-04-07 11:50:27 2025-04-07 10:50:27,861 INFO  [io.deb.uti.Threads] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Creating thread debezium-postgresconnector-esz_outbox-keep-alive
2025-04-07 11:50:28 2025-04-07 10:50:28,399 INFO  [io.deb.con.pos.PostgresSchema] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) REPLICA IDENTITY for 'debezium.outbox' is 'DEFAULT'; UPDATE and DELETE events will contain previous values only for PK columns
2025-04-07 11:50:28 2025-04-07 10:50:28,529 INFO  [io.deb.con.pos.PostgresStreamingChangeEventSource] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Searching for WAL resume position
2025-04-07 11:50:36 2025-04-07 10:50:36,191 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1) 1 records sent during previous 00:00:18.169, last recorded offset of {server=esz_outbox} partition is {lsn_proc=1716040884464, messageType=INSERT, lsn_commit=1716040884464, lsn=1716040884464, txId=7080563, ts_usec=1744021804796053}
2025-04-07 11:50:57 2025-04-07 10:50:57,630 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1) 2 records sent during previous 00:00:21.437, last recorded offset of {server=esz_outbox} partition is {lsn_proc=1716040884464, messageType=INSERT, lsn_commit=1716040884464, lsn=1716040884464, txId=7080563, ts_usec=1744021804796053}
2025-04-07 11:51:39 2025-04-07 10:51:39,822 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1) 4 records sent during previous 00:00:42.194, last recorded offset of {server=esz_outbox} partition is {lsn_proc=1716040884464, messageType=INSERT, lsn_commit=1716040884464, lsn=1716040884464, txId=7080563, ts_usec=1744021804796053}
2025-04-07 11:52:53 2025-04-07 10:52:53,127 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1) 7 records sent during previous 00:01:13.305, last recorded offset of {server=esz_outbox} partition is {lsn_proc=1716040884464, messageType=INSERT, lsn_commit=1716040884464, lsn=1716040884464, txId=7080563, ts_usec=1744021804796053}
2025-04-07 11:54:29 2025-04-07 10:54:29,036 INFO  [io.deb.con.pos.con.WalPositionLocator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) First LSN 'LSN{18F/8C0138C8}' received
2025-04-07 11:54:29 2025-04-07 10:54:29,360 INFO  [io.deb.con.pos.con.WalPositionLocator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) LSN after last stored change LSN 'LSN{18F/8D002E98}' received
2025-04-07 11:54:29 2025-04-07 10:54:29,360 INFO  [io.deb.con.pos.PostgresStreamingChangeEventSource] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) WAL resume position 'LSN{18F/8D002E98}' discovered
2025-04-07 11:54:29 2025-04-07 10:54:29,635 INFO  [io.deb.jdb.JdbcConnection] (pool-15-thread-1) Connection gracefully closed
2025-04-07 11:54:29 2025-04-07 10:54:29,639 INFO  [io.deb.jdb.JdbcConnection] (pool-16-thread-1) Connection gracefully closed
2025-04-07 11:54:30 2025-04-07 10:54:30,463 INFO  [io.deb.con.pos.con.PostgresReplicationConnection] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Initializing PgOutput logical decoder publication
2025-04-07 11:54:30 2025-04-07 10:54:30,994 INFO  [io.deb.uti.Threads] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Requested thread factory for component PostgresConnector, id = esz_outbox named = keep-alive
2025-04-07 11:54:30 2025-04-07 10:54:30,996 INFO  [io.deb.uti.Threads] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Creating thread debezium-postgresconnector-esz_outbox-keep-alive
2025-04-07 11:54:30 2025-04-07 10:54:30,997 INFO  [io.deb.con.pos.PostgresStreamingChangeEventSource] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Processing messages
2025-04-07 11:54:31 2025-04-07 10:54:31,000 INFO  [io.deb.con.pos.con.AbstractMessageDecoder] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Streaming requested from LSN LSN{18F/8C01E0F0}, received LSN LSN{18F/8C0138C8} identified as already processed
2025-04-07 11:54:32 2025-04-07 10:54:32,460 INFO  [io.deb.con.pos.con.WalPositionLocator] (debezium-postgresconnector-esz_outbox-change-event-source-coordinator) Message with LSN 'LSN{18F/8D002E98}' arrived, switching off the filtering
2025-04-07 11:55:41 2025-04-07 10:55:41,771 INFO  [io.deb.con.com.BaseSourceTask] (pool-10-thread-1) 16 records sent during previous 00:02:48.643, last recorded offset of {server=esz_outbox} partition is {lsn_proc=1716057550488, messageType=COMMIT, lsn_commit=1716057550488, lsn=1716057550488, txId=7080563, ts_usec=1744021804796053}
{code}
h2. How to reproduce the issue using our [tutorial|https://github.com/debezium/debezium-examples/tree/main/tutorial] deployment?

Not sure

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.