我正在开发一个临时实时流处理框架,该框架在内部使用java-chronicle库在构建块之间交换数据。
编年史使用磁盘空间来存储附加到队列的项目,并随着每条新消息而增加空间。
由于我只使用一次消息 - 重播行为由处理元素之外的 kafka 支持 - 处理的元素可能会被删除,从而清理磁盘空间。有没有办法通过删除条目来释放编年史文件占用的空间?
另一种方法是在固定数量的消息后打开新的编年史,并跟踪已经使用的编年史,然后将其从磁盘中删除。...但这似乎不是一个非常顺利的解决方案;-)
所以,我的问题是,是否有一种方法可以从编年史中删除已处理/尾部条目?