[ https://issues.apache.org/jira/browse/CASSANDRA-13272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16028423#comment-16028423 ]
Tim Lamballais edited comment on CASSANDRA-13272 at 5/29/17 3:07 PM: --------------------------------------------------------------------- {noformat} diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 9bc046f..d7c1aa5 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -1287,8 +1287,9 @@ public class StorageService extends NotificationBroadcasterSupport implements IE @Override public void onFailure(Throwable e) { - String message = "Error during bootstrap: " + e.getCause().getMessage(); - logger.error(message, e.getCause()); + Throwable cause = Throwables.getRootCause(e); + String message = "Error during bootstrap: " + cause.getMessage(); + logger.error(message, cause); progressSupport.progress("bootstrap", new ProgressEvent(ProgressEventType.ERROR, 1, 1, message)); progressSupport.progress("bootstrap", new ProgressEvent(ProgressEventType.COMPLETE, 1, 1, "Resume bootstrap complete")); } diff --git a/src/java/org/apache/cassandra/utils/Throwables.java b/src/java/org/apache/cassandra/utils/Throwables.java index 5ad9686..30fc9f4 100644 --- a/src/java/org/apache/cassandra/utils/Throwables.java +++ b/src/java/org/apache/cassandra/utils/Throwables.java @@ -30,6 +30,18 @@ import org.apache.cassandra.io.FSWriteError; public final class Throwables { + public static Throwable getRootCause(Throwable t) + { + Throwable cause = t.getCause(); + if (cause == null) { + return t; + } + while (cause.getCause() != null) { + cause = cause.getCause(); + } + return cause; + } + public enum FileOpType { READ, WRITE } public interface DiscreteAction<E extends Exception> {noformat} was (Author: wimtie): {noformat} diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 9bc046f..3bd2a0c 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -1287,8 +1287,9 @@ public class StorageService extends NotificationBroadcasterSupport implements IE @Override public void onFailure(Throwable e) { - String message = "Error during bootstrap: " + e.getCause().getMessage(); - logger.error(message, e.getCause()); + Throwable cause = Throwables.getCause(e); + String message = "Error during bootstrap: " + cause.getMessage(); + logger.error(message, cause); progressSupport.progress("bootstrap", new ProgressEvent(ProgressEventType.ERROR, 1, 1, message)); progressSupport.progress("bootstrap", new ProgressEvent(ProgressEventType.COMPLETE, 1, 1, "Resume bootstrap complete")); } diff --git a/src/java/org/apache/cassandra/utils/Throwables.java b/src/java/org/apache/cassandra/utils/Throwables.java index 5ad9686..0936fd2 100644 --- a/src/java/org/apache/cassandra/utils/Throwables.java +++ b/src/java/org/apache/cassandra/utils/Throwables.java @@ -30,6 +30,12 @@ import org.apache.cassandra.io.FSWriteError; public final class Throwables { + public static Throwable getCause(Throwable t) + { + Throwable cause = t.getCause(); + return cause != null ? cause : t; + } + public enum FileOpType { READ, WRITE } public interface DiscreteAction<E extends Exception> {noformat} > "nodetool bootstrap resume" does not exit > ----------------------------------------- > > Key: CASSANDRA-13272 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13272 > Project: Cassandra > Issue Type: Bug > Components: Lifecycle, Streaming and Messaging > Reporter: Tom van der Woerdt > Labels: lhf > > I have a script that calls "nodetool bootstrap resume" after a failed join > (in my environment some streams sometimes fail due to mis-tuning of stream > bandwidth settings). However, if the streams fail again, nodetool won't exit. > Last lines before it just hangs forever : > {noformat} > [2017-02-26 07:02:42,287] received file > /var/lib/cassandra/data/keyspace/table-63d5d42009fa11e5879ebd9463bffdac/mc-12670-big-Data.db > (progress: 1112%) > [2017-02-26 07:02:42,287] received file > /var/lib/cassandra/data/keyspace/table-63d5d42009fa11e5879ebd9463bffdac/mc-12670-big-Data.db > (progress: 1112%) > [2017-02-26 07:02:59,843] received file > /var/lib/cassandra/data/keyspace/table-63d5d42009fa11e5879ebd9463bffdac/mc-12671-big-Data.db > (progress: 1112%) > [2017-02-26 09:25:51,000] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 09:33:45,017] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 09:39:27,216] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 09:53:33,084] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 09:55:07,115] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 10:06:49,557] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 10:40:55,880] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 11:09:21,025] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 12:44:35,755] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 12:49:18,867] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 13:23:50,611] session with /10.x.y.z complete (progress: 1112%) > [2017-02-26 13:23:50,612] Stream failed > {noformat} > At that point ("Stream failed") I would expect nodetool to exit with a > non-zero exit code. Instead, it just wants me to ^C it. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org