我得到了以下异常: java.lang.IllegalStateException:我们没有中断一个层,但根据层计数器应该有1个以上的条目。大小不一致?net.openhft.chronicle.map.impl.CompiledMapIterationContext.forEachTierEntryWhile(CompiledMapIterationContext.java:3779) net.openhft.chronicle.map.impl.CompiledMapIterationContext.innerForEachSegmentEntryWhile(CompiledMapIterationContext.java:3791) net.openhft.chronicle.map.impl.CompiledMapIterationContext.forEachSegmentEntryWhile(CompiledMapIterationContext.java:3811) net.openhft.chronicle.map.impl.CompiledMapIterationContext.forEachSegmentEntry(CompiledMapIterationContext.java:3816) net.openhft.chronicle.map.ChronicleMapIterator.fillEntryBuffer(ChronicleMapIterator.java:61) net.openhft.chronicle.map.ChronicleMapIterator.hasNext(ChronicleMapIterator.java:77)
发布于 2016-09-20 16:38:08
错误消息不言而喻-编年史地图的内存已损坏,请使用ChronicleMapBuilder.recoverPersistedTo()恢复它,然后尝试再次迭代。
如果你解释一下你在“重新启动”下的意思,这将对防止未来发生这样的事情真的很有帮助。JVM进程重启,还是服务器重启?您使用了什么信号或命令来以这两种方式重新启动?
此外,与entrySet/keySey/ forEachEntry() ().iterator()相比,Chronicle Map.forEach()或forEachEntry()是迭代编年史映射的更有效的方法。
https://stackoverflow.com/questions/39584597
复制相似问题