简体   繁体   English

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

[英]Reading message from chronicle queue does not move the current index to the next cycle automatically

Reading message from chronicle queue does not move the current index to the next cycle automatically. 从编年史队列中读取消息不会自动将当前索引移到下一个周期。 I get the following logs messages: 697917 [SCHEDULER#4] INFO net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts - Rolled 2 times to find the next cycle file. 我收到以下日志消息:697917 [SCHEDULER#4]信息net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts-滚动2次以查找下一个循环文件​​。 This can occur if you appenders have not written anything for a while, leaving the cycle files with a gap. 如果您的附加器已经有一段时间没有写任何东西,则循环文件中会有空白,可能会发生这种情况。

What does this means? 这是什么意思?

My queue files are : 20160824.cq4 20160826.cq4 20160829.cq4 20160830.cq4. 我的队列文件是:20160824.cq4 20160826.cq4 20160829.cq4 20160830.cq4。 The 20160825.cq4 file does not exist, because there was no data added to the queue. 20160825.cq4文件不存在,因为没有数据添加到队列中。

Can you clarify what the error is you are getting?. 您能说明您遇到的错误吗?

We have tests which show skipping missing cycles works both forwards and backwards. 我们的测试表明,跳过缺失的循环既可以向前又可以向后工作。

What does this means? 这是什么意思?

You have explained it here 你已经在这里解释了

"The 20160825.cq4 file does not exist, because there was no data added to the queue." “ 20160825.cq4文件不存在,因为没有数据添加到队列中。”

which is why a cycle is skipped and you see 这就是为什么跳过一个循环而您看到的原因

"Rolled 2 times to find the next cycle file. This can occur if you appenders have not written anything for a while, leaving the cycle files with a gap." “滚动了2次以查找下一个循环文件​​。如果您的附加程序已经有一段时间没有写任何东西,则循环文件中会有空白,这可能会发生。”

This is just FYI since I can't comment as I just signed up. 这只是仅供参考,因为我刚注册就无法发表评论。 I was seeing a similar issue however not with the empty journals between days, just multiple days. 我看到了类似的问题,但是几天之间没有空日志,只是几天。 I was getting a false return from ExcerptTailer.readDocument and noticed that the index hopped by a number greater than 2^32 between my last index and my first indicating a cycle shift. 我从ExcerptTailer.readDocument得到一个错误的返回,并注意到该索引在我的上一个索引和第一个索引之间跳了一个大于2 ^ 32的数字,这表明周期发生了移位。 I only switched versions from 我只从

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

And the issue was resolved. 问题已解决。 As I am just in a prototyping phase I have not had a need to keep up so was quite far behind. 因为我正处于原型制作阶段,所以我不需要跟上进度,所以已经远远落后了。 I hope this helps and it does indeed look to be resolved for my case anyway. 我希望这会有所帮助,无论如何我的确希望得到解决。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM