From 038b8f212eb37c98ff4f230b722bc9a76daf1658 Mon Sep 17 00:00:00 2001 From: Sylvain Lebresne Date: Wed, 8 Feb 2012 16:39:43 +0100 Subject: [PATCH 1/8] Update version and changelog for 0.8.10 --- CHANGES.txt | 1 + NEWS.txt | 8 ++++++++ build.xml | 2 +- debian/changelog | 6 ++++++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index dc17889d95..b21dd3ddc0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,6 +8,7 @@ * (Pig) fix CassandraStorage to use correct comparator in Super ColumnFamily case (CASSANDRA-3251) * Fix relevant tomstone ignored with super columns (CASSANDRA-3875) + * Support TimeUUID in CassandraStorage (CASSANDRA-3327) 0.8.9 * avoid logging (harmless) exception when GC takes < 1ms (CASSANDRA-3656) diff --git a/NEWS.txt b/NEWS.txt index 539c25f555..3a66322847 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,3 +1,11 @@ +0.8.10 +====== + +Upgrading +--------- + - Nothing specific to 0.8.10 + + 0.8.9 ===== diff --git a/build.xml b/build.xml index ee0dac3fd4..c8f9ef37c0 100644 --- a/build.xml +++ b/build.xml @@ -25,7 +25,7 @@ - + diff --git a/debian/changelog b/debian/changelog index c49db1abcf..35c26d5de5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cassandra (0.8.10) unstable; urgency=low + + * New release + + -- Sylvain Lebresne Wed, 08 Feb 2012 16:15:41 +0100 + cassandra (0.8.9) unstable; urgency=low * New release From c0a342bc85482eb2ae14c15a349188ef27ed98f5 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Wed, 15 Feb 2012 09:05:45 -0600 Subject: [PATCH 2/8] Correct InetAddress equality comparisons. Patch by brandonwilliams reviewed by jbellis for CASSANDRA-3913 --- src/java/org/apache/cassandra/db/SystemTable.java | 2 +- src/java/org/apache/cassandra/gms/Gossiper.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/java/org/apache/cassandra/db/SystemTable.java b/src/java/org/apache/cassandra/db/SystemTable.java index 870955fc97..b319f61f26 100644 --- a/src/java/org/apache/cassandra/db/SystemTable.java +++ b/src/java/org/apache/cassandra/db/SystemTable.java @@ -100,7 +100,7 @@ public class SystemTable */ public static synchronized void updateToken(InetAddress ep, Token token) { - if (ep == FBUtilities.getLocalAddress()) + if (ep.equals(FBUtilities.getLocalAddress())) return; IPartitioner p = StorageService.getPartitioner(); ColumnFamily cf = ColumnFamily.create(Table.SYSTEM_TABLE, STATUS_CF); diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java b/src/java/org/apache/cassandra/gms/Gossiper.java index 0f4725971f..be94f3101d 100644 --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@ -996,7 +996,7 @@ public class Gossiper implements IFailureDetectionEventListener */ public void addSavedEndpoint(InetAddress ep) { - if (ep == FBUtilities.getLocalAddress()) + if (ep.equals(FBUtilities.getLocalAddress())) { logger.debug("Attempt to add self as saved endpoint"); return; From 28a9a15e1cbc2422d56ed28fc6fa7093328c7764 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 8 Mar 2012 17:32:43 -0600 Subject: [PATCH 3/8] Make BoundedStatsDeque threadsafe. Patch by brandonwilliams, reviewed by jbellis for CASSANDRA-4019 --- .../cassandra/utils/BoundedStatsDeque.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/java/org/apache/cassandra/utils/BoundedStatsDeque.java b/src/java/org/apache/cassandra/utils/BoundedStatsDeque.java index 32565642de..5d27608ebd 100644 --- a/src/java/org/apache/cassandra/utils/BoundedStatsDeque.java +++ b/src/java/org/apache/cassandra/utils/BoundedStatsDeque.java @@ -18,21 +18,20 @@ */ package org.apache.cassandra.utils; -import java.util.ArrayDeque; import java.util.Iterator; +import java.util.NoSuchElementException; +import java.util.concurrent.LinkedBlockingDeque; /** - * not threadsafe. caller is responsible for any locking necessary. + * bounded threadsafe deque */ public class BoundedStatsDeque extends AbstractStatsDeque { - private final int size; - protected final ArrayDeque deque; + protected final LinkedBlockingDeque deque; public BoundedStatsDeque(int size) { - this.size = size; - deque = new ArrayDeque(size); + deque = new LinkedBlockingDeque(size); } public Iterator iterator() @@ -50,12 +49,19 @@ public class BoundedStatsDeque extends AbstractStatsDeque deque.clear(); } - public void add(double o) + public void add(double i) { - if (size == deque.size()) + if (!deque.offer(i)) { - deque.remove(); + try + { + deque.remove(); + } + catch (NoSuchElementException e) + { + // oops, clear() beat us to it + } + deque.offer(i); } - deque.add(o); } } From 51482ba22f6eac9e24a151c2bf23be552809d29d Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Wed, 28 Mar 2012 01:43:17 +0300 Subject: [PATCH 4/8] (CLI) Fix typo in yaml doc file patch by Andrew Ash; reviewed by Pavel Yaskevich for CASSANDRA-4089 --- CHANGES.txt | 2 ++ src/resources/org/apache/cassandra/cli/CliHelp.yaml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index b21dd3ddc0..af98a28863 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,6 +9,8 @@ case (CASSANDRA-3251) * Fix relevant tomstone ignored with super columns (CASSANDRA-3875) * Support TimeUUID in CassandraStorage (CASSANDRA-3327) + * (CLI) Fix typo in yaml doc file (CASSANDRA-4089) + 0.8.9 * avoid logging (harmless) exception when GC takes < 1ms (CASSANDRA-3656) diff --git a/src/resources/org/apache/cassandra/cli/CliHelp.yaml b/src/resources/org/apache/cassandra/cli/CliHelp.yaml index b6ea6e3370..04c94fb2f9 100644 --- a/src/resources/org/apache/cassandra/cli/CliHelp.yaml +++ b/src/resources/org/apache/cassandra/cli/CliHelp.yaml @@ -666,7 +666,7 @@ commands: It is also valid to specify the fully-qualified class name to a class that extends org.apache.Cassandra.db.marshal.AbstractType. - - key_valiation_class: Validator to use for keys. + - key_validation_class: Validator to use for keys. Default is BytesType which applies no validation. Supported values are: From cec4253ba83be62dff17894442dbd1bb0690aaed Mon Sep 17 00:00:00 2001 From: Vijay Parthasarathy Date: Fri, 30 Mar 2012 11:42:10 -0700 Subject: [PATCH 5/8] CASSANDRA-4099-reopened patch by Vijay; reviewed by Brandon Williams for CASSANDRA-4098 --- .../cassandra/net/IncomingTcpConnection.java | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java index 47ab39a663..a9a5809168 100644 --- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java +++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java @@ -92,19 +92,16 @@ public class IncomingTcpConnection extends Thread // we should buffer input = new DataInputStream(new BufferedInputStream(socket.getInputStream(), 4096)); // Receive the first message to set the version. - Message msg = receiveMessage(input, version); - from = msg.getFrom(); // why? see => CASSANDRA-4099 + from = receiveMessage(input, version); // why? see => CASSANDRA-4099 if (version > MessagingService.version_) { // save the endpoint so gossip will reconnect to it Gossiper.instance.addSavedEndpoint(from); logger.info("Received " + (isStream ? "streaming " : "") + "connection from newer protocol version. Ignoring"); + return; } - else if (msg != null) - { - Gossiper.instance.setVersion(from, version); - logger.debug("set version for {} to {}", from, version); - } + Gossiper.instance.setVersion(from, version); + logger.debug("set version for {} to {}", from, version); // loop to get the next message. while (true) @@ -133,7 +130,7 @@ public class IncomingTcpConnection extends Thread } } - private Message receiveMessage(DataInputStream input, int version) throws IOException + private InetAddress receiveMessage(DataInputStream input, int version) throws IOException { int totalSize = input.readInt(); String id = input.readUTF(); @@ -158,10 +155,12 @@ public class IncomingTcpConnection extends Thread { Message message = new Message(header, body, version); MessagingService.instance().receive(message, id); - return message; } - logger.debug("Received connection from newer protocol version {}. Ignoring message", version); - return null; + else + { + logger.debug("Received connection from newer protocol version {}. Ignoring message", version); + } + return header.getFrom(); } private void close() From 4457839b9da623d9d4a090fa444614c35d39bb4c Mon Sep 17 00:00:00 2001 From: Sylvain Lebresne Date: Mon, 2 Apr 2012 14:23:50 +0200 Subject: [PATCH 6/8] Update versions and news for 1.0.9 --- CHANGES.txt | 9 ++++++++- NEWS.txt | 9 +++++++++ build.xml | 2 +- debian/changelog | 6 ++++++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index e81f2bb970..b2e36167ac 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -5,7 +5,7 @@ erroring out (CASSANDRA-3975) * add CompositeType ref to the CLI doc for create/update column family (CASSANDRA-3980) * Pig: support Counter ColumnFamilies (CASSANDRA-3973) - * Pig: Composite column support (CASSANDRA-384) + * Pig: Composite column support (CASSANDRA-3684) * Avoid NPE during repair when a keyspace has no CFs (CASSANDRA-3988) * Fix division-by-zero error on get_slice (CASSANDRA-4000) * don't change manifest level for cleanup, scrub, and upgradesstables @@ -18,6 +18,13 @@ * fix totalBytes count for parallel compactions (CASSANDRA-3758) * fix intermittent NPE in get_slice (CASSANDRA-4095) * remove unnecessary asserts in native code interfaces (CASSANDRA-4096) + * Validate blank keys in CQL to avoid assertion errors (CASSANDRA-3612) + * cqlsh: fix bad decoding of some column names (CASSANDRA-4003) + * cqlsh: fix incorrect padding with unicode chars (CASSANDRA-4033) + * Fix ConcurrentModificationException in gossiper (CASSANDRA-4019) + * Fix EC2 snitch incorrectly reporting region (CASSANDRA-4026) + * Shut down thrift during decommission (CASSANDRA-4086) + * Expose nodetool cfhistograms for 2ndary indexes (CASSANDRA-4063) 1.0.8 diff --git a/NEWS.txt b/NEWS.txt index d64c714557..4d09ccf14d 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -8,6 +8,15 @@ upgrade, just in case you need to roll back to the previous version. (Cassandra version X + 1 will always be able to read data files created by version X, but the inverse is not necessarily the case.) + +1.0.9 +===== + +Upgrading +--------- + - Nothing specific to 1.0.9 + + 1.0.8 ===== diff --git a/build.xml b/build.xml index c2e8768b4d..f13f1ad0cd 100644 --- a/build.xml +++ b/build.xml @@ -25,7 +25,7 @@ - + diff --git a/debian/changelog b/debian/changelog index 4e96e0cf76..a69e92d62a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cassandra (1.0.9) unstable; urgency=low + + * New release + + -- Sylvain Lebresne Mon, 02 Apr 2012 11:52:05 +0200 + cassandra (1.0.8) unstable; urgency=low * New release From cfec1e1f8162a30f24e7f31e1fe48884400755a8 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Mon, 2 Apr 2012 12:08:25 -0500 Subject: [PATCH 7/8] update CHANGES --- CHANGES.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index af98a28863..41e0510d67 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,7 @@ +0.8.11-dev + * make boundedstatsdeque threadsafe (CASSANDRA-4019) + + 0.8.10 * fix thread safety issues in commitlog replay, primarily affecting systems with many (100s) of CF definitions (CASSANDRA-3751) From c5e242819a9411a26937472c95d43ce23527fab5 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Mon, 2 Apr 2012 12:09:21 -0500 Subject: [PATCH 8/8] update blog link for sun -> oracle transition --- conf/cassandra-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh index 5ab20ce614..083b968838 100644 --- a/conf/cassandra-env.sh +++ b/conf/cassandra-env.sh @@ -163,7 +163,7 @@ JVM_OPTS="$JVM_OPTS -Djava.net.preferIPv4Stack=true" # JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=" # # see -# http://blogs.sun.com/jmxetc/entry/troubleshooting_connection_problems_in_jconsole +# https://blogs.oracle.com/jmxetc/entry/troubleshooting_connection_problems_in_jconsole # for more on configuring JMX through firewalls, etc. (Short version: # get it working with no firewall first.) JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT"