From: Mark Walters Date: Wed, 9 Oct 2013 07:43:20 +0000 (+0100) Subject: Re: [PATCH 00/11] Fix search tagging races X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=e845d3e63eee5f5b4672bf4eb15487134a4b355b;p=notmuch-archives.git Re: [PATCH 00/11] Fix search tagging races --- diff --git a/5b/eaa0eac2f71a66ca23e6b7b0ebe4711062b34a b/5b/eaa0eac2f71a66ca23e6b7b0ebe4711062b34a new file mode 100644 index 000000000..85d33f2e2 --- /dev/null +++ b/5b/eaa0eac2f71a66ca23e6b7b0ebe4711062b34a @@ -0,0 +1,100 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 3A715431FAF + for ; Wed, 9 Oct 2013 00:43:30 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -1.098 +X-Spam-Level: +X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5 + tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001, + NML_ADSP_CUSTOM_MED=1.2, RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id vsndx+cgDxvr for ; + Wed, 9 Oct 2013 00:43:24 -0700 (PDT) +Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6]) + (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id C9F98431FAE + for ; Wed, 9 Oct 2013 00:43:23 -0700 (PDT) +Received: from smtp.qmul.ac.uk ([138.37.6.40]) + by mail2.qmul.ac.uk with esmtp (Exim 4.71) + (envelope-from ) + id 1VToQT-00027h-Ua; Wed, 09 Oct 2013 08:43:22 +0100 +Received: from 93-97-24-31.zone5.bethere.co.uk ([93.97.24.31] helo=localhost) + by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.71) + (envelope-from ) + id 1VToQT-0001me-KZ; Wed, 09 Oct 2013 08:43:21 +0100 +From: Mark Walters +To: Austin Clements , notmuch@notmuchmail.org +Subject: Re: [PATCH 00/11] Fix search tagging races +In-Reply-To: <1381185201-25197-1-git-send-email-amdragon@mit.edu> +References: <1381185201-25197-1-git-send-email-amdragon@mit.edu> +User-Agent: Notmuch/0.15.2+334~gafd5c6a (http://notmuchmail.org) Emacs/23.4.1 + (x86_64-pc-linux-gnu) +Date: Wed, 09 Oct 2013 08:43:20 +0100 +Message-ID: <87a9ii28kn.fsf@qmul.ac.uk> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +X-Sender-Host-Address: 93.97.24.31 +X-QM-SPAM-Info: Sender has good ham record. :) +X-QM-Body-MD5: f365508daa7cdcdbed070a78cfb931a2 (of first 20000 bytes) +X-SpamAssassin-Score: 0.0 +X-SpamAssassin-SpamBar: / +X-SpamAssassin-Report: The QM spam filters have analysed this message to + determine if it is + spam. We require at least 5.0 points to mark a message as spam. + This message scored 0.0 points. Summary of the scoring: + * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail + provider * (markwalters1009[at]gmail.com) + * 0.0 AWL AWL: From: address is in the auto white-list +X-QM-Scan-Virus: ClamAV says the message is clean +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +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: Wed, 09 Oct 2013 07:43:30 -0000 + + +On Mon, 07 Oct 2013, Austin Clements wrote: +> I was hacking on undo support for notmuch-emacs and sort of +> accidentally wrote this instead. This series fixes a set of +> well-known races where tagging from search-mode unexpectedly affects +> messages that arrived after the search was performed (and hence the +> user doesn't know they're tagging them). We've attacked this a few +> times before, but have always run up against something that was +> missing. It turns out the pieces are finally all in place. +> +> The first five patches just clean various things up in preparation. +> Patches 6 and 7 add support for tagging large queries, which would +> otherwise become a problem when later patches start using explicit +> message ID-based queries for tagging. The remaining four patches +> actually fix the search tagging races using explicit message ID-based +> queries. +> +> It's a fairly long series, but none of the patches are very big. + +One more thought on this: what should "*+tag" do if the search buffer is +still filling? + +As it stands this is a substantial change: previously you could +look at the first few threads to make sure the query was doing what you +expected and then tag all the matching threads. Now you would have to +wait for the buffer to fill and there is not even a clear indication to +the user of when that happens (except scroll to the bottom and see if it +says "End of search results.") + +Best wishes + +Mark