我想读取事务的元数据(Kafka 0.11.0.1支持),以便我可以弄清楚是否已提交特定事务ID的事务。目前我从_transactional_state主题获取密钥和值,但它采用某种编码格式。
下面是我在查询__transaction_state主题时收到的一些相同的键/值:
key = 10000000mmm,value = ����
+' )
答案 0 :(得分:4)
您可以查看TransactionLogMessageParser
文件中kafka/tools/DumpLogSegments.scala
类的源代码作为示例。它使用readTxnRecordValue
类中的TransactionLog
函数。可以通过同一类的readTxnRecordKey
函数检索此函数的第一个参数。
答案 1 :(得分:0)
就像在Kafka how to read from __consumer_offsets topic
中所做的一样 echo "exclude.internal.topics=false" > consumer.config
kafka-console-consumer --consumer.config consumer.config --formatter "kafka.coordinator.transaction.TransactionLog\$TransactionLogMessageFormatter" --bootstrap-server localhost:9092 --topic __transaction_state --from-beginning