This is an automated email from the ASF dual-hosted git repository. brandonwilliams pushed a commit to branch cassandra-3.11 in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/cassandra-3.11 by this push: new 4f50a67 Catch exception on bootstrap resume and init native transport 4f50a67 is described below commit 4f50a6712ada5c4298ec860836015ea15049cbda Author: Bereng <berenguerbl...@gmail.com> AuthorDate: Wed Jun 10 12:34:34 2020 +0200 Catch exception on bootstrap resume and init native transport Patch by Berenguer Blasi, reviewed by brandonwilliams for CASSANDRA-15863 --- CHANGES.txt | 1 + .../apache/cassandra/service/CassandraDaemon.java | 3 +- .../apache/cassandra/service/StorageService.java | 32 ++++++++++++++-------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 7f54146..0f730d4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * Fix CQL formatting of read command restrictions for slow query log (CASSANDRA-15503) * Allow sstableloader to use SSL on the native port (CASSANDRA-14904) Merged from 3.0: + * Catch exception on bootstrap resume and init native transport (CASSANDRA-15863) * Fix replica-side filtering returning stale data with CL > ONE (CASSANDRA-8272, CASSANDRA-8273) * Fix duplicated row on 2.x upgrades when multi-rows range tombstones interact with collection ones (CASSANDRA-15805) * Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667) diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index b80580a..1f93262 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -450,7 +450,8 @@ public class CassandraDaemon public void initializeNativeTransport() { // Native transport - nativeTransportService = new NativeTransportService(); + if (nativeTransportService == null) + nativeTransportService = new NativeTransportService(); } /* diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java index 3d31596..d3c30a0 100644 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@ -1592,22 +1592,30 @@ public class StorageService extends NotificationBroadcasterSupport implements IE @Override public void onSuccess(StreamState streamState) { - bootstrapFinished(); - // start participating in the ring. - // pretend we are in survey mode so we can use joinRing() here - if (isSurveyMode) + try { - logger.info("Startup complete, but write survey mode is active, not becoming an active ring member. Use JMX (StorageService->joinRing()) to finalize ring joining."); + bootstrapFinished(); + if (isSurveyMode) + { + logger.info("Startup complete, but write survey mode is active, not becoming an active ring member. Use JMX (StorageService->joinRing()) to finalize ring joining."); + } + else + { + isSurveyMode = false; + progressSupport.progress("bootstrap", ProgressEvent.createNotification("Joining ring...")); + finishJoiningRing(true, bootstrapTokens); + } + progressSupport.progress("bootstrap", new ProgressEvent(ProgressEventType.COMPLETE, 1, 1, "Resume bootstrap complete")); + if (!isNativeTransportRunning()) + daemon.initializeNativeTransport(); + daemon.start(); + logger.info("Resume complete"); } - else + catch(Exception e) { - isSurveyMode = false; - progressSupport.progress("bootstrap", ProgressEvent.createNotification("Joining ring...")); - finishJoiningRing(true, bootstrapTokens); + onFailure(e); + throw e; } - progressSupport.progress("bootstrap", new ProgressEvent(ProgressEventType.COMPLETE, 1, 1, "Resume bootstrap complete")); - daemon.start(); - logger.info("Resume complete"); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org