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 2014/04/08 21:34:36 UTC
[01/10] git commit: Schedule schema pull in onChange.
Repository: cassandra
Updated Branches:
refs/heads/cassandra-1.2 514ce33bc -> 1755f65a6
refs/heads/cassandra-2.0 c6ec5d5b2 -> a421551d1
refs/heads/cassandra-2.1 db3935e4c -> ffc8dae6d
refs/heads/trunk cd74a6d0d -> 05a457574
Schedule schema pull in onChange.
Patch by brandonwilliams, reviewed by Russ Hatch for CASSANDRA-6971
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1755f65a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1755f65a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1755f65a
Branch: refs/heads/cassandra-1.2
Commit: 1755f65a647da1816e2bd8229ba656a26cfcff1d
Parents: 514ce33
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:28:58 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:28:58 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index b3a794f..dc8e6e0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
* Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
+ * Schedule schema pulls on change (CASSANDRA-6971)
1.2.16
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index 9f6113c..09caeb1 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -91,11 +91,15 @@ public class MigrationManager
private static void maybeScheduleSchemaPull(final UUID theirVersion, final InetAddress endpoint)
{
if ((Schema.instance.getVersion() != null && Schema.instance.getVersion().equals(theirVersion)) || !shouldPullSchemaFrom(endpoint))
+ {
+ logger.debug("Not pulling schema because versions match or shouldPullSchemaFrom returned false");
return;
+ }
if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || runtimeMXBean.getUptime() < MIGRATION_DELAY_IN_MS)
{
// If we think we may be bootstrapping or have recently started, submit MigrationTask immediately
+ logger.debug("Submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
else
@@ -109,12 +113,18 @@ public class MigrationManager
// grab the latest version of the schema since it may have changed again since the initial scheduling
EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(endpoint);
if (epState == null)
+ {
+ logger.debug("epState vanished for {}, not submitting migration task", endpoint);
return;
+ }
VersionedValue value = epState.getApplicationState(ApplicationState.SCHEMA);
UUID currentVersion = UUID.fromString(value.value);
if (Schema.instance.getVersion().equals(currentVersion))
+ {
+ logger.debug("not submitting migration task for {} because our versions match", endpoint);
return;
-
+ }
+ logger.debug("submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
};
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index d5b7bb5..473ef49 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1377,6 +1377,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
case HOST_ID:
SystemTable.updatePeerInfo(endpoint, "host_id", value.value);
break;
+ case SCHEMA:
+ MigrationManager.instance.scheduleSchemaPull(endpoint, epState);
}
}
}
[05/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by br...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a421551d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a421551d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a421551d
Branch: refs/heads/cassandra-2.1
Commit: a421551d1db7abe59b76cc7af93bacf282fb81c1
Parents: c6ec5d5 1755f65
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:30:11 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:30:11 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 430e02c,dc8e6e0..a024427
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -55,50 -2,17 +55,51 @@@ Merged from 1.2
* Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
+ * Schedule schema pulls on change (CASSANDRA-6971)
-1.2.16
- * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
- * add extra SSL cipher suites (CASSANDRA-6613)
- * fix nodetool getsstables for blob PK (CASSANDRA-6803)
+2.0.6
+ * Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
+ * Pool CqlRecordWriter clients by inetaddress rather than Range
+ (CASSANDRA-6665)
+ * Fix compaction_history timestamps (CASSANDRA-6784)
+ * Compare scores of full replica ordering in DES (CASSANDRA-6883)
+ * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
+ * Allow repairing between specific replicas (CASSANDRA-6440)
+ * Allow per-dc enabling of hints (CASSANDRA-6157)
+ * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
+ * Fix EstimatedHistogram races (CASSANDRA-6682)
+ * Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
+ * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
+ * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
+ * Improve nodetool cfhistograms formatting (CASSANDRA-6360)
+ * Expose bulk loading progress over JMX (CASSANDRA-4757)
+ * Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
+ * Account for range/row tombstones in tombstone drop
+ time histogram (CASSANDRA-6522)
+ * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
+ * Make commitlog failure handling configurable (CASSANDRA-6364)
+ * Avoid overlaps in LCS (CASSANDRA-6688)
+ * Improve support for paginating over composites (CASSANDRA-4851)
+ * Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
+ * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
+ * Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
+ * Add static columns to CQL3 (CASSANDRA-6561)
+ * Optimize single partition batch statements (CASSANDRA-6737)
+ * Disallow post-query re-ordering when paging (CASSANDRA-6722)
+ * Fix potential paging bug with deleted columns (CASSANDRA-6748)
+ * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
+ * Fix truncating compression metadata (CASSANDRA-6791)
+ * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
+ * Fix IllegalArgumentException when updating from 1.2 with SuperColumns
+ (CASSANDRA-6733)
+ * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
+ * Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
+ * Fix HSHA server introducing corrupt data (CASSANDRA-6285)
+ * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
+Merged from 1.2:
* Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
* Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
- * Don't attempt cross-dc forwarding in mixed-version cluster with 1.1
- (CASSANDRA-6732)
* Fix broken streams when replacing with same IP (CASSANDRA-6622)
* Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
* Fix partition and range deletes not triggering flush (CASSANDRA-6655)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index 6ddfd80,473ef49..2406603
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -1380,23 -1360,25 +1380,25 @@@ public class StorageService extends Not
switch (state)
{
case RELEASE_VERSION:
- SystemTable.updatePeerInfo(endpoint, "release_version", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "release_version", quote(value.value));
break;
case DC:
- SystemTable.updatePeerInfo(endpoint, "data_center", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "data_center", quote(value.value));
break;
case RACK:
- SystemTable.updatePeerInfo(endpoint, "rack", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "rack", quote(value.value));
break;
case RPC_ADDRESS:
- SystemTable.updatePeerInfo(endpoint, "rpc_address", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "rpc_address", quote(value.value));
break;
case SCHEMA:
- SystemTable.updatePeerInfo(endpoint, "schema_version", value.value);
+ SystemKeyspace.updatePeerInfo(endpoint, "schema_version", value.value);
break;
case HOST_ID:
- SystemTable.updatePeerInfo(endpoint, "host_id", value.value);
+ SystemKeyspace.updatePeerInfo(endpoint, "host_id", value.value);
break;
+ case SCHEMA:
+ MigrationManager.instance.scheduleSchemaPull(endpoint, epState);
}
}
}
[07/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by br...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a421551d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a421551d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a421551d
Branch: refs/heads/trunk
Commit: a421551d1db7abe59b76cc7af93bacf282fb81c1
Parents: c6ec5d5 1755f65
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:30:11 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:30:11 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 430e02c,dc8e6e0..a024427
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -55,50 -2,17 +55,51 @@@ Merged from 1.2
* Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
+ * Schedule schema pulls on change (CASSANDRA-6971)
-1.2.16
- * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
- * add extra SSL cipher suites (CASSANDRA-6613)
- * fix nodetool getsstables for blob PK (CASSANDRA-6803)
+2.0.6
+ * Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
+ * Pool CqlRecordWriter clients by inetaddress rather than Range
+ (CASSANDRA-6665)
+ * Fix compaction_history timestamps (CASSANDRA-6784)
+ * Compare scores of full replica ordering in DES (CASSANDRA-6883)
+ * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
+ * Allow repairing between specific replicas (CASSANDRA-6440)
+ * Allow per-dc enabling of hints (CASSANDRA-6157)
+ * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
+ * Fix EstimatedHistogram races (CASSANDRA-6682)
+ * Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
+ * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
+ * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
+ * Improve nodetool cfhistograms formatting (CASSANDRA-6360)
+ * Expose bulk loading progress over JMX (CASSANDRA-4757)
+ * Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
+ * Account for range/row tombstones in tombstone drop
+ time histogram (CASSANDRA-6522)
+ * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
+ * Make commitlog failure handling configurable (CASSANDRA-6364)
+ * Avoid overlaps in LCS (CASSANDRA-6688)
+ * Improve support for paginating over composites (CASSANDRA-4851)
+ * Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
+ * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
+ * Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
+ * Add static columns to CQL3 (CASSANDRA-6561)
+ * Optimize single partition batch statements (CASSANDRA-6737)
+ * Disallow post-query re-ordering when paging (CASSANDRA-6722)
+ * Fix potential paging bug with deleted columns (CASSANDRA-6748)
+ * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
+ * Fix truncating compression metadata (CASSANDRA-6791)
+ * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
+ * Fix IllegalArgumentException when updating from 1.2 with SuperColumns
+ (CASSANDRA-6733)
+ * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
+ * Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
+ * Fix HSHA server introducing corrupt data (CASSANDRA-6285)
+ * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
+Merged from 1.2:
* Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
* Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
- * Don't attempt cross-dc forwarding in mixed-version cluster with 1.1
- (CASSANDRA-6732)
* Fix broken streams when replacing with same IP (CASSANDRA-6622)
* Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
* Fix partition and range deletes not triggering flush (CASSANDRA-6655)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index 6ddfd80,473ef49..2406603
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -1380,23 -1360,25 +1380,25 @@@ public class StorageService extends Not
switch (state)
{
case RELEASE_VERSION:
- SystemTable.updatePeerInfo(endpoint, "release_version", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "release_version", quote(value.value));
break;
case DC:
- SystemTable.updatePeerInfo(endpoint, "data_center", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "data_center", quote(value.value));
break;
case RACK:
- SystemTable.updatePeerInfo(endpoint, "rack", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "rack", quote(value.value));
break;
case RPC_ADDRESS:
- SystemTable.updatePeerInfo(endpoint, "rpc_address", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "rpc_address", quote(value.value));
break;
case SCHEMA:
- SystemTable.updatePeerInfo(endpoint, "schema_version", value.value);
+ SystemKeyspace.updatePeerInfo(endpoint, "schema_version", value.value);
break;
case HOST_ID:
- SystemTable.updatePeerInfo(endpoint, "host_id", value.value);
+ SystemKeyspace.updatePeerInfo(endpoint, "host_id", value.value);
break;
+ case SCHEMA:
+ MigrationManager.instance.scheduleSchemaPull(endpoint, epState);
}
}
}
[09/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Posted by br...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ffc8dae6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ffc8dae6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ffc8dae6
Branch: refs/heads/trunk
Commit: ffc8dae6d21b4766f15135bac7dccdcf99b630f0
Parents: db3935e a421551
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:30:29 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:30:29 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffc8dae6/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffc8dae6/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffc8dae6/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
[02/10] git commit: Schedule schema pull in onChange.
Posted by br...@apache.org.
Schedule schema pull in onChange.
Patch by brandonwilliams, reviewed by Russ Hatch for CASSANDRA-6971
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1755f65a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1755f65a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1755f65a
Branch: refs/heads/cassandra-2.0
Commit: 1755f65a647da1816e2bd8229ba656a26cfcff1d
Parents: 514ce33
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:28:58 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:28:58 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index b3a794f..dc8e6e0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
* Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
+ * Schedule schema pulls on change (CASSANDRA-6971)
1.2.16
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index 9f6113c..09caeb1 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -91,11 +91,15 @@ public class MigrationManager
private static void maybeScheduleSchemaPull(final UUID theirVersion, final InetAddress endpoint)
{
if ((Schema.instance.getVersion() != null && Schema.instance.getVersion().equals(theirVersion)) || !shouldPullSchemaFrom(endpoint))
+ {
+ logger.debug("Not pulling schema because versions match or shouldPullSchemaFrom returned false");
return;
+ }
if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || runtimeMXBean.getUptime() < MIGRATION_DELAY_IN_MS)
{
// If we think we may be bootstrapping or have recently started, submit MigrationTask immediately
+ logger.debug("Submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
else
@@ -109,12 +113,18 @@ public class MigrationManager
// grab the latest version of the schema since it may have changed again since the initial scheduling
EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(endpoint);
if (epState == null)
+ {
+ logger.debug("epState vanished for {}, not submitting migration task", endpoint);
return;
+ }
VersionedValue value = epState.getApplicationState(ApplicationState.SCHEMA);
UUID currentVersion = UUID.fromString(value.value);
if (Schema.instance.getVersion().equals(currentVersion))
+ {
+ logger.debug("not submitting migration task for {} because our versions match", endpoint);
return;
-
+ }
+ logger.debug("submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
};
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index d5b7bb5..473ef49 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1377,6 +1377,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
case HOST_ID:
SystemTable.updatePeerInfo(endpoint, "host_id", value.value);
break;
+ case SCHEMA:
+ MigrationManager.instance.scheduleSchemaPull(endpoint, epState);
}
}
}
[03/10] git commit: Schedule schema pull in onChange.
Posted by br...@apache.org.
Schedule schema pull in onChange.
Patch by brandonwilliams, reviewed by Russ Hatch for CASSANDRA-6971
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1755f65a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1755f65a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1755f65a
Branch: refs/heads/cassandra-2.1
Commit: 1755f65a647da1816e2bd8229ba656a26cfcff1d
Parents: 514ce33
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:28:58 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:28:58 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index b3a794f..dc8e6e0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
* Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
+ * Schedule schema pulls on change (CASSANDRA-6971)
1.2.16
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index 9f6113c..09caeb1 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -91,11 +91,15 @@ public class MigrationManager
private static void maybeScheduleSchemaPull(final UUID theirVersion, final InetAddress endpoint)
{
if ((Schema.instance.getVersion() != null && Schema.instance.getVersion().equals(theirVersion)) || !shouldPullSchemaFrom(endpoint))
+ {
+ logger.debug("Not pulling schema because versions match or shouldPullSchemaFrom returned false");
return;
+ }
if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || runtimeMXBean.getUptime() < MIGRATION_DELAY_IN_MS)
{
// If we think we may be bootstrapping or have recently started, submit MigrationTask immediately
+ logger.debug("Submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
else
@@ -109,12 +113,18 @@ public class MigrationManager
// grab the latest version of the schema since it may have changed again since the initial scheduling
EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(endpoint);
if (epState == null)
+ {
+ logger.debug("epState vanished for {}, not submitting migration task", endpoint);
return;
+ }
VersionedValue value = epState.getApplicationState(ApplicationState.SCHEMA);
UUID currentVersion = UUID.fromString(value.value);
if (Schema.instance.getVersion().equals(currentVersion))
+ {
+ logger.debug("not submitting migration task for {} because our versions match", endpoint);
return;
-
+ }
+ logger.debug("submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
};
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index d5b7bb5..473ef49 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1377,6 +1377,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
case HOST_ID:
SystemTable.updatePeerInfo(endpoint, "host_id", value.value);
break;
+ case SCHEMA:
+ MigrationManager.instance.scheduleSchemaPull(endpoint, epState);
}
}
}
[08/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Posted by br...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ffc8dae6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ffc8dae6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ffc8dae6
Branch: refs/heads/cassandra-2.1
Commit: ffc8dae6d21b4766f15135bac7dccdcf99b630f0
Parents: db3935e a421551
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:30:29 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:30:29 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffc8dae6/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffc8dae6/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffc8dae6/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
[06/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Posted by br...@apache.org.
Merge branch 'cassandra-1.2' into cassandra-2.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a421551d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a421551d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a421551d
Branch: refs/heads/cassandra-2.0
Commit: a421551d1db7abe59b76cc7af93bacf282fb81c1
Parents: c6ec5d5 1755f65
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:30:11 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:30:11 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 430e02c,dc8e6e0..a024427
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -55,50 -2,17 +55,51 @@@ Merged from 1.2
* Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
+ * Schedule schema pulls on change (CASSANDRA-6971)
-1.2.16
- * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
- * add extra SSL cipher suites (CASSANDRA-6613)
- * fix nodetool getsstables for blob PK (CASSANDRA-6803)
+2.0.6
+ * Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
+ * Pool CqlRecordWriter clients by inetaddress rather than Range
+ (CASSANDRA-6665)
+ * Fix compaction_history timestamps (CASSANDRA-6784)
+ * Compare scores of full replica ordering in DES (CASSANDRA-6883)
+ * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
+ * Allow repairing between specific replicas (CASSANDRA-6440)
+ * Allow per-dc enabling of hints (CASSANDRA-6157)
+ * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
+ * Fix EstimatedHistogram races (CASSANDRA-6682)
+ * Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
+ * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
+ * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
+ * Improve nodetool cfhistograms formatting (CASSANDRA-6360)
+ * Expose bulk loading progress over JMX (CASSANDRA-4757)
+ * Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
+ * Account for range/row tombstones in tombstone drop
+ time histogram (CASSANDRA-6522)
+ * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
+ * Make commitlog failure handling configurable (CASSANDRA-6364)
+ * Avoid overlaps in LCS (CASSANDRA-6688)
+ * Improve support for paginating over composites (CASSANDRA-4851)
+ * Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
+ * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
+ * Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
+ * Add static columns to CQL3 (CASSANDRA-6561)
+ * Optimize single partition batch statements (CASSANDRA-6737)
+ * Disallow post-query re-ordering when paging (CASSANDRA-6722)
+ * Fix potential paging bug with deleted columns (CASSANDRA-6748)
+ * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
+ * Fix truncating compression metadata (CASSANDRA-6791)
+ * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
+ * Fix IllegalArgumentException when updating from 1.2 with SuperColumns
+ (CASSANDRA-6733)
+ * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
+ * Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
+ * Fix HSHA server introducing corrupt data (CASSANDRA-6285)
+ * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
+Merged from 1.2:
* Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
* Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
- * Don't attempt cross-dc forwarding in mixed-version cluster with 1.1
- (CASSANDRA-6732)
* Fix broken streams when replacing with same IP (CASSANDRA-6622)
* Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
* Fix partition and range deletes not triggering flush (CASSANDRA-6655)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/a421551d/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageService.java
index 6ddfd80,473ef49..2406603
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@@ -1380,23 -1360,25 +1380,25 @@@ public class StorageService extends Not
switch (state)
{
case RELEASE_VERSION:
- SystemTable.updatePeerInfo(endpoint, "release_version", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "release_version", quote(value.value));
break;
case DC:
- SystemTable.updatePeerInfo(endpoint, "data_center", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "data_center", quote(value.value));
break;
case RACK:
- SystemTable.updatePeerInfo(endpoint, "rack", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "rack", quote(value.value));
break;
case RPC_ADDRESS:
- SystemTable.updatePeerInfo(endpoint, "rpc_address", quote(value.value));
+ SystemKeyspace.updatePeerInfo(endpoint, "rpc_address", quote(value.value));
break;
case SCHEMA:
- SystemTable.updatePeerInfo(endpoint, "schema_version", value.value);
+ SystemKeyspace.updatePeerInfo(endpoint, "schema_version", value.value);
break;
case HOST_ID:
- SystemTable.updatePeerInfo(endpoint, "host_id", value.value);
+ SystemKeyspace.updatePeerInfo(endpoint, "host_id", value.value);
break;
+ case SCHEMA:
+ MigrationManager.instance.scheduleSchemaPull(endpoint, epState);
}
}
}
[10/10] git commit: Merge branch 'cassandra-2.1' into trunk
Posted by br...@apache.org.
Merge branch 'cassandra-2.1' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/05a45757
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/05a45757
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/05a45757
Branch: refs/heads/trunk
Commit: 05a457574ccdc2309231e27bf864e3f990bde21a
Parents: cd74a6d ffc8dae
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:30:43 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:30:43 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/05a45757/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/05a45757/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
[04/10] git commit: Schedule schema pull in onChange.
Posted by br...@apache.org.
Schedule schema pull in onChange.
Patch by brandonwilliams, reviewed by Russ Hatch for CASSANDRA-6971
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1755f65a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1755f65a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1755f65a
Branch: refs/heads/trunk
Commit: 1755f65a647da1816e2bd8229ba656a26cfcff1d
Parents: 514ce33
Author: Brandon Williams <br...@apache.org>
Authored: Tue Apr 8 14:28:58 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Tue Apr 8 14:28:58 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/service/MigrationManager.java | 12 +++++++++++-
.../org/apache/cassandra/service/StorageService.java | 2 ++
3 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index b3a794f..dc8e6e0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,7 @@
* Fix BatchlogManager#deleteBatch() use of millisecond timsestamps
(CASSANDRA-6822)
* Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
+ * Schedule schema pulls on change (CASSANDRA-6971)
1.2.16
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/MigrationManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java
index 9f6113c..09caeb1 100644
--- a/src/java/org/apache/cassandra/service/MigrationManager.java
+++ b/src/java/org/apache/cassandra/service/MigrationManager.java
@@ -91,11 +91,15 @@ public class MigrationManager
private static void maybeScheduleSchemaPull(final UUID theirVersion, final InetAddress endpoint)
{
if ((Schema.instance.getVersion() != null && Schema.instance.getVersion().equals(theirVersion)) || !shouldPullSchemaFrom(endpoint))
+ {
+ logger.debug("Not pulling schema because versions match or shouldPullSchemaFrom returned false");
return;
+ }
if (Schema.emptyVersion.equals(Schema.instance.getVersion()) || runtimeMXBean.getUptime() < MIGRATION_DELAY_IN_MS)
{
// If we think we may be bootstrapping or have recently started, submit MigrationTask immediately
+ logger.debug("Submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
else
@@ -109,12 +113,18 @@ public class MigrationManager
// grab the latest version of the schema since it may have changed again since the initial scheduling
EndpointState epState = Gossiper.instance.getEndpointStateForEndpoint(endpoint);
if (epState == null)
+ {
+ logger.debug("epState vanished for {}, not submitting migration task", endpoint);
return;
+ }
VersionedValue value = epState.getApplicationState(ApplicationState.SCHEMA);
UUID currentVersion = UUID.fromString(value.value);
if (Schema.instance.getVersion().equals(currentVersion))
+ {
+ logger.debug("not submitting migration task for {} because our versions match", endpoint);
return;
-
+ }
+ logger.debug("submitting migration task for {}", endpoint);
submitMigrationTask(endpoint);
}
};
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1755f65a/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index d5b7bb5..473ef49 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1377,6 +1377,8 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
case HOST_ID:
SystemTable.updatePeerInfo(endpoint, "host_id", value.value);
break;
+ case SCHEMA:
+ MigrationManager.instance.scheduleSchemaPull(endpoint, epState);
}
}
}