You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sa...@apache.org on 2016/06/03 10:02:27 UTC
[03/10] cassandra git commit: Persist local metadata in
SystemKeyspace earlier in initialization sequence
Persist local metadata in SystemKeyspace earlier in initialization sequence
Patch by Joel Knighton; reviewed by Sam Tunnicliffe for CASSANDRA-11742
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/360541f1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/360541f1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/360541f1
Branch: refs/heads/cassandra-3.7
Commit: 360541f16a158f560d7cce1fcc264e246a80d10f
Parents: bb88b8c
Author: Joel Knighton <jo...@datastax.com>
Authored: Tue May 24 12:07:41 2016 -0500
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Fri Jun 3 10:29:52 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/db/SystemKeyspace.java | 3 +--
src/java/org/apache/cassandra/service/CassandraDaemon.java | 4 ++++
3 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/360541f1/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9752d16..ce48994 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.2.7
+ * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
* Run CommitLog tests with different compression settings (CASSANDRA-9039)
* cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
* Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/360541f1/src/java/org/apache/cassandra/db/SystemKeyspace.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/SystemKeyspace.java b/src/java/org/apache/cassandra/db/SystemKeyspace.java
index 1ce599d..74a3c7b 100644
--- a/src/java/org/apache/cassandra/db/SystemKeyspace.java
+++ b/src/java/org/apache/cassandra/db/SystemKeyspace.java
@@ -294,11 +294,10 @@ public final class SystemKeyspace
public static void finishStartup()
{
- persistLocalMetadata();
LegacySchemaTables.saveSystemKeyspaceSchema();
}
- private static void persistLocalMetadata()
+ public static void persistLocalMetadata()
{
String req = "INSERT INTO system.%s (" +
"key," +
http://git-wip-us.apache.org/repos/asf/cassandra/blob/360541f1/src/java/org/apache/cassandra/service/CassandraDaemon.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java
index 1e9378b..6129928 100644
--- a/src/java/org/apache/cassandra/service/CassandraDaemon.java
+++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java
@@ -177,6 +177,10 @@ public class CassandraDaemon
exitOrFail(3, e.getMessage(), e.getCause());
}
+ // We need to persist this as soon as possible after startup checks.
+ // This should be the first write to SystemKeyspace (CASSANDRA-11742)
+ SystemKeyspace.persistLocalMetadata();
+
maybeInitJmx();
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler()