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 BE4A110346 for ; Thu, 17 Oct 2013 06:27:07 +0000 (UTC) Received: (qmail 75886 invoked by uid 500); 17 Oct 2013 06:26:58 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 75787 invoked by uid 500); 17 Oct 2013 06:26:54 -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 75668 invoked by uid 99); 17 Oct 2013 06:26:42 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Oct 2013 06:26:42 +0000 Date: Thu, 17 Oct 2013 06:26:41 +0000 (UTC) From: =?utf-8?Q?Claus_K=C3=B6ll_=28JIRA=29?= To: dev@jackrabbit.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (JCR-3682) If we get a unexpected exception from the jdbc driver it's possible create a unreleased VersioningLock MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/JCR-3682?page=3Dcom.atlassian.j= ira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D137976= 53#comment-13797653 ]=20 Claus K=C3=B6ll commented on JCR-3682: --------------------------------- Committed to trunk in revision 1532975. > If we get a unexpected exception from the jdbc driver it's possible creat= e a unreleased VersioningLock > -------------------------------------------------------------------------= ----------------------------- > > Key: JCR-3682 > URL: https://issues.apache.org/jira/browse/JCR-3682 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-core, transactions > Affects Versions: 2.6.4, 2.7.1 > Reporter: Claus K=C3=B6ll > Assignee: Claus K=C3=B6ll > Fix For: 2.6.5, 2.7.2 > > Attachments: JCR-3682.patch > > > If we get a unexpected exception from the jdbc driver the VersioningLock = from the versionMgr.getXAResourceEnd() XAResource will never be released so= the repository is locked forever. We should catch every Exception in Bundl= eDbPersistenceManager.readBundle() to prevent that situation. > Following Stacktrace shows the problem ... > Caused by: java.lang.ArrayIndexOutOfBoundsException > =09at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readLongMSB(T4CSocke= tInputStreamWrapper.java:201) > =09at oracle.jdbc.driver.T4CMAREngine.buffer2Value(T4CMAREngine.java:2374= ) > =09at oracle.jdbc.driver.T4CMAREngine.unmarshalUB4(T4CMAREngine.java:1310= ) > =09at oracle.jdbc.driver.T4CTTIoer.unmarshal(T4CTTIoer.java:257) > =09at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:447) > =09at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) > =09at oracle.jdbc.driver.T4C8TTILob.read(T4C8TTILob.java:146) > =09at oracle.jdbc.driver.T4CConnection.getBytes(T4CConnection.java:2392) > =09at oracle.sql.BLOB.getBytes(BLOB.java:348) > =09at oracle.jdbc.driver.OracleBlobInputStream.needBytes(OracleBlobInputS= tream.java:181) > =09at oracle.jdbc.driver.OracleBufferedStream.readInternal(OracleBuffered= Stream.java:174) > =09at oracle.jdbc.driver.OracleBufferedStream.read(OracleBufferedStream.j= ava:143) > =09at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.= java:75) > =09at org.apache.commons.io.input.CountingInputStream.read(CountingInputS= tream.java:74) > =09at java.io.DataInputStream.readFully(DataInputStream.java:189) > =09at java.io.DataInputStream.readFully(DataInputStream.java:163) > =09at org.apache.jackrabbit.core.persistence.util.BundleReader.readBytes(= BundleReader.java:669) > =09at org.apache.jackrabbit.core.persistence.util.BundleReader.readName(B= undleReader.java:520) > =09at org.apache.jackrabbit.core.persistence.util.BundleReader.readQName(= BundleReader.java:469) > =09at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundle= New(BundleReader.java:194) > =09at org.apache.jackrabbit.core.persistence.util.BundleReader.readBundle= (BundleReader.java:145) > =09at org.apache.jackrabbit.core.persistence.util.BundleBinding.readBundl= e(BundleBinding.java:152) > =09at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceMana= ger.readBundle(BundleDbPersistenceManager.java:927) > =09at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceMana= ger.loadBundle(BundleDbPersistenceManager.java:889) > =09at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersist= enceManager.getBundleCacheMiss(AbstractBundlePersistenceManager.java:766) > =09at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersist= enceManager.getBundle(AbstractBundlePersistenceManager.java:749) > =09at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersist= enceManager.storeInternal(AbstractBundlePersistenceManager.java:633) > =09at org.apache.jackrabbit.core.persistence.bundle.AbstractBundlePersist= enceManager.store(AbstractBundlePersistenceManager.java:590) > =09at org.apache.jackrabbit.core.persistence.pool.BundleDbPersistenceMana= ger.store(BundleDbPersistenceManager.java:482) > =09at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.end(= SharedItemStateManager.java:788) > =09at org.apache.jackrabbit.core.state.XAItemStateManager.commit(XAItemSt= ateManager.java:181) > =09at org.apache.jackrabbit.core.TransactionContext.commit(TransactionCon= text.java:195) > =09at org.apache.jackrabbit.core.XASessionImpl.commit(XASessionImpl.java:= 326) > =09at org.apache.jackrabbit.jca.TransactionBoundXAResource.commit(Transac= tionBoundXAResource.java:49) > =09at com.ibm.ejs.j2c.XATransactionWrapper.commit(XATransactionWrapper.ja= va:490) -- This message was sent by Atlassian JIRA (v6.1#6144)