diff --git a/documentation/faq.asciidoc b/documentation/faq.asciidoc index 402be503d03..852cc82edb7 100644 --- a/documentation/faq.asciidoc +++ b/documentation/faq.asciidoc @@ -413,6 +413,23 @@ If the global change is not desirable then the connector can override the defaul In the latter case it is also necessary to configure `connector.client.config.override.policy=ALL` option in Kafka Connect worker config file `connect-distributed.properties`. For Debezium `connect` Docker image the environment variable `CONNECT_CONNECTOR_CLIENT_CONFIG_OVERRIDE_POLICY` can be used to configure the option. +== Why MilliSecondsBehindSource is growing exponentially ? + +When Debezium Connector is replicating binlog, it is possible that Debezium Connector is not able to keep up with rate at which CDC events are generated in the upstream database. +Observe the streaming metrics MilliSecondsBehindSource. MilliSecondsBehindSource would increase exponentially. + +To solve the issue, identify the round trip time of a packet from the machine on which Kafka connect is running to database host. + +``` +ping -c 10 +``` + +If the round trip time is in few milliseconds(For Example 20 or 30 milliseconds and not 0.1 or 0.5 milliseconds), then time taken by Kafka Connect to connect with upstream database is high. + +For streams generating fewer CDC events, Kafka connect will be able to keep up with CDC events even with high round trip time. +However for a stream generating high volume of CDC data, Kafka connect will not be able to keep up with CDC data and hence MilliSecondsBehindSource will grow exponentially. + +Move Kafka Connect with Debezium connector to a host or machine from which database can be reached faster or round trip time is less than a millisecond. == Why do JSON messages not contain schema? If you are using `JsonConverter` to convert and serialize the messages emitted by Debezium, the schema is not included in the messages by default. @@ -471,4 +488,4 @@ add the https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-tr ---- -Alternatively, if you use the https://maven.apache.org/plugins/maven-assembly-plugin/index.html[Maven Assembly plug-in], you can use the https://maven.apache.org/plugins/maven-assembly-plugin/examples/single/using-container-descriptor-handlers.html[metaInf-services container descriptor handlers]. \ No newline at end of file +Alternatively, if you use the https://maven.apache.org/plugins/maven-assembly-plugin/index.html[Maven Assembly plug-in], you can use the https://maven.apache.org/plugins/maven-assembly-plugin/examples/single/using-container-descriptor-handlers.html[metaInf-services container descriptor handlers].