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 0A33B8EB1 for ; Tue, 13 Sep 2011 15:22:34 +0000 (UTC) Received: (qmail 97591 invoked by uid 500); 13 Sep 2011 15:22:33 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 97552 invoked by uid 500); 13 Sep 2011 15:22:33 -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 97545 invoked by uid 99); 13 Sep 2011 15:22:33 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Sep 2011 15:22:33 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Sep 2011 15:22:29 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id F262096CD2 for ; Tue, 13 Sep 2011 15:22:08 +0000 (UTC) Date: Tue, 13 Sep 2011 15:22:08 +0000 (UTC) From: "Julian Reschke (JIRA)" To: dev@jackrabbit.apache.org Message-ID: <1568473049.22315.1315927328989.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (JCR-2272) Errors during concurrent session import of nodes with same UUIDs 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-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13103687#comment-13103687 ] Julian Reschke commented on JCR-2272: ------------------------------------- More observations: - concurrent import fails with different kinds of RepositoryExceptions, not only InvalidItemStateExceptions -- as, for this case, there shouldn't be any exceptions, it seems to be ok to allow all kinds of RepositoryExceptions for now, and address this problem later on - exceptions sometimes happen before save() and thus are not accepted; I think that behavior is ok, so we should move addNode() into the try block The most important issue continues to fix those exceptions which are caused by the attempt to add a node to the persistence although it is already there (on the PersistenceManager level); we should (a) change BundleDBPersistenceManager to produce a more useful exception in this case, and (b) in the test case follow the exception chain checking for an SQLIntegrityViolationException, treating that as a test failure. Patch follow -- with that patch, we still see occasional failures, and we probably need to dig deeper. > Errors during concurrent session import of nodes with same UUIDs > ---------------------------------------------------------------- > > Key: JCR-2272 > URL: https://issues.apache.org/jira/browse/JCR-2272 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core, xml > Affects Versions: 2.0-alpha8 > Reporter: Tobias Bocanegra > Attachments: 2272.patch, JCR-2272.patch, JCR-2272_NPE.patch, JCR-2272__Errors_during_concurrent_session_import_of_nodes_with_same_UUIDs.patch, JCR-2272_revised.patch, JCR2272.Sep12.patch, JCR2272.Sep13.patch, JCR2272.Sep13b.patch, JCR2272.Sep6.patch > > > 21.08.2009 16:22:14 *ERROR* [Executor 0] ConnectionRecoveryManager: could not execute statement, reason: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL090821042140130' defined on 'DEFAULT_BUNDLE'., state/code: 23505/20000 (ConnectionRecoveryManager.java, line 453) > 21.08.2009 16:22:14 *ERROR* [Executor 0] BundleDbPersistenceManager: failed to write bundle: 6c292772-349e-42b3-8255-7729615c67de (BundleDbPersistenceManager.java, line 1212) > ERROR 23505: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL090821042140130' defined on 'DEFAULT_BUNDLE'. > at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) > at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(Unknown Source) > at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(Unknown Source) > at org.apache.derby.impl.sql.execute.IndexChanger.insert(Unknown Source) > at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(Unknown Source) > at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source) > at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown Source) > at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source) > at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source) > at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source) > at org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:371) > at org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmtInternal(ConnectionRecoveryManager.java:298) > at org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:261) > at org.apache.jackrabbit.core.persistence.bundle.util.ConnectionRecoveryManager.executeStmt(ConnectionRecoveryManager.java:239) > at org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.storeBundle(BundleDbPersistenceManager.java:1209) > at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.putBundle(AbstractBundlePersistenceManager.java:709) > at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.storeInternal(AbstractBundlePersistenceManager.java:651) > at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersistenceManager.store(AbstractBundlePersistenceManager.java:527) > at org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager.store(BundleDbPersistenceManager.java:563) > at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(SharedItemStateManager.java:724) > at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedItemStateManager.java:1101) > at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:351) > at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateManager.java:354) > at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemStateManager.java:326) > at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionItemStateManager.java:326) > at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1098) > at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:925) > at org.apache.jackrabbit.core.ConcurrentImportTest$1.execute(ConcurrentImportTest.java:73) > at org.apache.jackrabbit.core.AbstractConcurrencyTest$Executor.run(AbstractConcurrencyTest.java:209) > at java.lang.Thread.run(Thread.java:637) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira