Return-Path: X-Original-To: apmail-jackrabbit-commits-archive@www.apache.org Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6CF4710AE4 for ; Wed, 3 Jul 2013 14:07:54 +0000 (UTC) Received: (qmail 74021 invoked by uid 500); 3 Jul 2013 14:07:53 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 73920 invoked by uid 500); 3 Jul 2013 14:07:51 -0000 Mailing-List: contact commits-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 commits@jackrabbit.apache.org Received: (qmail 73912 invoked by uid 99); 3 Jul 2013 14:07:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jul 2013 14:07:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Jul 2013 14:07:47 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id D6DA723888E2; Wed, 3 Jul 2013 14:07:25 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1499412 - in /jackrabbit/branches/2.4: ./ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java Date: Wed, 03 Jul 2013 14:07:25 -0000 To: commits@jackrabbit.apache.org From: mreutegg@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20130703140725.D6DA723888E2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: mreutegg Date: Wed Jul 3 14:07:25 2013 New Revision: 1499412 URL: http://svn.apache.org/r1499412 Log: JCR-3617: Inconsistent CachingHierarchyManager under concurrent access - Merge fix into 2.4 branch Added: jackrabbit/branches/2.4/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java - copied, changed from r1498840, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java Modified: jackrabbit/branches/2.4/ (props changed) jackrabbit/branches/2.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java Propchange: jackrabbit/branches/2.4/ ------------------------------------------------------------------------------ Merged /jackrabbit/trunk:r1498840,1498850,1499285 Modified: jackrabbit/branches/2.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java?rev=1499412&r1=1499411&r2=1499412&view=diff ============================================================================== --- jackrabbit/branches/2.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java (original) +++ jackrabbit/branches/2.4/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/CachingHierarchyManager.java Wed Jul 3 14:07:25 2013 @@ -164,8 +164,12 @@ public class CachingHierarchyManager ext String msg = "failed to retrieve state of intermediary node for entry: " + entry.getId() + ", path: " + path.getString(); logItemStateException(msg, e); - throw new RepositoryException(msg, e); + log.debug(msg); + // probably stale cache entry -> evict + evictAll(entry.getId(), true); } + // JCR-3617: fall back to super class in case of ItemStateException + return super.resolvePath(path, typesAllowed); } /** @@ -562,7 +566,7 @@ public class CachingHierarchyManager ext PathMap.Element element = pathCache.put(path); if (element.get() != null) { if (!id.equals(((LRUEntry) element.get()).getId())) { - log.warn("overwriting PathMap.Element"); + log.debug("overwriting PathMap.Element"); } } LRUEntry entry = (LRUEntry) idCache.get(id); Copied: jackrabbit/branches/2.4/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java (from r1498840, jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java) URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.4/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java?p2=jackrabbit/branches/2.4/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java&p1=jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java&r1=1498840&r2=1499412&rev=1499412&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java (original) +++ jackrabbit/branches/2.4/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/CachingHierarchyManagerConsistencyTest.java Wed Jul 3 14:07:25 2013 @@ -47,10 +47,6 @@ public class CachingHierarchyManagerCons private static final String TEST_PATH = "/my/test/path"; public void testObservation() throws Exception { - if (true) { - // currently disabled - return; - } final List exceptions = new ArrayList(); Thread writer = new Thread(new Runnable() { public void run() {