Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 65A0E200B71 for ; Tue, 16 Aug 2016 19:27:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 646A7160ABD; Tue, 16 Aug 2016 17:27:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id AD856160AA8 for ; Tue, 16 Aug 2016 19:27:21 +0200 (CEST) Received: (qmail 30878 invoked by uid 500); 16 Aug 2016 17:27:20 -0000 Mailing-List: contact issues-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list issues@ignite.apache.org Received: (qmail 30869 invoked by uid 99); 16 Aug 2016 17:27:20 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2016 17:27:20 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 8401C2C02A5 for ; Tue, 16 Aug 2016 17:27:20 +0000 (UTC) Date: Tue, 16 Aug 2016 17:27:20 +0000 (UTC) From: "Valentin Kulichenko (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (IGNITE-3197) OverlappingFileLockException in marshaller context MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 16 Aug 2016 17:27:22 -0000 [ https://issues.apache.org/jira/browse/IGNITE-3197?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15423105#comment-15423105 ] Valentin Kulichenko edited comment on IGNITE-3197 at 8/16/16 5:26 PM: ---------------------------------------------------------------------- Agree. Actually, I'm not sure it's even possible, because we should check for collisions when updating the meta cache. was (Author: vkulichenko): Agree. Actually, I'm not sure it's even possible, because we should check collisions when updating the meta cache. > 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 > Assignee: Andrey Velichko > Priority: Minor > Labels: important > Fix For: 1.8 > > > {{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)