Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 我怎么知道我';我在卡夫卡连接间歇读取源代码时遇到数据丢失问题?_Apache Kafka_Db2_Apache Kafka Connect_Confluent Platform - Fatal编程技术网

Apache kafka 我怎么知道我';我在卡夫卡连接间歇读取源代码时遇到数据丢失问题?

Apache kafka 我怎么知道我';我在卡夫卡连接间歇读取源代码时遇到数据丢失问题?,apache-kafka,db2,apache-kafka-connect,confluent-platform,Apache Kafka,Db2,Apache Kafka Connect,Confluent Platform,我们正在运行Kafka Connect,使用从数据库读取。我们会定期在Kafka Connect日志中看到类似的问题: kafkaconnect-deploy-prod-967ddfffb-5l4cm 2021-04-23 10:39:43.770 ERROR Failed to run query for table TimestampIncrementingTableQuerier{table="PRODSCHEMA"."VW_PRODVIEW", q

我们正在运行Kafka Connect,使用从数据库读取。我们会定期在Kafka Connect日志中看到类似的问题:

kafkaconnect-deploy-prod-967ddfffb-5l4cm 2021-04-23 10:39:43.770 ERROR Failed to run query for table TimestampIncrementingTableQuerier{table="PRODSCHEMA"."VW_PRODVIEW", query='null', topicPrefix='some-topic-prefix-', incrementingColumn='', timestampColumns=[UPDATEDATETIME]}: {} (io.confluent.connect.jdbc.source.JdbcSourceTask:404)
com.ibm.db2.jcc.am.SqlException: DB2 SQL Error: SQLCODE=-668, SQLSTATE=57007, SQLERRMC=1;PRODSCHEMA.SOURCE_TABLE, DRIVER=4.28.11
    at com.ibm.db2.jcc.am.b7.a(b7.java:815)
    ...
    at com.ibm.db2.jcc.am.k7.bd(k7.java:785)
    at com.ibm.db2.jcc.am.k7.executeQuery(k7.java:750)
    at io.confluent.connect.jdbc.source.TimestampIncrementingTableQuerier.executeQuery(TimestampIncrementingTableQuerier.java:200)
    at io.confluent.connect.jdbc.source.TimestampIncrementingTableQuerier.maybeStartQuery(TimestampIncrementingTableQuerier.java:159)
    at io.confluent.connect.jdbc.source.JdbcSourceTask.poll(JdbcSourceTask.java:371)
这似乎是一个连接到DB2的间歇性问题,并且是半预期的;出于本问题范围之外的原因,我们知道两者之间的网络不可靠

然而,我们试图确定的是,在这种情况下是否可能发生数据丢失。我发现其中提到了Kafka Connect中的错误处理,但它只指由于消息中断而导致的错误,而不是Kafka Connect和数据源之间的实际连接

在这种情况下,我们如何知道连接失败是否导致了数据丢失?(即数据源中未针对目标主题处理的记录)。卡夫卡连接日志中是否有错误?Kafka Connect在出现连接问题时是否总是无限期重试?对其重试是否有任何控制


(如果有必要的话,Kafka Connect是2.5版;它部署在Kubernetes集群中,处于分布式模式,但只有一个实际运行的worker/container。)

特定异常SQL0668N原因代码1是Db2中源表上的一个临时条件。这不是连接错误或连接错误,也不是网络错误。在源表返回到正常状态(通过编程操作或手动操作)之前,不会返回任何数据(到kafka connect)。您关于数据丢失的问题的答案将取决于您在重试时如何识别源表中的增量。@mao感谢您的澄清,我不知道这一点。我认为关于Kafka Connect的问题仍然存在(这是由KC连接器决定的),但知道这不是连接问题很有用。@mao顺便说一句,本页似乎很好地解决了DB2问题:。