0

从编年史队列中读取消息不会自动将当前索引移动到下一个周期。我收到以下日志消息: 697917 [SCHEDULER#4] INFO net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts - 滚动 2 次以查找下一个循环文件​​。如果您的附加程序有一段时间没有写入任何内容,则可能会发生这种情况,从而使循环文件有间隙。

这是什么意思?

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

4

2 回答 2

0

你能澄清你得到的错误是什么吗?

我们有测试显示跳过丢失的周期可以向前和向后工作。

这是什么意思?

你已经在这里解释过了

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

这就是为什么跳过一个循环,你会看到

“滚动 2 次以找到下一个循环文件​​。如果您的附加程序有一段时间没有写入任何内容,则可能会发生这种情况,从而使循环文件有间隙。”

于 2016-09-01T15:03:45.647 回答
0

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

  • 编译'net.openhft:chronicle-queue:4.5.5'
  • 编译'net.openhft:chronicle-queue:4.5.27'

问题得到了解决。由于我只是处于原型设计阶段,我不需要跟上,所以远远落后。我希望这会有所帮助,而且它确实看起来确实可以解决我的问题。

于 2017-07-06T15:22:10.920 回答