Return-Path: X-Original-To: apmail-jackrabbit-dev-archive@www.apache.org Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7A4A2D828 for ; Thu, 11 Oct 2012 16:15:03 +0000 (UTC) Received: (qmail 57130 invoked by uid 500); 11 Oct 2012 16:15:03 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 57075 invoked by uid 500); 11 Oct 2012 16:15:03 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 57066 invoked by uid 99); 11 Oct 2012 16:15:03 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Oct 2012 16:15:03 +0000 Date: Thu, 11 Oct 2012 16:15:03 +0000 (UTC) From: "Bart van der Schans (JIRA)" To: dev@jackrabbit.apache.org Message-ID: <1263398814.26955.1349972103125.JavaMail.jiratomcat@arcas> In-Reply-To: <1853128617.18711.1349854742873.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (JCR-3440) Deadlock on LOCAL_REVISION table in clustering environment MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/JCR-3440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474277#comment-13474277 ] Bart van der Schans commented on JCR-3440: ------------------------------------------ >From the patch: To me the check "stopRevision != startRevision" looks unnecessary. If there are no records to consume then the stopRevision will still be at Long.MIN_VALUE. Also strangely enough the syncAgainOnNewRecords() functionality only seems to be only available in the 2.4 branch. > Deadlock on LOCAL_REVISION table in clustering environment > ---------------------------------------------------------- > > Key: JCR-3440 > URL: https://issues.apache.org/jira/browse/JCR-3440 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: clustering > Affects Versions: 2.4.3 > Environment: Env.1: 4x Linux server CentOS 5 MSSQL 2008 database (production system) > Env.2: 2x Linux Ubuntu 10.04 server tested with PostgreSQL 9.1, H2, MSSQL 2008 and mySQL 5.5 (lab system) > Reporter: Luca Tagliani > Priority: Critical > Attachments: JCR-3440.patch > > > When inserting a lot of nodes concurrently (100/200 threads) the system hangs generating a deadlock on the LOCAL_REVISION table. > There is a thread that starts a transaction but the transaction remains open, while another thread tries to acquire the lock on the table. > This actually happen even if there is only a server up but configured in cluster mode. > I found that in AbstractJournal, we try to write the LOCAL_REVISION even if we don't sync any record because they're generated by the same journal of the thread running. > Removing this unnecessary (to me :-) ) write to the LOCAL_REVISION table, remove the deadlock. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira