Fix "nodetool repair" error

The existing scylla-jmx code had reversed logic for the success of the repair:
it reported to "nodetool repair" a failure when the repair was successful :-)

Note that "nodetool repair" waits until a FINISHED notification, and then reports
a failure if it previously got any SESSION_FAILED notification; So if repair was
successful, all we need to do is to avoid sending a "SESSION_FAILED" message.
But we don't need to send any additional "SESSION_SUCCESS" message to signal
success. That message type is only used to report progress to the user (a
"session" is part of the repair work, so seeing sessions completing shows
progress), but because Scylla doesn't support this progress report yet, we
can't send these notifications yet, and there's no point in sending one such
message at the end - it's only confusing (especially when the text is the same
as that of the FINISHED message).

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
This commit is contained in:
Nadav Har'El 2015-10-14 15:05:57 +03:00 committed by Pekka Enberg
parent d8b7149292
commit f05c6709dd

View File

@ -542,8 +542,6 @@ public class StorageService extends NotificationBroadcasterSupport
if (!status.equals("RUNNING")) {
cancel();
if (!status.equals("SUCCESSFUL")) {
sendNotification("repair", message + "finished", new int[]{cmd, RepairStatus.SESSION_SUCCESS.ordinal()});
} else {
sendNotification("repair", message + "failed", new int[]{cmd, RepairStatus.SESSION_FAILED.ordinal()});
}
sendNotification("repair", message + "finished", new int[]{cmd, RepairStatus.FINISHED.ordinal()});