--- /dev/null
+Return-Path: <eric@deptj.eu>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 832566DE0FC5\r
+ for <notmuch@notmuchmail.org>; Wed, 17 Feb 2016 12:44:34 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0.094\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0.094 tagged_above=-999 required=5 tests=[AWL=0.004, \r
+ DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001,\r
+ RCVD_IN_MSPIKE_H3=-0.01, \r
+ RCVD_IN_MSPIKE_WL=-0.01, T_DKIM_INVALID=0.01] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id RujTulTrhrjg for <notmuch@notmuchmail.org>;\r
+ Wed, 17 Feb 2016 12:44:32 -0800 (PST)\r
+Received: from mx1.solardns.com (mx1.solardns.com [109.73.127.119])\r
+ by arlo.cworth.org (Postfix) with ESMTPS id 8344B6DE091E\r
+ for <notmuch@notmuchmail.org>; Wed, 17 Feb 2016 12:44:31 -0800 (PST)\r
+Received: from [213.129.84.218] (helo=luna.solardns.com)\r
+ by mx1.solardns.com with esmtps (TLSv1.2:DHE-RSA-AES256-SHA:256)\r
+ (Exim 4.85) (envelope-from <eric@deptj.eu>) id 1aW8xV-0001G3-2n\r
+ for notmuch@notmuchmail.org; Wed, 17 Feb 2016 20:44:27 +0000\r
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=deptj.eu;\r
+ s=default; h=Date:Message-ID:To:Subject:From;\r
+ bh=QUiNPGCK4Yu9l/jdSG4igFSXvmgDbfbTLjIRjE68FHA=; b=Wo9YHcdHx1/b7YwrhI9Ejx2BPZ\r
+ GXYWkE3l+RaCcIqzVtzmn8BhEYpdZDbMp07HYzRb6aWodwtbdKCaZFWq5YyRxFFyHiUNdV6yurBaA\r
+ Zb8auZ/PqIsBCx4mFK5zHSg/Oiq1d21PaC2K1yw+ogPTTaA3RNOw+Jt28F79WYMQL8GU=;\r
+Received: from [92.135.160.170] (port=44718 helo=bruno.deptj.eu)\r
+ by luna.solardns.com with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256)\r
+ (Exim 4.86) (envelope-from <eric@deptj.eu>) id 1aW8xU-0037bh-KA\r
+ for notmuch@notmuchmail.org; Wed, 17 Feb 2016 20:44:24 +0000\r
+Received: from eric by bruno.deptj.eu with local (Exim 4.84)\r
+ (envelope-from <eric@deptj.eu>) id 1aW8xT-0002qC-8R\r
+ for notmuch@notmuchmail.org; Wed, 17 Feb 2016 21:44:23 +0100\r
+From: Eric J <eric@deptj.eu>\r
+Subject: Lost updates to Notmuch database\r
+To: notmuch@notmuchmail.org\r
+Message-ID: <337393ce5e2484d64f837a44b2c4f2ea32f91295-NM@bruno.deptj.eu>\r
+Date: Wed, 17 Feb 2016 21:44:23 +0100 (CET)\r
+X-AuthUser: deptjeu\r
+X-Filter-ID:\r
+ s0sct1PQhAABKnZB5plbIZxxbsbMXbbOVqDrOlLQDPCKLoLP9dSDpksiPa3sfcfQiw3bi2TEXpBy\r
+ KOgMDJLxZ2gLr13hkJnqYlE8dI2PqoFC/lGsrXcsS0xY0J18f6o7xB66CWvXcfKDfXjTU++u6wnX\r
+ lL5Lm4Xkn3qRe+MKYG9KBamV5mBRFH60GvshNV8TZuM7jUXIESohoO51xWmU8U0XxLGz4gGrl7np\r
+ YUMMsx7Zx6js8RMGZ+eyCM03IideZE/8G6RrW+hPYRmHOym9VEp4OmAp9SwcFw57ijAOXur1H/aA\r
+ warQpYDOYx/6JtUOKIpz/KyJk6xidDbrtJGeIvwS+mRNB2u5eXMTyiRDCl4blv/7/GYDGL6pBAPx\r
+ 3RhxuHrpSpJU4PQlqFj9797wgsGhIeDBws4kvu4hgViYIJSOH7FelTFEA57OugCjQqJvq5XDlSi1\r
+ S/CAqp6x6giLUpAadaOpLL7vzAlHz9Vt0lJbH3q7FSJEAvmcpRDg+DcXMCx8qKfWo/2nfeswSb/v\r
+ XOidX4Ts4xdG+C13IyWeZaJClvAWyUAUCSYHhmge3quet8geXjZWRvaT/RbJ/nX/IFFm7SbdEzck\r
+ 901Ob2Iq9tC/Vh1lis0iI/S1HLwoHXf0\r
+X-Report-Abuse-To: spam@mx1.solardns.com\r
+X-Filter-Fingerprint:\r
+ IFrWXGses7OKB5S5G8/dJdIz5bb8V0ykx8BnFBnunHBA3cTUQ1R++keuE7RDJ8Kg3RbMLUalw1oC\r
+ mj99/u+Poh38tEMU4IgC4sNz49qn3HHnhRv/ZJ3kEy8bfiAr+Fb/UpndEJ0YoaLytXXo8BMTaVt0\r
+ ARHRi6XGuAluI1udprGClI6bm+u9ssQgM5AHe3Zacv4uJct5wtJvPpZ2dlBHCwDSxr3Vz+LJ/RhM\r
+ 2JZ0ECN5dnq47RWft7iCyM9+PbHelB4qP9S6mTzNwoPraFy6ieiDqMHb2a0eZvGOvr7RaxKWGCKO\r
+ us9nABr0Pk/4CplP\r
+X-Originating-IP: 213.129.84.218\r
+X-SpamExperts-Domain: out.solardns.com\r
+X-SpamExperts-Username: 213.129.84.218\r
+Authentication-Results: solardns.com;\r
+ auth=pass smtp.auth=213.129.84.218@out.solardns.com\r
+X-SpamExperts-Outgoing-Class: unsure\r
+X-SpamExperts-Outgoing-Evidence: Combined (0.56)\r
+X-Recommended-Action: accept\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.20\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <https://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <https://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 17 Feb 2016 20:44:34 -0000\r
+\r
+Using the API, I am adding single mail files, already in the maildir, to\r
+the Notmuch database and tagging them. It works, every time, as long as\r
+I run it one file at a time. \r
+\r
+However, if I do it twice, in different processes, at the same time, one\r
+file is added and tagged properly, the other is not (totally unfindable\r
+by notmuch search). Neither process reports any error, and they both log\r
+their actions normally. Actually a third simultaneous process also fails\r
+to leave any result in the database.\r
+\r
+This is in spite of using begin_atomic/end_atomic. I would not have been\r
+surprised to get Xapian lock errors, but the database_open returns\r
+success, as does the database_begin_atomic. \r
+\r
+The wrapper around the API for Tcl is very simple, and I can not see any\r
+way for that or Tcl itself to cause this sort of problem. Beyond this,\r
+I haven't thought of any way to decide if this could be a Notmuch problem\r
+or a Xapian problem.\r
+\r
+The API sequence is:\r
+\r
+ database_open\r
+ database_begin_atomic\r
+ database_add_message\r
+ (next 4 are a for loop)\r
+ message_get_tags\r
+ tags_valid\r
+ tags_move_to_next\r
+ tags_get\r
+ message_freeze\r
+ message_add_tag\r
+ message_thaw\r
+ message_maildir_flags_to_tags\r
+ message_get_filename\r
+ message_get_message_id\r
+ database_end_atomic\r
+ message_destroy\r
+ database_close\r
+ database_destroy\r
+\r
+I didn't realise till it was mostly written, but it is pretty much like\r
+add_new() in notmuch-new.c .\r
+\r
+Eric\r
+-- \r
+ms fnd in a lbry\r