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 5238FC761 for ; Mon, 9 Sep 2013 09:24:44 +0000 (UTC) Received: (qmail 85867 invoked by uid 500); 9 Sep 2013 09:24:43 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 85672 invoked by uid 500); 9 Sep 2013 09:24:43 -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 85572 invoked by uid 99); 9 Sep 2013 09:24:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 Sep 2013 09:24:42 +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; Mon, 09 Sep 2013 09:24:41 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 88C0E2388900; Mon, 9 Sep 2013 09:24:21 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1521013 - in /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core: persistence/bundle/ConsistencyCheckerImpl.java query/lucene/ConsistencyCheck.java Date: Mon, 09 Sep 2013 09:24:21 -0000 To: commits@jackrabbit.apache.org From: unico@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20130909092421.88C0E2388900@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: unico Date: Mon Sep 9 09:24:21 2013 New Revision: 1521013 URL: http://svn.apache.org/r1521013 Log: JCR-3665 when the last node of the last batch does not exist anymore it means we most probably did not read until the end of the table and need to start over Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/ConsistencyCheck.java Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java?rev=1521013&r1=1521012&r2=1521013&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ConsistencyCheckerImpl.java Mon Sep 9 09:24:21 2013 @@ -225,8 +225,8 @@ public class ConsistencyCheckerImpl { Map batch = pm.getAllNodeInfos(null, NODESATONCE); Map allInfos = batch; + NodeId lastId = null; while (!batch.isEmpty()) { - NodeId lastId = null; for (Map.Entry entry : batch.entrySet()) { lastId = entry.getKey(); @@ -243,8 +243,13 @@ public class ConsistencyCheckerImpl { allInfos.putAll(batch); } - for (Map.Entry entry : allInfos.entrySet()) { - checkBundleConsistency(entry.getKey(), entry.getValue(), allInfos); + if (pm.exists(lastId)) { + for (Map.Entry entry : allInfos.entrySet()) { + checkBundleConsistency(entry.getKey(), entry.getValue(), allInfos); + } + } else { + log.info("Failed to read all nodes, starting over"); + internalCheckConsistency(uuids, recursive); } } catch (ItemStateException e) { Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/ConsistencyCheck.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/ConsistencyCheck.java?rev=1521013&r1=1521012&r2=1521013&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/ConsistencyCheck.java (original) +++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/ConsistencyCheck.java Mon Sep 9 09:24:21 2013 @@ -242,8 +242,8 @@ public class ConsistencyCheck { int count = 0; Map nodeIds = new HashMap(); List batch = pm.getAllNodeIds(null, NODESATONCE); + NodeId lastId = null; while (!batch.isEmpty()) { - NodeId lastId = null; for (NodeId nodeId : batch) { lastId = nodeId; @@ -257,7 +257,12 @@ public class ConsistencyCheck { } batch = pm.getAllNodeIds(lastId, NODESATONCE); } - this.nodeIds = nodeIds; + if (pm.exists(lastId)) { + this.nodeIds = nodeIds; + } else { + log.info("Failed to read all nodes, starting over"); + loadNodes(); + } } catch (ItemStateException e) { log.error("Exception while loading items to check", e); } catch (RepositoryException e) {