You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2020/06/16 17:41:08 UTC
[cassandra] branch cassandra-3.11 updated: Catch exception on
bootstrap resume and init native transport
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 <be...@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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org