Valentin Kulichenko created IGNITE-3197: -------------------------------------------
Summary: OverlappingFileLockException in marshaller context Key: IGNITE-3197 URL: https://issues.apache.org/jira/browse/IGNITE-3197 Project: Ignite Issue Type: Bug Components: general Affects Versions: 1.6 Reporter: Valentin Kulichenko Fix For: 1.7 {{MarshallerContextImpl}} uses static locks to avoid writing to the same file concurrently. But if Ignite is running embedded in managed environment (e.g., application server), it's possible that there will be two clients loaded by different class loaders. In this case they will not share these static locks and therefore they can try to acquire the file lock for the same file, causing the {{OverlappingFileLockException}}: {noformat} [#|2016-05-17T08:02:21.950+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=291;_ThreadName=Thread-2;|java.nio.channels.OverlappingFileLockException at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255) at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152) at sun.nio.ch.FileChannelImpl.lock(FileChannelImpl.java:1011) at org.apache.ignite.internal.MarshallerContextImpl$ContinuousQueryListener.onUpdated(MarshallerContextImpl.java:239) at org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.notifyCallback(CacheContinuousQueryHandler.java:655) at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.processNotification(GridContinuousProcessor.java:967) at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.access$1900(GridContinuousProcessor.java:94) at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$8.onMessage(GridContinuousProcessor.java:612) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1058) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:104) at org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2295) at org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1018) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1900(GridIoManager.java:104) at org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:987) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) |#] {noformat} It's actually harmless, but the logs are flooded with the errors. -- This message was sent by Atlassian JIRA (v6.3.4#6332)