1

我得到了以下异常: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) 净。 openhft.chronicle.map.ChronicleMapIterator.hasNext(ChronicleMapIterator.

4

1 回答 1

1

错误消息不言自明 - Chronicle Map 的内存已损坏,使用恢复它ChronicleMapBuilder.recoverPersistedTo()并尝试再次迭代。

如果您在“重新启动”下解释您的意思,这对于防止将来发生此类事情将非常有帮助。JVM进程重启,还是服务器重启?您使用什么信号或命令以任何一种方式重新启动?

仅供参考Chronicle Map.forEach(),或者forEachEntry()是比 entrySet/keySey/values().iterator() 更有效地迭代 Chronicle Map 的方法。

于 2016-09-20T08:38:07.730 回答