Hi Gunnar,
Thanks for your response. We are using SQL Server connectors. I increased the log level to 'TRACE' but there was nothing in the logs that could explain the NET I/O figures on the kafka-connect container. This is what the container stats look like when kafka-connect is restarted.
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
8636a7d8b852 connect-01 0.56% 1.961GiB / 62.82GiB 3.12% 21.7MB / 1.13MB 0B / 41kB 290
In 30-40 minutes the NET I/O on the container increases to ~17 GB (if max heap size is 16GB) or ~8.5GB (if max heap size is 8GB). At this point the kafka-connect REST API is no longer responsive and only then we start seeing some exceptions in the logs. When this happens the CPU usage across all 16 cores on the machine reaches 90-100%.
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
8636a7d8b852 connect-01 1252.65% 17.35GiB / 62.82GiB 27.62% 17.1GB / 140MB 0B / 41kB 296
Meanwhile the logs look like this.
[2021-09-30 19:17:11,165] INFO WorkerSourceTask{id=Source_SourceDB_PG_0-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,165] INFO WorkerSourceTask{id=Source_SourceDB_PG_5-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,165] INFO WorkerSourceTask{id=Source_SourceDB_PG_30-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,169] INFO WorkerSourceTask{id=Source_SourceDB_PG_6-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,175] INFO WorkerSourceTask{id=Source_SourceDB_PG_1-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,180] INFO WorkerSourceTask{id=Source_SourceDB_PG_4-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,191] INFO WorkerSourceTask{id=Source_SourceDB_PG_2-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,191] INFO WorkerSourceTask{id=Source_SourceDB_PG_3-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,204] INFO WorkerSourceTask{id=Source_SourceDB_PG_10-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,214] INFO WorkerSourceTask{id=Source_SourceDB_PG_29-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,266] INFO WorkerSourceTask{id=Source_SourceDB_PG_16-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,266] INFO WorkerSourceTask{id=Source_SourceDB_PG_11-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,287] INFO WorkerSourceTask{id=Source_SourceDB_PG_12-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,287] INFO WorkerSourceTask{id=Source_SourceDB_PG_14-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,287] INFO WorkerSourceTask{id=Source_SourceDB_PG_13-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,290] INFO WorkerSourceTask{id=Source_SourceDB_PG_15-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,315] INFO WorkerSourceTask{id=Source_SourceDB_PG_17-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,426] INFO WorkerSourceTask{id=Source_SourceDB_PG_26-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,433] INFO WorkerSourceTask{id=Source_SourceDB_PG_8-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,442] INFO WorkerSourceTask{id=Source_SourceDB_PG_27-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,447] INFO WorkerSourceTask{id=Source_SourceDB_PG_23-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,447] INFO WorkerSourceTask{id=Source_SourceDB_PG_22-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,450] INFO WorkerSourceTask{id=Source_SourceDB_PG_20-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,458] INFO WorkerSourceTask{id=Source_SourceDB_PG_9-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,471] INFO WorkerSourceTask{id=Source_SourceDB_PG_25-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,473] INFO WorkerSourceTask{id=Source_SourceDB_PG_21-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,500] INFO WorkerSourceTask{id=Source_SourceDB_PG_19-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:11,500] INFO WorkerSourceTask{id=Source_SourceDB_PG_24-0} flushing 0 outstanding messages for offset commit (org.apache.kafka.connect.runtime.WorkerSourceTask)
[2021-09-30 19:17:15,958] TRACE Max transaction lsn is 00001f5c:0000dde0:0003 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:15,959] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,481] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,481] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,498] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,498] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,515] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,515] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,530] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,530] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,531] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,531] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,543] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,543] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,543] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,543] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,547] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,547] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,547] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,547] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,547] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,547] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,559] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,559] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,564] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,564] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,564] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,564] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,565] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,565] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,565] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,565] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,565] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,565] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,567] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,567] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,591] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,591] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,595] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,595] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,596] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,596] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,596] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,596] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,596] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,596] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,596] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,596] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,596] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,596] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,596] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,596] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
[2021-09-30 19:17:18,912] TRACE Max transaction lsn is 000d8dcf:000216c0:0045 (io.debezium.connector.sqlserver.SqlServerConnection)
[2021-09-30 19:17:18,912] DEBUG No change in the database (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | PRDB02_SourceDB-dbhistory"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | PRDB02_SourceDB-dbhistory"
I do not have JMX monitoring setup, I will do that now and report back.
Regards,
Shiva Lingala