我写了一个关于三叉戟的演示。 在演示中,我想在事务spout中生成一系列数据,然后为它们执行persistentAggregate操作。
正常处理如下:
step1:txid = 1,{" aaa 3"," bbb 2"} ==>坚持到DB(确定)
第2步:txid = 2,{" ccc 6"," ddd 7"} ==>坚持到DB(确定)
如果在步骤1中持续存在DB的操作异常,我认为该过程应该是
step1:txid = 1,{" aaa 3"," bbb 2"} ==>坚持到DB(NG)
第2步:txid = 1,{" aaa 3"," bbb 2"} ==>坚持到DB(确定)
但测试结果如下:
step1:txid = 1,{" aaa 3"," bbb 2"} ==>坚持到DB(NG)
第2步:txid = 1,{" ccc 6"," ddd 7"} ==>坚持到DB(确定)
我认为这个过程不正确。但我不知道为什么会这样。 我检查了zookeeper,在路径" meta / 1中,值为null。
我自己编写了一个事务喷口实现了ITridentSpout接口,我认为这可能是我写的喷口问题。
任何人都可以给我一些建议吗?或者给我一个实现的事务性spout示例供我参考。
谢谢!