OpenHFT/Chronicle-Queue

Question: Which version of chronicle-queue contains the fix for java.nio.channels.OverlappingFileLockException: null

ivan-83 opened this issue · 1 comments

Hi nicktindall
We are facing OverlappingFileLockException issue (#1291).

The question is which version of chronicle-queue contains the fix for OverlappingFileLockException?

Getting errors,

java.nio.channels.OverlappingFileLockException: null
	at java.base/sun.nio.ch.FileLockTable.checkList(Unknown Source)
	at java.base/sun.nio.ch.FileLockTable.add(Unknown Source)
	at java.base/sun.nio.ch.FileChannelImpl.lock(Unknown Source)
	at java.base/java.nio.channels.FileChannel.lock(Unknown Source)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedFile.resizeRafIfTooSmall(ChunkedMappedFile.java:235)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedFile.acquireByteStore(ChunkedMappedFile.java:169)
	at net.openhft.chronicle.bytes.MappedFile.acquireByteStore(MappedFile.java:196)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedBytes.acquireNextByteStore0(ChunkedMappedBytes.java:346)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedBytes.readVolatileInt(ChunkedMappedBytes.java:478)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue$StoreSupplier.headerRecovery(SingleChronicleQueue.java:1139)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue$StoreSupplier.acquire(SingleChronicleQueue.java:1093)
	at net.openhft.chronicle.queue.impl.WireStorePool.acquire(WireStorePool.java:53)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue.storeForCycle(SingleChronicleQueue.java:567)
	at net.openhft.chronicle.queue.impl.single.StoreTailer.optimizedToEnd(StoreTailer.java:916)
	at net.openhft.chronicle.queue.impl.single.StoreTailer.callOptimizedToEnd(StoreTailer.java:865)
	at net.openhft.chronicle.queue.impl.single.StoreTailer.toEnd(StoreTailer.java:860)
java.nio.channels.OverlappingFileLockException: null
	at java.base/sun.nio.ch.FileLockTable.checkList(Unknown Source)
	at java.base/sun.nio.ch.FileLockTable.add(Unknown Source)
	at java.base/sun.nio.ch.FileChannelImpl.lock(Unknown Source)
	at java.base/java.nio.channels.FileChannel.lock(Unknown Source)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedFile.resizeRafIfTooSmall(ChunkedMappedFile.java:235)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedFile.acquireByteStore(ChunkedMappedFile.java:169)
	at net.openhft.chronicle.bytes.MappedFile.acquireByteStore(MappedFile.java:196)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedBytes.acquireNextByteStore0(ChunkedMappedBytes.java:346)
	at net.openhft.chronicle.bytes.internal.ChunkedMappedBytes.readVolatileInt(ChunkedMappedBytes.java:478)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue$StoreSupplier.headerRecovery(SingleChronicleQueue.java:1139)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue$StoreSupplier.acquire(SingleChronicleQueue.java:1093)
	at net.openhft.chronicle.queue.impl.WireStorePool.acquire(WireStorePool.java:53)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue.cleanupStoreFilesWithNoData(SingleChronicleQueue.java:931)
	at net.openhft.chronicle.queue.impl.single.StoreAppender.<init>(StoreAppender.java:81)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue.constructAppender(SingleChronicleQueue.java:475)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue.createNewAppenderOnceConditionIsMet(SingleChronicleQueue.java:461)
	at net.openhft.chronicle.core.threads.CleaningThreadLocal.initialValue(CleaningThreadLocal.java:83)
	at java.base/java.lang.ThreadLocal.setInitialValue(Unknown Source)
	at java.base/java.lang.ThreadLocal.get(Unknown Source)
	at net.openhft.chronicle.core.threads.CleaningThreadLocal.get(CleaningThreadLocal.java:95)
	at net.openhft.chronicle.queue.impl.single.SingleChronicleQueue.acquireAppender(SingleChronicleQueue.java:494)

Many thanks in advance!

@ivan-83 please use stackoverflow for questions, and github issues for issues

If you would like prioritised support please have a look at https://chronicle.software/support/