From: David Bremner Date: Tue, 3 May 2016 19:01:44 +0000 (+2100) Subject: Re: [PATCH] Use the Xapian::DB_RETRY_LOCK flag when available X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=85674b5cf36a50261cef37fb7ffc4dd29ef6608d;p=notmuch-archives.git Re: [PATCH] Use the Xapian::DB_RETRY_LOCK flag when available --- diff --git a/28/f248918832d5c15ef2c820fe07529e92583faf b/28/f248918832d5c15ef2c820fe07529e92583faf new file mode 100644 index 000000000..bd9f32b20 --- /dev/null +++ b/28/f248918832d5c15ef2c820fe07529e92583faf @@ -0,0 +1,97 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by arlo.cworth.org (Postfix) with ESMTP id AE8766DE01F7 + for ; Tue, 3 May 2016 12:01:58 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at cworth.org +X-Spam-Flag: NO +X-Spam-Score: -0.013 +X-Spam-Level: +X-Spam-Status: No, score=-0.013 tagged_above=-999 required=5 + tests=[AWL=-0.002, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] + autolearn=disabled +Received: from arlo.cworth.org ([127.0.0.1]) + by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id AIz00ZAChx2m for ; + Tue, 3 May 2016 12:01:50 -0700 (PDT) +Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) + by arlo.cworth.org (Postfix) with ESMTPS id 25F146DE00DF + for ; Tue, 3 May 2016 12:01:50 -0700 (PDT) +Received: from remotemail by fethera.tethera.net with local (Exim 4.84) + (envelope-from ) + id 1axfZl-0004OQ-GZ; Tue, 03 May 2016 15:01:41 -0400 +Received: (nullmailer pid 17899 invoked by uid 1000); + Tue, 03 May 2016 19:01:44 -0000 +From: David Bremner +To: Istvan Marko , notmuch@notmuchmail.org +Subject: Re: [PATCH] Use the Xapian::DB_RETRY_LOCK flag when available +In-Reply-To: +References: +User-Agent: Notmuch/0.21+99~gd93d377 (http://notmuchmail.org) Emacs/24.5.1 + (x86_64-pc-linux-gnu) +Date: Tue, 03 May 2016 16:01:44 -0300 +Message-ID: <8760uv6k4n.fsf@zancas.localnet> +MIME-Version: 1.0 +Content-Type: text/plain +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.20 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Tue, 03 May 2016 19:01:58 -0000 + +Istvan Marko writes: + +> Xapian 1.3 has introduced the DB_RETRY_LOCK flag (Xapian bug +> 275). Detect it in configure and use it if available. With this flag +> commands that need the write lock will wait for their turn instead of +> aborting when it's not immediately available. +> --- +> configure | 25 ++++++++++++++++++++++++- +> lib/database.cc | 5 +++++ +> 2 files changed, 29 insertions(+), 1 deletion(-) +> +> diff --git a/configure b/configure +> index 6231d2b..0c1d5bc 100755 +> --- a/configure +> +++ b/configure +> @@ -371,6 +371,21 @@ if [ ${have_xapian} = "1" ]; then +> esac +> fi +> +> +# DB_RETRY_LOCK is only supported on Xapian > 1.3.2 +> +have_xapian_db_retry_lock=0 +> +if [ ${have_xapian} = "1" ]; then +> + printf "Checking for Xapian lock retry support... " +> + case "${xapian_version}" in +> + 0.*|1.[012].*|1.3.[0-2]) +> + printf "No (only available with Xapian > 1.3.2).\n" ;; +> + [1-9]*.[0-9]*.[0-9]*) +> + have_xapian_db_retry_lock=1 +> + printf "Yes.\n" ;; +> + *) +> + printf "Unknown version.\n" ;; +> + esac +> +fi + +First, thanks for writing the patch. I'd completely forgotten about this +feature, and it's something pretty important for many notmuch users. I +saw you got some good feedback from Jani. As a less urgent comment, what +about writing the test in the style of + + http://article.gmane.org/gmane.mail.notmuch.general/22329 + +I don't know if there's complete concensus on this, but I personally +much prefer testing features to versions when possible. + +d + +