* [PATCH 3/3] compact: Provide user with more error feedback
2013-10-15 1:13 [PATCH] Compact tests and error handling Ben Gamari
@ 2013-10-15 1:13 ` Ben Gamari
2013-10-20 18:13 ` Tomi Ollila
0 siblings, 1 reply; 7+ messages in thread
From: Ben Gamari @ 2013-10-15 1:13 UTC (permalink / raw)
To: notmuch
Provide instructions on what to do when we couldn't move the compacted
database into place.
Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
---
lib/database.cc | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/lib/database.cc b/lib/database.cc
index 57c2292..6f9fed1 100644
--- a/lib/database.cc
+++ b/lib/database.cc
@@ -938,7 +938,23 @@ notmuch_database_compact (const char* path,
}
if (rename(compact_xapian_path, xapian_path)) {
- fprintf (stderr, "Error moving compacted database\n");
+ fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno));
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Encountered error %s while moving the compacted database,\n",
+ strerror(errno));
+ fprintf (stderr, "\n");
+ fprintf (stderr, " %s\n", compact_xapian_path);
+ fprintf (stderr, "\n");
+ fprintf (stderr, "to\n");
+ fprintf (stderr, "\n");
+ fprintf (stderr, " %s\n", xapian_path);
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Please identify the reason for this and move the compacted database into place manually.\n");
+ if (backup_path != NULL) {
+ fprintf (stderr, "Otherwise, you can revert to the backup database located at,\n");
+ fprintf (stderr, "\n");
+ fprintf (stderr, " %s\n", backup_path);
+ }
ret = NOTMUCH_STATUS_FILE_ERROR;
goto DONE;
}
--
1.8.1.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] compact: Provide user with more error feedback
2013-10-15 1:13 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari
@ 2013-10-20 18:13 ` Tomi Ollila
0 siblings, 0 replies; 7+ messages in thread
From: Tomi Ollila @ 2013-10-20 18:13 UTC (permalink / raw)
To: Ben Gamari, notmuch
On Tue, Oct 15 2013, Ben Gamari <bgamari.foss@gmail.com> wrote:
> Provide instructions on what to do when we couldn't move the compacted
> database into place.
>
> Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
> ---
> lib/database.cc | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/lib/database.cc b/lib/database.cc
> index 57c2292..6f9fed1 100644
> --- a/lib/database.cc
> +++ b/lib/database.cc
> @@ -938,7 +938,23 @@ notmuch_database_compact (const char* path,
> }
>
> if (rename(compact_xapian_path, xapian_path)) {
> - fprintf (stderr, "Error moving compacted database\n");
> + fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno));
> + fprintf (stderr, "\n");
> + fprintf (stderr, "Encountered error %s while moving the compacted database,\n",
> + strerror(errno));
At this point 'errno' may have changed, so the above error string might not
be the same. Maybe removing the '%s ' part altogether as inserting the part
looks a bit strange...
> + fprintf (stderr, "\n");
> + fprintf (stderr, " %s\n", compact_xapian_path);
> + fprintf (stderr, "\n");
> + fprintf (stderr, "to\n");
> + fprintf (stderr, "\n");
> + fprintf (stderr, " %s\n", xapian_path);
> + fprintf (stderr, "\n");
> + fprintf (stderr, "Please identify the reason for this and move the compacted database into place manually.\n");
> + if (backup_path != NULL) {
> + fprintf (stderr, "Otherwise, you can revert to the backup database located at,\n");
the commas (,) here and a few lines above looks a bit strange to me.
> + fprintf (stderr, "\n");
> + fprintf (stderr, " %s\n", backup_path);
Maybe saying something how to do this revert would be enlightening to the
user... (i.e. mentioning that backup_path needs to be moved as xapian_path).
> + }
> ret = NOTMUCH_STATUS_FILE_ERROR;
> goto DONE;
> }
> --
Tomi
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] test: Add compact test
@ 2013-10-27 20:30 Ben Gamari
2013-10-27 20:30 ` [PATCH 2/3] compact: Give user more feedback on failure renaming Ben Gamari
2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari
0 siblings, 2 replies; 7+ messages in thread
From: Ben Gamari @ 2013-10-27 20:30 UTC (permalink / raw)
To: notmuch
Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
---
test/compact | 35 +++++++++++++++++++++++++++++++++++
test/notmuch-test | 1 +
2 files changed, 36 insertions(+)
create mode 100755 test/compact
diff --git a/test/compact b/test/compact
new file mode 100755
index 0000000..54e85ab
--- /dev/null
+++ b/test/compact
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+test_description='"notmuch compact"'
+. ./test-lib.sh
+
+add_message '[subject]=One'
+add_message '[subject]=Two'
+add_message '[subject]=Three'
+
+notmuch tag +tag1 \*
+notmuch tag +tag2 subject:Two
+notmuch tag -tag1 +tag3 subject:Three
+
+test_begin_subtest "Compacting"
+notmuch compact
+test_expect_success "compact" "notmuch compact"
+
+notmuch search \*
+output=$(notmuch search \* | notmuch_search_sanitize)
+test_expect_equal "$output" "\
+thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread)
+thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread)
+thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)"
+
+test_begin_subtest "Restoring backup"
+rm -Rf ${TEST_TMPDIR}/mail/xapian
+mv ${TEST_TMPDIR}/mail/xapian.old ${TEST_TMPDIR}/mail/xapian
+
+notmuch search \*
+output=$(notmuch search \* | notmuch_search_sanitize)
+test_expect_equal "$output" "\
+thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; One (inbox tag1 unread)
+thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Two (inbox tag1 tag2 unread)
+thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Three (inbox tag3 unread)"
+
+test_done
diff --git a/test/notmuch-test b/test/notmuch-test
index aa28bb0..ec94baf 100755
--- a/test/notmuch-test
+++ b/test/notmuch-test
@@ -19,6 +19,7 @@ cd $(dirname "$0")
TESTS="
basic
help-test
+ compact
config
setup
new
--
1.8.3.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] compact: Give user more feedback on failure renaming
2013-10-27 20:30 [PATCH 1/3] test: Add compact test Ben Gamari
@ 2013-10-27 20:30 ` Ben Gamari
2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari
1 sibling, 0 replies; 7+ messages in thread
From: Ben Gamari @ 2013-10-27 20:30 UTC (permalink / raw)
To: notmuch
Provide the user with instructions after we fail to move the old
un-compacted database out of the way.
Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
---
lib/database.cc | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/database.cc b/lib/database.cc
index 06f1c0a..57c2292 100644
--- a/lib/database.cc
+++ b/lib/database.cc
@@ -922,7 +922,14 @@ notmuch_database_compact (const char* path,
if (old_xapian_path != NULL) {
if (rename(xapian_path, old_xapian_path)) {
- fprintf (stderr, "Error moving old database out of the way\n");
+ fprintf (stderr, "Error moving old database out of the way: %s\n",
+ strerror(errno));
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Old database: %s\n", xapian_path);
+ fprintf (stderr, "Compacted database: %s\n", compact_xapian_path);
+ fprintf (stderr, "\n");
+ fprintf (stderr, "At this point it's probably best to remove the compacted database,\n");
+ fprintf (stderr, "find the cause of this error, and try compacting again.\n");
ret = NOTMUCH_STATUS_FILE_ERROR;
goto DONE;
}
--
1.8.3.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] compact: Provide user with more error feedback
2013-10-27 20:30 [PATCH 1/3] test: Add compact test Ben Gamari
2013-10-27 20:30 ` [PATCH 2/3] compact: Give user more feedback on failure renaming Ben Gamari
@ 2013-10-27 20:30 ` Ben Gamari
2013-10-27 21:48 ` Tomi Ollila
1 sibling, 1 reply; 7+ messages in thread
From: Ben Gamari @ 2013-10-27 20:30 UTC (permalink / raw)
To: notmuch
Provide instructions on what to do when we couldn't move the compacted
database into place.
Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
---
lib/database.cc | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/lib/database.cc b/lib/database.cc
index 57c2292..6f9fed1 100644
--- a/lib/database.cc
+++ b/lib/database.cc
@@ -938,7 +938,23 @@ notmuch_database_compact (const char* path,
}
if (rename(compact_xapian_path, xapian_path)) {
- fprintf (stderr, "Error moving compacted database\n");
+ fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno));
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Encountered error %s while moving the compacted database,\n",
+ strerror(errno));
+ fprintf (stderr, "\n");
+ fprintf (stderr, " %s\n", compact_xapian_path);
+ fprintf (stderr, "\n");
+ fprintf (stderr, "to\n");
+ fprintf (stderr, "\n");
+ fprintf (stderr, " %s\n", xapian_path);
+ fprintf (stderr, "\n");
+ fprintf (stderr, "Please identify the reason for this and move the compacted database into place manually.\n");
+ if (backup_path != NULL) {
+ fprintf (stderr, "Otherwise, you can revert to the backup database located at,\n");
+ fprintf (stderr, "\n");
+ fprintf (stderr, " %s\n", backup_path);
+ }
ret = NOTMUCH_STATUS_FILE_ERROR;
goto DONE;
}
--
1.8.3.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] compact: Provide user with more error feedback
2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari
@ 2013-10-27 21:48 ` Tomi Ollila
2013-10-28 22:12 ` Ben Gamari
0 siblings, 1 reply; 7+ messages in thread
From: Tomi Ollila @ 2013-10-27 21:48 UTC (permalink / raw)
To: Ben Gamari, notmuch
On Sun, Oct 27 2013, Ben Gamari <bgamari.foss@gmail.com> wrote:
> Provide instructions on what to do when we couldn't move the compacted
> database into place.
>
> Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
> ---
> lib/database.cc | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/lib/database.cc b/lib/database.cc
> index 57c2292..6f9fed1 100644
> --- a/lib/database.cc
> +++ b/lib/database.cc
> @@ -938,7 +938,23 @@ notmuch_database_compact (const char* path,
> }
>
> if (rename(compact_xapian_path, xapian_path)) {
> - fprintf (stderr, "Error moving compacted database\n");
> + fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno));
> + fprintf (stderr, "\n");
> + fprintf (stderr, "Encountered error %s while moving the compacted database,\n",
> + strerror(errno));
You probably missed my comments in id:m2d2mz7qv7.fsf@guru.guru-group.fi ?
Tomi
> + fprintf (stderr, "\n");
> + fprintf (stderr, " %s\n", compact_xapian_path);
> + fprintf (stderr, "\n");
> + fprintf (stderr, "to\n");
> + fprintf (stderr, "\n");
> + fprintf (stderr, " %s\n", xapian_path);
> + fprintf (stderr, "\n");
> + fprintf (stderr, "Please identify the reason for this and move the compacted database into place manually.\n");
> + if (backup_path != NULL) {
> + fprintf (stderr, "Otherwise, you can revert to the backup database located at,\n");
> + fprintf (stderr, "\n");
> + fprintf (stderr, " %s\n", backup_path);
> + }
> ret = NOTMUCH_STATUS_FILE_ERROR;
> goto DONE;
> }
> --
> 1.8.3.2
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 3/3] compact: Provide user with more error feedback
2013-10-27 21:48 ` Tomi Ollila
@ 2013-10-28 22:12 ` Ben Gamari
0 siblings, 0 replies; 7+ messages in thread
From: Ben Gamari @ 2013-10-28 22:12 UTC (permalink / raw)
To: Tomi Ollila, notmuch
[-- Attachment #1: Type: text/plain, Size: 1107 bytes --]
Tomi Ollila <tomi.ollila@iki.fi> writes:
> On Sun, Oct 27 2013, Ben Gamari <bgamari.foss@gmail.com> wrote:
>
>> Provide instructions on what to do when we couldn't move the compacted
>> database into place.
>>
>> Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
>> ---
>> lib/database.cc | 18 +++++++++++++++++-
>> 1 file changed, 17 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/database.cc b/lib/database.cc
>> index 57c2292..6f9fed1 100644
>> --- a/lib/database.cc
>> +++ b/lib/database.cc
>> @@ -938,7 +938,23 @@ notmuch_database_compact (const char* path,
>> }
>>
>> if (rename(compact_xapian_path, xapian_path)) {
>> - fprintf (stderr, "Error moving compacted database\n");
>> + fprintf (stderr, "Error moving compacted database into place: %s\n", strerror(errno));
>> + fprintf (stderr, "\n");
>> + fprintf (stderr, "Encountered error %s while moving the compacted database,\n",
>> + strerror(errno));
>
> You probably missed my comments in id:m2d2mz7qv7.fsf@guru.guru-group.fi ?
>
Indeed I did. My apologies. New set coming.
Cheers,
- Ben
[-- Attachment #2: Type: application/pgp-signature, Size: 489 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-10-28 22:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-27 20:30 [PATCH 1/3] test: Add compact test Ben Gamari
2013-10-27 20:30 ` [PATCH 2/3] compact: Give user more feedback on failure renaming Ben Gamari
2013-10-27 20:30 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari
2013-10-27 21:48 ` Tomi Ollila
2013-10-28 22:12 ` Ben Gamari
-- strict thread matches above, loose matches on Subject: below --
2013-10-15 1:13 [PATCH] Compact tests and error handling Ben Gamari
2013-10-15 1:13 ` [PATCH 3/3] compact: Provide user with more error feedback Ben Gamari
2013-10-20 18:13 ` Tomi Ollila
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).