我一直在尝试 Chronicle Queue 4.5.27。我们正在 Windows 7x64 VM (Java x64) 上运行一些测试,有时 Chronicle Queue 似乎永远不会释放它创建的第一个文件。
我们配置了分钟滚动周期。 1-3 个线程可以写入,另一端有一个消费者正在处理。我注册了一个 StoreFileListener 来监听 onReleased 事件,然后从那里整理文件(在 Windows 上,由于 mmap 文件存在已知问题,它会尝试几次)。
问题是我从未收到有关队列创建的第一个文件的通知,并且堆转储显示有人正在保留 MappedByteBuffer;否则队列将按预期工作。有什么原因可能会发生这种情况吗?
例如一段时间后我会在磁盘上看到类似的内容:
20170705-2000.cq4
20170705-2008.cq4
20170705-2009.cq4
谢谢!
最佳答案
(我认为)这个问题现已在最新版本中修复。
关于java - 历史记录队列不释放第一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44937827/