unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Austin Clements <aclements@csail.mit.edu>
To: Tomi Ollila <tomi.ollila@iki.fi>, notmuch@notmuchmail.org
Subject: Re: [PATCH 00/11] Add ghost messages and fix thread linking
Date: Sat, 04 Oct 2014 16:15:13 -0400	[thread overview]
Message-ID: <87ppe7d226.fsf@csail.mit.edu> (raw)
In-Reply-To: <m2oatsz16v.fsf@guru.guru-group.fi>

On Sat, 04 Oct 2014, Tomi Ollila <tomi.ollila@iki.fi> wrote:
> On Fri, Oct 03 2014, Austin Clements <aclements@csail.mit.edu> wrote:
>
>> This series modifies our database representation of messages that have
>> been referenced by other messages, but for which we don't have the
>> message itself.  Currently, we store this information as Xapian
>> metadata, but this has several downsides for performance and
>> complexity and results in hard-to-fix thread linking bugs.  This patch
>> series implements "ghost messages", which replace this Xapian metadata
>> with Xapian documents that look and act very much like regular message
>> documents, but simply have no content.  This simplifies and speeds up
>> our thread linking algorithm and fixes the currently broken thread
>> linking test.
>>
>> Ghost messages also open up interesting future possibilities, such as
>> "pre-seeding" tags for messages that are not yet indexed.  This could
>> be used to make notmuch insert simpler and more robust, as part of tag
>> synchronization, and to improve nmbug's behavior when tags arrive
>> before messages.
>
> The code looks OK to me -- there are IMO some strange things but those
> don't change the status quo -- I did look a little past the diffs into
> the code to understand something...
>
> I am now having these patches applied to my 'home' notmuch and haven't yet
> seen anything strange there. In this setup I have 27 emails missing that
> nmbug expects there to be -- let's see if I can get ghost messages there.

In its current form, it won't help with these missing messages from
nmbug.  In the future, nmbug could use ghost messages to record the tags
for those messages anyway and then it becomes an interface question of
whether nmbug should report such missing messages.

> ... and tests pass, ran while writing the above part...
>
> I'll put these in use next week on one of my 'work' notmuch. There I have
> seen a problem that while I am on one thread, 
> `notmuch-poll-and-refresh-buffer' picks new mail but suddenly this thread
> now has changed it's thread id :O -- making the search buffer go blank.
> I'll see whether it still happens with these (may be totally unrelated)
> and perhaps investigate further...

I have this same problem with some people I communicate with.  I haven't
looked in to it, but I assume their messages reference only the
immediate parent, so if it's a reply to another unindexed message then
the thread ID may change depending on indexing order and other arbitrary
factors.  I may be wrong, but if this is the case, I don't think ghost
messages will change this behavior.  Solving this may require more
intelligently picking the "winning" thread ID when merging threads;
e.g., pick the thread ID with the most messages, rather than picking
arbitrarily.

  reply	other threads:[~2014-10-04 20:15 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-03 14:19 [PATCH 00/11] Add ghost messages and fix thread linking Austin Clements
2014-10-03 14:19 ` [PATCH 01/11] lib: Move message ID compression to _notmuch_message_create_for_message_id Austin Clements
2014-10-03 14:19 ` [PATCH 02/11] lib: Refactor _notmuch_database_link_message Austin Clements
2014-10-05  7:45   ` David Bremner
2014-10-05 23:20     ` Austin Clements
2014-10-06  6:04       ` David Bremner
2014-10-06 13:25         ` Austin Clements
2014-10-03 14:19 ` [PATCH 03/11] lib: Handle empty date value Austin Clements
2014-10-03 14:19 ` [PATCH 04/11] lib: Add a ghost messages database feature Austin Clements
2014-10-03 14:19 ` [PATCH 05/11] lib: Update database schema doc for ghost messages Austin Clements
2014-10-03 14:19 ` [PATCH 06/11] lib: Internal support for querying and creating " Austin Clements
2014-10-05  8:30   ` David Bremner
2014-10-05 23:24     ` Austin Clements
2014-10-06  6:19       ` David Bremner
2014-10-06 16:03         ` Austin Clements
2014-10-03 14:19 ` [PATCH 07/11] lib: Implement ghost-based thread linking Austin Clements
2014-10-03 14:19 ` [PATCH 08/11] lib: Implement upgrade to ghost messages feature Austin Clements
2014-10-05  8:56   ` David Bremner
2014-10-05 23:29     ` Austin Clements
2014-10-06  6:03       ` David Bremner
2014-10-03 14:19 ` [PATCH 09/11] lib: Enable " Austin Clements
2014-10-03 14:19 ` [PATCH 10/11] test: Test upgrade to " Austin Clements
2014-10-03 14:19 ` [PATCH 11/11] lib: Remove unnecessary thread linking steps when using ghost messages Austin Clements
2014-10-04  8:30 ` [PATCH 00/11] Add ghost messages and fix thread linking Tomi Ollila
2014-10-04 20:15   ` Austin Clements [this message]
2014-10-05  9:07 ` David Bremner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ppe7d226.fsf@csail.mit.edu \
    --to=aclements@csail.mit.edu \
    --cc=notmuch@notmuchmail.org \
    --cc=tomi.ollila@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).