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:07 UTC
[cassandra] branch cassandra-3.0 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.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/cassandra-3.0 by this push:
new 1843032 Catch exception on bootstrap resume and init native transport
1843032 is described below
commit 184303220b2995f411f51f675131007404372b3d
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 | 30 ++++++++++++++--------
3 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/CHANGES.txt b/CHANGES.txt
index d506dc8..d1b1416 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.21
+ * 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 4a6e947..85a002f 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -421,7 +421,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 f9efdb8..d287788 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1317,20 +1317,30 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
@Override
public void onSuccess(StreamState streamState)
{
- bootstrapFinished();
- 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(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(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