Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C269F200D53 for ; Tue, 5 Dec 2017 18:11:32 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id BF75E160C1C; Tue, 5 Dec 2017 17:11:32 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id DE70F160BF1 for ; Tue, 5 Dec 2017 18:11:31 +0100 (CET) Received: (qmail 94200 invoked by uid 500); 5 Dec 2017 17:11:31 -0000 Mailing-List: contact commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list commits@lucene.apache.org Received: (qmail 94182 invoked by uid 99); 5 Dec 2017 17:11:31 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 05 Dec 2017 17:11:30 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 31449F60E4; Tue, 5 Dec 2017 17:11:29 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: erick@apache.org To: commits@lucene.apache.org Date: Tue, 05 Dec 2017 17:11:29 -0000 Message-Id: <955449a95a9f4e73b7c8f63ca456fb4b@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/2] lucene-solr:master: LUCENE-8048: Filesystems do not guarantee order of directories updates archived-at: Tue, 05 Dec 2017 17:11:33 -0000 Repository: lucene-solr Updated Branches: refs/heads/master f78cacf4a -> 0688be6c6 LUCENE-8048: Filesystems do not guarantee order of directories updates Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/4a590072 Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/4a590072 Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/4a590072 Branch: refs/heads/master Commit: 4a5900728db6a84b4aea42545567a393989f25cf Parents: ccedbdd Author: Erick Erickson Authored: Tue Dec 5 09:05:22 2017 -0800 Committer: Erick Erickson Committed: Tue Dec 5 09:05:22 2017 -0800 ---------------------------------------------------------------------- lucene/CHANGES.txt | 3 +++ .../org/apache/lucene/index/SegmentInfos.java | 1 + .../lucene/index/TestIndexWriterExceptions.java | 28 +++++++++++++------- 3 files changed, 23 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4a590072/lucene/CHANGES.txt ---------------------------------------------------------------------- diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt index 1ef55cd..f79ad14 100644 --- a/lucene/CHANGES.txt +++ b/lucene/CHANGES.txt @@ -144,6 +144,9 @@ Optimizations * LUCENE-8058: Large instances of TermInSetQuery are no longer eligible for caching as they could break memory accounting of the query cache. (Adrien Grand) + +* LUCENE-8048: Filesystems do not guarantee order of directories updates + (Nikolay Martynov, Simon Willnauer, Erick Erickson) Tests http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4a590072/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java ---------------------------------------------------------------------- diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java index 008b6e3..ec88fef 100644 --- a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java +++ b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java @@ -747,6 +747,7 @@ public final class SegmentInfos implements Cloneable, Iterable { w.close(); }); - - assertTrue("failOnCommit=" + failure.failOnCommit + " failOnDeleteFile=" + failure.failOnDeleteFile, failure.failOnCommit && failure.failOnDeleteFile); + assertTrue("failOnCommit=" + failure.failOnCommit + " failOnDeleteFile=" + failure.failOnDeleteFile + + " failOnSyncMetadata=" + failure.failOnSyncMetadata + "", failure.failOnCommit && (failure.failOnDeleteFile || failure.failOnSyncMetadata)); w.rollback(); String files[] = dir.listAll(); assertTrue(files.length == fileCount || (files.length == fileCount+1 && Arrays.asList(files).contains(IndexWriter.WRITE_LOCK_NAME)));