从记录队列中读取消息不会自动将当前索引移动到下一个周期

时间:2016-09-01 10:21:34

标签: chronicle chronicle-queue

从记录队列中读取消息不会自动将当前索引移动到下一个循环。我收到以下日志消息: 697917 [SCHEDULER#4] INFO net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts - 滚动2次以查找下一个循环文件​​。如果你的appender暂时没有写任何东西,留下循环文件有间隙,就会发生这种情况。

这意味着什么?

我的队列文件是:20160824.cq4 20160826.cq4 20160829.cq4 20160830.cq4。 20160825.cq4文件不存在,因为没有数据添加到队列中。

2 个答案:

答案 0 :(得分:0)

你能澄清一下你得到的错误吗?

我们有测试显示跳过缺失的周期向前和向后都有效。

  

这意味着什么?

你在这里解释了

“20160825.cq4文件不存在,因为没有数据添加到队列中。”

这就是跳过循环的原因,你看到

“滚动2次以找到下一个循环文件​​。如果你的appender暂时没有写任何东西,留下循环文件有间隙,就会发生这种情况。”

答案 1 :(得分:0)

这只是因为我刚才注册时无法发表评论。我看到一个类似的问题,但不是几天之间的空日记,只有几天。我从ExcerptTailer.readDocument得到一个错误的返回,并注意到索引在我的上一个索引和我的第一个索引之间跳过了大于2 ^ 32的数字,表示循环移位。我只从

切换版本
  • compile' net.openhft:chronicle-queue:4.5.5'
  • compile' net.openhft:chronicle-queue:4.5.27'

这个问题已经解决了。因为我刚刚处于原型设计阶段,所以我没有必要跟上,因此远远落后。我希望这会有所帮助,而且无论如何我确实希望得到解决。