[jira] [Commented] (CASSANDRA-7520) Permit sorting sstables by raw partition key, as opposed to token

2014-07-10 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057206#comment-14057206
 ] 

Benedict commented on CASSANDRA-7520:
-

bq. I'm skeptical that this is going to help enough to be worth the extra 
complexity.

Fair. I'm not certain either. Especially with ng-storage, which should reduce 
cache pollution by scanning fewer unrelated blocks of data. I think it will be 
easily tested in the non-too-distant future though, and wanted to placeholder 
this whilst it occurred to me as I was mulling over the theoretical 
implications of offheap storage on benchmarks.

bq. If we're not storing it in token order then we have to do a ton of random 
i/o on merkle tree build and streaming. 

We can simply sequential scan and filter; once we have per-vnode storage this 
is probably enough to make range repair sufficiently affordable.

 Permit sorting sstables by raw partition key, as opposed to token
 -

 Key: CASSANDRA-7520
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7520
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict

 At the moment we have some counter-intuitive behaviour, which is that with a 
 hashed partitioner (recommended) the more compacted the data is, the more 
 randomly distributed it is amongst the file. This means that data access 
 locality is made pretty much as bad as possible, and we rely on the OS to do 
 its best to fix that for us with its page cache.
 [~jasobrown] mentioned this at the NGCC, but thinking on it some more it 
 seems that many use cases may benefit from dropping the token at the storage 
 level and sorting based on the raw key data. For workloads where nearness of 
 key = likelihood of being coreferenced, this could improve data locality and 
 cache hit rate dramatically. Timeseries workloads spring to mind, but I doubt 
 this is constrained to them. Most likely any non-random access pattern could 
 benefit. A random access pattern would most likely suffer from this scheme, 
 as we can index more efficiently into the hashed data. However there's no 
 reason we could not support both schemes. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7524) cqlsh fails when version number parts are not int

2014-07-10 Thread Tuukka Mustonen (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057216#comment-14057216
 ] 

Tuukka Mustonen commented on CASSANDRA-7524:


On debian package at least, {{nodetool}} does not work either:

{noformat}
$ nodetool
Error opening zip file or JAR manifest missing : 
/usr/share/cassandra/lib/jamm-0.2.5.jar
Error occurred during initialization of VM
agent library failed to init: instrument
{noformat}

One has to adjust {{/usr/share/cassandra/cassandra.in.sh}} and update line:

{code}
JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar
{code}

to point to the correct version (jamm 0.2.6).

Part of packaging / similar issue I'm just reporting as a comment here.

 cqlsh fails when version number parts are not int
 -

 Key: CASSANDRA-7524
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7524
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Alexander Bulaev
Assignee: Mikhail Stepura
Priority: Trivial
  Labels: cqlsh
 Fix For: 2.1.0


 {code}
 alexbool@gibson ~ cqlsh
 Traceback (most recent call last):
   File /usr/bin/cqlsh, line 1894, in module
 main(*read_options(sys.argv[1:], os.environ))
   File /usr/bin/cqlsh, line 1877, in main
 single_statement=options.execute)
   File /usr/bin/cqlsh, line 496, in __init__
 self.get_connection_versions()
   File /usr/bin/cqlsh, line 595, in get_connection_versions
 self.cass_ver_tuple = tuple(map(int, vers['build'].split('-', 
 1)[0].split('.')[:3]))
 ValueError: invalid literal for int() with base 10: '0~rc2'
 {code}
 I used cassandra 2.1-rc2 debs from Apache repository



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7232) Enable live replay of commit logs

2014-07-10 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057261#comment-14057261
 ] 

Benedict commented on CASSANDRA-7232:
-

Really we need to be able to specify the location of any archived commit logs 
and the point-in-time we want to recover to. As it stands it's just going to 
replay what happens to still be in its commit log and whatever restore command 
the node was started up with (probably none, but maybe one, but possibly the 
wrong one)

 Enable live replay of commit logs
 -

 Key: CASSANDRA-7232
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7232
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Patrick McFadin
Assignee: Lyuben Todorov
Priority: Minor
 Fix For: 2.0.10

 Attachments: 
 0001-Expose-CommitLog-recover-to-JMX-add-nodetool-cmd-for.patch, 
 0001-TRUNK-JMX-and-nodetool-cmd-for-commitlog-replay.patch


 Replaying commit logs takes a restart but restoring sstables can be an online 
 operation with refresh. In order to restore a point-in-time without a 
 restart, the node needs to live replay the commit logs from JMX and a 
 nodetool command.
 nodetool refreshcommitlogs keyspace table



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Created] (CASSANDRA-7532) Cassandra 2.0.9 crashes with ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,334 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:216,

2014-07-10 Thread Ivan Kudryavtsev (JIRA)
Ivan Kudryavtsev created CASSANDRA-7532:
---

 Summary: Cassandra 2.0.9 crashes with ERROR 
[CompactionExecutor:216] 2014-07-10 14:26:08,334 CassandraDaemon.java (line 
199) Exception in thread Thread[CompactionExecutor:216,1,main]
 Key: CASSANDRA-7532
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7532
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Ubuntu 12.04 in KVM 4core/4GB RAM/Ext4overLVM
Oracle Java 8
Reporter: Ivan Kudryavtsev
 Fix For: 2.0.9
 Attachments: cassandra.yaml

System crashed with

ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,320 CassandraDaemon.java 
(line 199) Exception in thread Thread[CompactionExecutor:216,1,main]
ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,325 CassandraDaemon.java 
(line 199) Exception in thread Thread[CompactionExecutor:216,1,main]
ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,334 CassandraDaemon.java 
(line 199) Exception in thread Thread[CompactionExecutor:216,1,main]

Unable to repeat yet, works after restart.

Installation is local, not clustered. Data table schema below. Enabled internal 
user/password authentication.
--
CREATE TABLE sflowdata (
  pk timeuuid,
  when bigint,
  samplesequenceno bigint,
  bgp_localpref int,
  bgp_nexthop text,
  countryfrom text,
  countryto text,
  dst_as int,
  dst_as_path text,
  dst_peer_as int,
  dstip text,
  dstmac text,
  dstsubnetmask int,
  headerbytes text,
  headerlen int,
  headerprotocol int,
  in_priority int,
  in_vlan int,
  inputport int,
  ipprotocol int,
  ipsize int,
  iptos int,
  ipttl int,
  meanskipcount int,
  my_as int,
  nexthop text,
  out_priority int,
  out_vlan int,
  outputport int,
  sampledpacketsize int,
  src_as int,
  src_peer_as int,
  srcip text,
  srcmac text,
  srcsubnetmask int,
  strippedbytes int,
  tcpdstport int,
  tcpflags int,
  tcpsrcport int,
  PRIMARY KEY ((pk), when, samplesequenceno)
) WITH
  bloom_filter_fp_chance=0.01 AND
  caching='KEYS_ONLY' AND
  comment='' AND
  dclocal_read_repair_chance=0.10 AND
  gc_grace_seconds=864000 AND
  index_interval=128 AND
  read_repair_chance=0.00 AND
  replicate_on_write='true' AND
  populate_io_cache_on_flush='false' AND
  default_time_to_live=0 AND
  speculative_retry='99.0PERCENTILE' AND
  memtable_flush_period_in_ms=0 AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'LZ4Compressor'};

CREATE INDEX bgp_localpref_idx ON sflowdata (bgp_localpref);

CREATE INDEX bgp_nexthop_idx ON sflowdata (bgp_nexthop);

CREATE INDEX countryfrom_idx ON sflowdata (countryfrom);

CREATE INDEX countryto_idx ON sflowdata (countryto);

CREATE INDEX dstas_idx ON sflowdata (dst_as);

CREATE INDEX dst_as_path_idx ON sflowdata (dst_as_path);

CREATE INDEX dstpeer_idx ON sflowdata (dst_peer_as);

CREATE INDEX dstip_idx ON sflowdata (dstip);

CREATE INDEX dstmac_idx ON sflowdata (dstmac);

CREATE INDEX dstsubnetmask_idx ON sflowdata (dstsubnetmask);

CREATE INDEX headerbytes_idx ON sflowdata (headerbytes);

CREATE INDEX headerlen_idx ON sflowdata (headerlen);

CREATE INDEX headerprotocol_idx ON sflowdata (headerprotocol);

CREATE INDEX in_priority_idx ON sflowdata (in_priority);

CREATE INDEX in_vlan_idx ON sflowdata (in_vlan);

CREATE INDEX inputport_idx ON sflowdata (inputport);

CREATE INDEX ipprotocol_idx ON sflowdata (ipprotocol);

CREATE INDEX ipsize_idx ON sflowdata (ipsize);

CREATE INDEX iptos_idx ON sflowdata (iptos);

CREATE INDEX ipttl_idx ON sflowdata (ipttl);

CREATE INDEX meanskipcount_idx ON sflowdata (meanskipcount);

CREATE INDEX my_as_idx ON sflowdata (my_as);

CREATE INDEX nexthop_idx ON sflowdata (nexthop);

CREATE INDEX out_priority_idx ON sflowdata (out_priority);

CREATE INDEX out_vlan_idx ON sflowdata (out_vlan);

CREATE INDEX outputport_idx ON sflowdata (outputport);

CREATE INDEX sampledpacketsize_idx ON sflowdata (sampledpacketsize);

CREATE INDEX src_as_idx ON sflowdata (src_as);

CREATE INDEX src_peer_as_idx ON sflowdata (src_peer_as);

CREATE INDEX srcip_idx ON sflowdata (srcip);

CREATE INDEX srcmac_idx ON sflowdata (srcmac);

CREATE INDEX srcsubnetmask_idx ON sflowdata (srcsubnetmask);

CREATE INDEX strippedbytes_idx ON sflowdata (strippedbytes);

CREATE INDEX tcpdstport_idx ON sflowdata (tcpdstport);

CREATE INDEX tcpflags_idx ON sflowdata (tcpflags);

CREATE INDEX tcpsrcport_idx ON sflowdata (tcpsrcport);

CREATE TABLE sflowdata (
  pk timeuuid,
  when bigint,
  samplesequenceno bigint,
  bgp_localpref int,
  bgp_nexthop text,
  countryfrom text,
  countryto text,
  dst_as int,
  dst_as_path text,
  dst_peer_as int,
  dstip text,
  dstmac text,
  dstsubnetmask int,
  headerbytes text,
  headerlen int,
  headerprotocol int,
  in_priority int,
  in_vlan int,
  inputport int,
  ipprotocol int,
  ipsize int,
  iptos int,
  ipttl int,
  

[2/3] git commit: Fail to start if commit log replay encounters an exception

2014-07-10 Thread benedict
Fail to start if commit log replay encounters an exception

patch by Benedict; reviewed by Vijay


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/581ce631
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/581ce631
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/581ce631

Branch: refs/heads/trunk
Commit: 581ce631026b98ee9438d54ef144df89bc91100b
Parents: 109e600
Author: Benedict Elliott Smith bened...@apache.org
Authored: Thu Jul 10 09:55:00 2014 +0100
Committer: Benedict Elliott Smith bened...@apache.org
Committed: Thu Jul 10 09:58:52 2014 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/db/commitlog/CommitLog.java   |  17 ++-
 .../db/commitlog/CommitLogDescriptor.java   |   8 +-
 .../db/commitlog/CommitLogReplayer.java |  76 ---
 .../commitlog/MalformedCommitLogException.java  |  16 +++
 .../cassandra/service/CassandraDaemon.java  |   2 +
 .../org/apache/cassandra/db/CommitLogTest.java  | 133 +++
 7 files changed, 205 insertions(+), 48 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/581ce631/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ae06d92..02a2d52 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.1
+ * Fail to start if commit log replay detects a problem (CASSANDRA-7125)
  * Improve schema merge performance (CASSANDRA-7444)
  * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
  * Adjust MT depth based on # of partition validating (CASSANDRA-5263)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/581ce631/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index cf8a7f6..ac1d811 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@ -133,9 +133,20 @@ public class CommitLog implements CommitLogMBean
  */
 public int recover(File... clogs) throws IOException
 {
-CommitLogReplayer recovery = new CommitLogReplayer();
-recovery.recover(clogs);
-return recovery.blockForWrites();
+try
+{
+CommitLogReplayer recovery = new CommitLogReplayer();
+recovery.recover(clogs);
+return recovery.blockForWrites();
+}
+catch (IOException e)
+{
+if (e instanceof UnknownColumnFamilyException)
+logger.error(Commit log replay failed due to replaying a 
mutation for a missing table. This error can be ignored by providing 
-Dcassandra.commitlog.stop_on_missing_tables=false on the command line);
+if (e instanceof MalformedCommitLogException)
+logger.error(Commit log replay failed due to a non-fatal 
exception. This error can be ignored by providing 
-Dcassandra.commitlog.stop_on_errors=false on the command line);
+throw e;
+}
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/581ce631/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
--
diff --git 
a/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
index 91c81e1..77c25d3 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
@@ -28,6 +28,8 @@ import java.nio.ByteBuffer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import com.google.common.annotations.VisibleForTesting;
+
 import org.apache.cassandra.io.FSReadError;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.utils.FBUtilities;
@@ -48,10 +50,11 @@ public class CommitLogDescriptor
  * Increment this number if there is a changes in the commit log disc 
layout or MessagingVersion changes.
  * Note: make sure to handle {@link #getMessagingVersion()}
  */
+@VisibleForTesting
 public static final int current_version = VERSION_21;
 
 // [version, id, checksum]
-static final int HEADER_SIZE = 4 + 8 + 4;
+public static final int HEADER_SIZE = 4 + 8 + 4;
 
 final int version;
 public final long id;
@@ -67,7 +70,8 @@ public class CommitLogDescriptor
 this(current_version, id);
 }
 
-static void writeHeader(ByteBuffer out, CommitLogDescriptor descriptor)
+@VisibleForTesting
+public static void 

[3/3] git commit: Merge branch 'cassandra-2.1' into trunk

2014-07-10 Thread benedict
Merge branch 'cassandra-2.1' into trunk

Conflicts:
test/unit/org/apache/cassandra/db/CommitLogTest.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ac4a0263
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ac4a0263
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ac4a0263

Branch: refs/heads/trunk
Commit: ac4a0263fe3a22b7096c3aefa70f07ea23d691b3
Parents: ae03e1b 581ce63
Author: Benedict Elliott Smith bened...@apache.org
Authored: Thu Jul 10 10:01:19 2014 +0100
Committer: Benedict Elliott Smith bened...@apache.org
Committed: Thu Jul 10 10:01:19 2014 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/db/commitlog/CommitLog.java   |  17 ++-
 .../db/commitlog/CommitLogDescriptor.java   |   8 +-
 .../db/commitlog/CommitLogReplayer.java |  76 ---
 .../commitlog/MalformedCommitLogException.java  |  16 +++
 .../cassandra/service/CassandraDaemon.java  |   2 +
 .../org/apache/cassandra/db/CommitLogTest.java  | 128 +++
 7 files changed, 200 insertions(+), 48 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ac4a0263/CHANGES.txt
--
diff --cc CHANGES.txt
index f2cd844,02a2d52..b5e7ec7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,5 +1,21 @@@
 +3.0
 + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7208)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + * Shorten SSTable path (CASSANDRA-6962)
 + * Use unsafe mutations for most unit tests (CASSANDRA-6969)
 + * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
 +
 +
  2.1.1
+  * Fail to start if commit log replay detects a problem (CASSANDRA-7125)
   * Improve schema merge performance (CASSANDRA-7444)
   * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
   * Adjust MT depth based on # of partition validating (CASSANDRA-5263)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ac4a0263/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ac4a0263/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
--
diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
index e50a585,77c25d3..3f1b7b5
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
@@@ -28,8 -28,11 +28,10 @@@ import java.nio.ByteBuffer
  import java.util.regex.Matcher;
  import java.util.regex.Pattern;
  
+ import com.google.common.annotations.VisibleForTesting;
+ 
  import org.apache.cassandra.io.FSReadError;
  import org.apache.cassandra.net.MessagingService;
 -import org.apache.cassandra.utils.FBUtilities;
  import org.apache.cassandra.utils.PureJavaCrc32;
  
  public class CommitLogDescriptor

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ac4a0263/test/unit/org/apache/cassandra/db/CommitLogTest.java
--
diff --cc test/unit/org/apache/cassandra/db/CommitLogTest.java
index b875987,dd05272..762d2d0
--- a/test/unit/org/apache/cassandra/db/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/CommitLogTest.java
@@@ -35,33 -34,24 +35,37 @@@ import org.apache.cassandra.SchemaLoade
  import org.apache.cassandra.Util;
  import org.apache.cassandra.config.Config;
  import org.apache.cassandra.config.DatabaseDescriptor;
 +import org.apache.cassandra.config.KSMetaData;
  import org.apache.cassandra.db.commitlog.CommitLog;
  import org.apache.cassandra.db.commitlog.CommitLogDescriptor;
+ import org.apache.cassandra.db.commitlog.CommitLogReplayer;
  import org.apache.cassandra.db.commitlog.CommitLogSegment;
+ import org.apache.cassandra.db.commitlog.MalformedCommitLogException;
  import org.apache.cassandra.db.composites.CellName;
 +import org.apache.cassandra.exceptions.ConfigurationException;
 +import org.apache.cassandra.locator.SimpleStrategy;
  import org.apache.cassandra.net.MessagingService;
  import org.apache.cassandra.service.StorageService;
+ import 

[1/3] git commit: Fail to start if commit log replay encounters an exception

2014-07-10 Thread benedict
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 109e600fa - 581ce6310
  refs/heads/trunk ae03e1bab - ac4a0263f


Fail to start if commit log replay encounters an exception

patch by Benedict; reviewed by Vijay


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/581ce631
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/581ce631
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/581ce631

Branch: refs/heads/cassandra-2.1
Commit: 581ce631026b98ee9438d54ef144df89bc91100b
Parents: 109e600
Author: Benedict Elliott Smith bened...@apache.org
Authored: Thu Jul 10 09:55:00 2014 +0100
Committer: Benedict Elliott Smith bened...@apache.org
Committed: Thu Jul 10 09:58:52 2014 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/db/commitlog/CommitLog.java   |  17 ++-
 .../db/commitlog/CommitLogDescriptor.java   |   8 +-
 .../db/commitlog/CommitLogReplayer.java |  76 ---
 .../commitlog/MalformedCommitLogException.java  |  16 +++
 .../cassandra/service/CassandraDaemon.java  |   2 +
 .../org/apache/cassandra/db/CommitLogTest.java  | 133 +++
 7 files changed, 205 insertions(+), 48 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/581ce631/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index ae06d92..02a2d52 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.1
+ * Fail to start if commit log replay detects a problem (CASSANDRA-7125)
  * Improve schema merge performance (CASSANDRA-7444)
  * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
  * Adjust MT depth based on # of partition validating (CASSANDRA-5263)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/581ce631/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index cf8a7f6..ac1d811 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@ -133,9 +133,20 @@ public class CommitLog implements CommitLogMBean
  */
 public int recover(File... clogs) throws IOException
 {
-CommitLogReplayer recovery = new CommitLogReplayer();
-recovery.recover(clogs);
-return recovery.blockForWrites();
+try
+{
+CommitLogReplayer recovery = new CommitLogReplayer();
+recovery.recover(clogs);
+return recovery.blockForWrites();
+}
+catch (IOException e)
+{
+if (e instanceof UnknownColumnFamilyException)
+logger.error(Commit log replay failed due to replaying a 
mutation for a missing table. This error can be ignored by providing 
-Dcassandra.commitlog.stop_on_missing_tables=false on the command line);
+if (e instanceof MalformedCommitLogException)
+logger.error(Commit log replay failed due to a non-fatal 
exception. This error can be ignored by providing 
-Dcassandra.commitlog.stop_on_errors=false on the command line);
+throw e;
+}
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/581ce631/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
--
diff --git 
a/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
index 91c81e1..77c25d3 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogDescriptor.java
@@ -28,6 +28,8 @@ import java.nio.ByteBuffer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import com.google.common.annotations.VisibleForTesting;
+
 import org.apache.cassandra.io.FSReadError;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.utils.FBUtilities;
@@ -48,10 +50,11 @@ public class CommitLogDescriptor
  * Increment this number if there is a changes in the commit log disc 
layout or MessagingVersion changes.
  * Note: make sure to handle {@link #getMessagingVersion()}
  */
+@VisibleForTesting
 public static final int current_version = VERSION_21;
 
 // [version, id, checksum]
-static final int HEADER_SIZE = 4 + 8 + 4;
+public static final int HEADER_SIZE = 4 + 8 + 4;
 
 final int version;
 public final long id;
@@ -67,7 +70,8 @@ public class CommitLogDescriptor
 this(current_version, id);
 }

[jira] [Commented] (CASSANDRA-7125) Fail to start by default if Commit Log fails to validate any messages

2014-07-10 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057289#comment-14057289
 ] 

Benedict commented on CASSANDRA-7125:
-

Committed with nits addressed, and with the removal of sync() in recycle() 
rolled back, as I think it might need a little bit more care, so I'll file a 
separate ticket

 Fail to start by default if Commit Log fails to validate any messages
 -

 Key: CASSANDRA-7125
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7125
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Assignee: Benedict
Priority: Minor
  Labels: correctness
 Fix For: 2.1.1


 Current behaviour can be pretty dangerous, and also has a tendency to mask 
 bugs during development. We should change the behaviour to default to failure 
 if anything unexpected happens, and introduce a cassandra.yaml option that 
 permits overriding the default behaviour.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6276) CQL: Map can not be created with the same name as a previously dropped list

2014-07-10 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-6276:


Assignee: Benjamin Lerer

 CQL: Map can not be created with the same name as a previously dropped list
 ---

 Key: CASSANDRA-6276
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6276
 Project: Cassandra
  Issue Type: Bug
 Environment:  Cassandra 2.0.2 | CQL spec 3.1.0
 centos 64 bit
 Java(TM) SE Runtime Environment (build 1.7.0-b147)
Reporter: Oli Schacher
Assignee: Benjamin Lerer
Priority: Minor
  Labels: cql

 If create a list, drop it and create a map with the same name, i get Bad 
 Request: comparators do not match or are not compatible.
 {quote}
 cqlsh:os_test1 create table thetable(id timeuuid primary key, somevalue 
 text);
 cqlsh:os_test1 alter table thetable add mycollection listtext;  
 cqlsh:os_test1 alter table thetable drop mycollection;
 cqlsh:os_test1 alter table thetable add mycollection maptext,text;  
 Bad Request: comparators do not match or are not compatible.
 {quote}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6276) CQL: Map can not be created with the same name as a previously dropped list

2014-07-10 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-6276:


Fix Version/s: 2.0.10

 CQL: Map can not be created with the same name as a previously dropped list
 ---

 Key: CASSANDRA-6276
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6276
 Project: Cassandra
  Issue Type: Bug
 Environment:  Cassandra 2.0.2 | CQL spec 3.1.0
 centos 64 bit
 Java(TM) SE Runtime Environment (build 1.7.0-b147)
Reporter: Oli Schacher
Assignee: Benjamin Lerer
Priority: Minor
  Labels: cql
 Fix For: 2.0.10


 If create a list, drop it and create a map with the same name, i get Bad 
 Request: comparators do not match or are not compatible.
 {quote}
 cqlsh:os_test1 create table thetable(id timeuuid primary key, somevalue 
 text);
 cqlsh:os_test1 alter table thetable add mycollection listtext;  
 cqlsh:os_test1 alter table thetable drop mycollection;
 cqlsh:os_test1 alter table thetable add mycollection maptext,text;  
 Bad Request: comparators do not match or are not compatible.
 {quote}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[5/6] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-10 Thread brandonwilliams
Merge branch 'cassandra-2.1.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/4d8fea19
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4d8fea19
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4d8fea19

Branch: refs/heads/cassandra-2.1
Commit: 4d8fea198c15075f4719c1aabf4abc1becb610c8
Parents: 581ce63 420c685
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 07:27:14 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 07:27:14 2014 -0500

--
 debian/cassandra.in.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[3/6] git commit: fix jamm ver in debian

2014-07-10 Thread brandonwilliams
fix jamm ver in debian


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/420c6851
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/420c6851
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/420c6851

Branch: refs/heads/trunk
Commit: 420c68511417e917925898e8c0637c9df3e317b0
Parents: ae37410
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 07:27:06 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 07:27:06 2014 -0500

--
 debian/cassandra.in.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/420c6851/debian/cassandra.in.sh
--
diff --git a/debian/cassandra.in.sh b/debian/cassandra.in.sh
index 4da19d8..efb7abb 100644
--- a/debian/cassandra.in.sh
+++ b/debian/cassandra.in.sh
@@ -26,5 +26,5 @@ CLASSPATH=$CLASSPATH:$EXTRA_CLASSPATH
 if [ $JVM_VENDOR != OpenJDK -o $JVM_VERSION \ 1.6.0 ] \
   || [ $JVM_VERSION = 1.6.0 -a $JVM_PATCH_VERSION -ge 23 ]
 then
-JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar
+JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.6.jar
 fi



[6/6] git commit: Merge branch 'cassandra-2.1' into trunk

2014-07-10 Thread brandonwilliams
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/bb2fdd01
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bb2fdd01
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bb2fdd01

Branch: refs/heads/trunk
Commit: bb2fdd0183d3f231fb35ec75d2a3ed0a1f2a182e
Parents: ac4a026 4d8fea1
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 07:27:29 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 07:27:29 2014 -0500

--
 debian/cassandra.in.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[1/6] git commit: fix jamm ver in debian

2014-07-10 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 581ce6310 - 4d8fea198
  refs/heads/cassandra-2.1.0 ae374107b - 420c68511
  refs/heads/trunk ac4a0263f - bb2fdd018


fix jamm ver in debian


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/420c6851
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/420c6851
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/420c6851

Branch: refs/heads/cassandra-2.1
Commit: 420c68511417e917925898e8c0637c9df3e317b0
Parents: ae37410
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 07:27:06 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 07:27:06 2014 -0500

--
 debian/cassandra.in.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/420c6851/debian/cassandra.in.sh
--
diff --git a/debian/cassandra.in.sh b/debian/cassandra.in.sh
index 4da19d8..efb7abb 100644
--- a/debian/cassandra.in.sh
+++ b/debian/cassandra.in.sh
@@ -26,5 +26,5 @@ CLASSPATH=$CLASSPATH:$EXTRA_CLASSPATH
 if [ $JVM_VENDOR != OpenJDK -o $JVM_VERSION \ 1.6.0 ] \
   || [ $JVM_VERSION = 1.6.0 -a $JVM_PATCH_VERSION -ge 23 ]
 then
-JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar
+JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.6.jar
 fi



[2/6] git commit: fix jamm ver in debian

2014-07-10 Thread brandonwilliams
fix jamm ver in debian


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/420c6851
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/420c6851
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/420c6851

Branch: refs/heads/cassandra-2.1.0
Commit: 420c68511417e917925898e8c0637c9df3e317b0
Parents: ae37410
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 07:27:06 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 07:27:06 2014 -0500

--
 debian/cassandra.in.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/420c6851/debian/cassandra.in.sh
--
diff --git a/debian/cassandra.in.sh b/debian/cassandra.in.sh
index 4da19d8..efb7abb 100644
--- a/debian/cassandra.in.sh
+++ b/debian/cassandra.in.sh
@@ -26,5 +26,5 @@ CLASSPATH=$CLASSPATH:$EXTRA_CLASSPATH
 if [ $JVM_VENDOR != OpenJDK -o $JVM_VERSION \ 1.6.0 ] \
   || [ $JVM_VERSION = 1.6.0 -a $JVM_PATCH_VERSION -ge 23 ]
 then
-JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.5.jar
+JAVA_AGENT=$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.2.6.jar
 fi



[4/6] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-10 Thread brandonwilliams
Merge branch 'cassandra-2.1.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/4d8fea19
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4d8fea19
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4d8fea19

Branch: refs/heads/trunk
Commit: 4d8fea198c15075f4719c1aabf4abc1becb610c8
Parents: 581ce63 420c685
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 07:27:14 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 07:27:14 2014 -0500

--
 debian/cassandra.in.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--




[jira] [Commented] (CASSANDRA-7524) cqlsh fails when version number parts are not int

2014-07-10 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057419#comment-14057419
 ] 

Brandon Williams commented on CASSANDRA-7524:
-

[~tuukka.mustonen] I fixed that in 420c68511, but it's not related to this 
issue.

 cqlsh fails when version number parts are not int
 -

 Key: CASSANDRA-7524
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7524
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
Reporter: Alexander Bulaev
Assignee: Mikhail Stepura
Priority: Trivial
  Labels: cqlsh
 Fix For: 2.1.0


 {code}
 alexbool@gibson ~ cqlsh
 Traceback (most recent call last):
   File /usr/bin/cqlsh, line 1894, in module
 main(*read_options(sys.argv[1:], os.environ))
   File /usr/bin/cqlsh, line 1877, in main
 single_statement=options.execute)
   File /usr/bin/cqlsh, line 496, in __init__
 self.get_connection_versions()
   File /usr/bin/cqlsh, line 595, in get_connection_versions
 self.cass_ver_tuple = tuple(map(int, vers['build'].split('-', 
 1)[0].split('.')[:3]))
 ValueError: invalid literal for int() with base 10: '0~rc2'
 {code}
 I used cassandra 2.1-rc2 debs from Apache repository



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7532) Cassandra 2.0.9 crashes with ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,334 CassandraDaemon.java (line 199) Exception in thread Thread[CompactionExecutor:216,

2014-07-10 Thread Ivan Kudryavtsev (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Kudryavtsev updated CASSANDRA-7532:


Environment: 
Ubuntu 12.04 in KVM 4core/4GB RAM/Ext4overLVM
Oracle Java 7

java version 1.7.0_60
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)


  was:
Ubuntu 12.04 in KVM 4core/4GB RAM/Ext4overLVM
Oracle Java 8


 Cassandra 2.0.9 crashes with ERROR [CompactionExecutor:216] 2014-07-10 
 14:26:08,334 CassandraDaemon.java (line 199) Exception in thread 
 Thread[CompactionExecutor:216,1,main]
 -

 Key: CASSANDRA-7532
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7532
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Ubuntu 12.04 in KVM 4core/4GB RAM/Ext4overLVM
 Oracle Java 7
 java version 1.7.0_60
 Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
 Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)
Reporter: Ivan Kudryavtsev
 Fix For: 2.0.9

 Attachments: cassandra.yaml


 System crashed with
 ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,320 CassandraDaemon.java 
 (line 199) Exception in thread Thread[CompactionExecutor:216,1,main]
 ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,325 CassandraDaemon.java 
 (line 199) Exception in thread Thread[CompactionExecutor:216,1,main]
 ERROR [CompactionExecutor:216] 2014-07-10 14:26:08,334 CassandraDaemon.java 
 (line 199) Exception in thread Thread[CompactionExecutor:216,1,main]
 Unable to repeat yet, works after restart.
 Installation is local, not clustered. Data table schema below. Enabled 
 internal user/password authentication.
 --
 CREATE TABLE sflowdata (
   pk timeuuid,
   when bigint,
   samplesequenceno bigint,
   bgp_localpref int,
   bgp_nexthop text,
   countryfrom text,
   countryto text,
   dst_as int,
   dst_as_path text,
   dst_peer_as int,
   dstip text,
   dstmac text,
   dstsubnetmask int,
   headerbytes text,
   headerlen int,
   headerprotocol int,
   in_priority int,
   in_vlan int,
   inputport int,
   ipprotocol int,
   ipsize int,
   iptos int,
   ipttl int,
   meanskipcount int,
   my_as int,
   nexthop text,
   out_priority int,
   out_vlan int,
   outputport int,
   sampledpacketsize int,
   src_as int,
   src_peer_as int,
   srcip text,
   srcmac text,
   srcsubnetmask int,
   strippedbytes int,
   tcpdstport int,
   tcpflags int,
   tcpsrcport int,
   PRIMARY KEY ((pk), when, samplesequenceno)
 ) WITH
   bloom_filter_fp_chance=0.01 AND
   caching='KEYS_ONLY' AND
   comment='' AND
   dclocal_read_repair_chance=0.10 AND
   gc_grace_seconds=864000 AND
   index_interval=128 AND
   read_repair_chance=0.00 AND
   replicate_on_write='true' AND
   populate_io_cache_on_flush='false' AND
   default_time_to_live=0 AND
   speculative_retry='99.0PERCENTILE' AND
   memtable_flush_period_in_ms=0 AND
   compaction={'class': 'SizeTieredCompactionStrategy'} AND
   compression={'sstable_compression': 'LZ4Compressor'};
 CREATE INDEX bgp_localpref_idx ON sflowdata (bgp_localpref);
 CREATE INDEX bgp_nexthop_idx ON sflowdata (bgp_nexthop);
 CREATE INDEX countryfrom_idx ON sflowdata (countryfrom);
 CREATE INDEX countryto_idx ON sflowdata (countryto);
 CREATE INDEX dstas_idx ON sflowdata (dst_as);
 CREATE INDEX dst_as_path_idx ON sflowdata (dst_as_path);
 CREATE INDEX dstpeer_idx ON sflowdata (dst_peer_as);
 CREATE INDEX dstip_idx ON sflowdata (dstip);
 CREATE INDEX dstmac_idx ON sflowdata (dstmac);
 CREATE INDEX dstsubnetmask_idx ON sflowdata (dstsubnetmask);
 CREATE INDEX headerbytes_idx ON sflowdata (headerbytes);
 CREATE INDEX headerlen_idx ON sflowdata (headerlen);
 CREATE INDEX headerprotocol_idx ON sflowdata (headerprotocol);
 CREATE INDEX in_priority_idx ON sflowdata (in_priority);
 CREATE INDEX in_vlan_idx ON sflowdata (in_vlan);
 CREATE INDEX inputport_idx ON sflowdata (inputport);
 CREATE INDEX ipprotocol_idx ON sflowdata (ipprotocol);
 CREATE INDEX ipsize_idx ON sflowdata (ipsize);
 CREATE INDEX iptos_idx ON sflowdata (iptos);
 CREATE INDEX ipttl_idx ON sflowdata (ipttl);
 CREATE INDEX meanskipcount_idx ON sflowdata (meanskipcount);
 CREATE INDEX my_as_idx ON sflowdata (my_as);
 CREATE INDEX nexthop_idx ON sflowdata (nexthop);
 CREATE INDEX out_priority_idx ON sflowdata (out_priority);
 CREATE INDEX out_vlan_idx ON sflowdata (out_vlan);
 CREATE INDEX outputport_idx ON sflowdata (outputport);
 CREATE INDEX sampledpacketsize_idx ON sflowdata (sampledpacketsize);
 CREATE INDEX src_as_idx ON sflowdata (src_as);
 CREATE INDEX src_peer_as_idx ON sflowdata (src_peer_as);
 CREATE INDEX srcip_idx ON sflowdata 

Git Push Summary

2014-07-10 Thread slebresne
Repository: cassandra
Updated Tags:  refs/tags/2.1.0-rc3-tentative [deleted] 0bc98414c


[jira] [Updated] (CASSANDRA-7528) certificate not validated for internode SSL encryption.

2014-07-10 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7528:


Attachment: 7528.txt

Patch to log a warning for any expired certs the first time an ssl context is 
requested (ie, at startup)

 certificate not validated for internode SSL encryption.
 ---

 Key: CASSANDRA-7528
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7528
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Amazon Linux on various AWS EC2 instance types.
Reporter: Joseph Clark
Assignee: Brandon Williams
 Attachments: 7528.txt


 An expired certificate may be used to encrypt internode communication.
 To reproduce, set the server_encryption_options to enable internode 
 encryption. Add the private key to the specified .keystore, and an expired 
 certificate generated using the private key to the specified truststore. The 
 same keys are used far all cassandra nodes in the cluster. 
 When cassandra is started, it is able to communicate with other cassandra 
 nodes even though the certificate is expired.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Git Push Summary

2014-07-10 Thread slebresne
Repository: cassandra
Updated Tags:  refs/tags/cassandra-2.1.0-rc3 [created] bfc7f2805


[jira] [Updated] (CASSANDRA-7470) java.lang.AssertionError are causing cql responses to always go to streamId = 0 instead of the request sending streamId

2014-07-10 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-7470:


Reviewer: Tyler Hobbs

 java.lang.AssertionError are causing cql responses to always go to streamId = 
 0 instead of the request sending streamId
 ---

 Key: CASSANDRA-7470
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7470
 Project: Cassandra
  Issue Type: Bug
  Components: API
 Environment: CQL native interface
Reporter: Dominic Letz
Priority: Trivial
  Labels: cql
 Attachments: letz.patch


 When triggering an unexpected assertion like the one below then then the 
 ExecuteMessage.java is catching that and generates a response with a streamId 
 = 0.
 When sending multiple queries at the same time on different streams this 
 makes it impossible to know which of those queries failed.
 ERROR [Native-Transport-Requests:455] 2014-06-27 02:20:38,484 
 ErrorMessage.java (line 222) Unexpected exception during request
 java.lang.AssertionError: Added column does not sort as the last column
 at 
 org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:115)
 at 
 org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardHead(AbstractQueryPager.java:319)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardLast(AbstractQueryPager.java:301)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:219)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:202)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:124)
 at 
 org.apache.cassandra.service.pager.SliceQueryPager.fetchPage(SliceQueryPager.java:35)
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:232)
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
 at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:158)
 at 
 org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:309)
 at 
 org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:132)
 at 
 org.apache.cassandra.transport.Message$Dispatcher.messageReceived(Message.java:304)
 at 
 org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
 at 
 org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-5483) Repair tracing

2014-07-10 Thread Ben Chan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057548#comment-14057548
 ] 

Ben Chan commented on CASSANDRA-5483:
-

A few things to note about 5483-16:

Just to emphasize: these are corner-cases and deoptimizations that may not ever 
matter in practice. Even if the decision is to not fix them, I wanted to note 
their existence.

*(1)*
If remote nodes have different config values for {{tracetype_repair_ttl}}, then 
remote traces will end up with a different ttl. Having the trace for a given 
session partially disappear may be surprising to the user.

The approach 5483-15 took was to use the ttl configured on the node being 
repaired.

*(2)*
I don't know whether this will ever arise in practice, but I thought I'd note: 
If server versions are ever mixed, then an unknown trace type could be sent 
over the wire, causing an out-of-bounds array access during deserialization.

The approach 5483-15 took was almost a no-op on the remote end (the tracing 
session was created, but nothing was traced). This is still not quite right. 
Better would be to log an error and not create the session at all.

It might still possibly make sense to create the session anyway in the case of 
A-B-C tracestate propagation, but that might be stretching things.

*(3)*
Activity notification for every local repair trace starts a new exponential 
backoff polling cycle more often than necessary.

Of course, I can't say whether this extra resource usage will actually matter 
in practice (only practice can tell).



Okay, so what you meant was to change tracetype to be an actual Enum type (I 
can be a little dense sometimes, and code leaves far less room for ambiguity).

One thing I was thinking forward to with bitmasks was flexible subsetting of 
traces and notifications. Tracing may not ever need trace levels or flexible 
subsetting, but I thought I'd note the idea for future reference.

{noformat}
// pseudocode; please excuse the bad naming sense.
REPAIR_0 = 0b001  MIN_SHIFT;
REPAIR_1 = 0b010  MIN_SHIFT;
REPAIR_2 = 0b100  MIN_SHIFT;

// read zero and up, etc
REPAIR_0U = REPAIR_0 | REPAIR_1 | REPAIR_2;
REPAIR_1U =REPAIR_1 | REPAIR_2;

NOTIFY_0 = 0b001;
NOTIFY_1 = 0b010;
NOTIFY_2 = 0b100;
NOTIFY_0U = ...;
NOTIFY_1U = ...;

val = config.get_val();

trace(REPAIR_0, only traced for REPAIR_0; superseded in the more verbose 
traces);
trace(REPAIR_0U, always traced for repair);
trace(REPAIR_1U, traced at REPAIR_1 and up);
trace(REPAIR_2 | val, only at REPAIR_2, or during the tracetypes specified in 
val);
trace(REPAIR_1U  ~val, only at REPAIR_1 and up, excluding the tracetypes 
specified in val);
trace(REPAIR_2 | REPAIR_0, for some reason, we don't want to trace this at 
REPAIR_1);

// you could even have semi-orthogonal subsetting and levels
trace(REPAIR_0U | NOTIFY_1, notify at NOTIFY_1 only);
trace(REPAIR_1U | NOTIFY_0U, notify at all NOTIFY levels, but only when 
tracing REPAIR_1 and up);

awaitNotification(NOTIFY_1U); // notify me for NOTIFY_1 and up.
{noformat}

I believe log4j does something similar with what they call markers.

Of course, you can do this with Enum and EnumSet too (though more verbosely).



Aside from lyubent's nit (and possibly the issues in section 1), are there any 
other issues that prevent this patch from being minimally useful?

Or even better, is there at least an alpha period where {{trunk}} is still 
allowed to make breaking changes to the api, protocol, etc? It's hard to forsee 
everything.


 Repair tracing
 --

 Key: CASSANDRA-5483
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5483
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Yuki Morishita
Assignee: Ben Chan
Priority: Minor
  Labels: repair
 Attachments: 5483-full-trunk.txt, 
 5483-v06-04-Allow-tracing-ttl-to-be-configured.patch, 
 5483-v06-05-Add-a-command-column-to-system_traces.events.patch, 
 5483-v06-06-Fix-interruption-in-tracestate-propagation.patch, 
 5483-v07-07-Better-constructor-parameters-for-DebuggableThreadPoolExecutor.patch,
  5483-v07-08-Fix-brace-style.patch, 
 5483-v07-09-Add-trace-option-to-a-more-complete-set-of-repair-functions.patch,
  5483-v07-10-Correct-name-of-boolean-repairedAt-to-fullRepair.patch, 
 5483-v08-11-Shorten-trace-messages.-Use-Tracing-begin.patch, 
 5483-v08-12-Trace-streaming-in-Differencer-StreamingRepairTask.patch, 
 5483-v08-13-sendNotification-of-local-traces-back-to-nodetool.patch, 
 5483-v08-14-Poll-system_traces.events.patch, 
 5483-v08-15-Limit-trace-notifications.-Add-exponential-backoff.patch, 
 5483-v09-16-Fix-hang-caused-by-incorrect-exit-code.patch, 
 5483-v10-17-minor-bugfixes-and-changes.patch, 
 5483-v10-rebased-and-squashed-471f5cc.patch, 5483-v11-01-squashed.patch, 
 

svn commit: r1609475 - in /cassandra/site: publish/download/index.html src/settings.py

2014-07-10 Thread slebresne
Author: slebresne
Date: Thu Jul 10 15:16:00 2014
New Revision: 1609475

URL: http://svn.apache.org/r1609475
Log:
update for 2.1-rc3

Modified:
cassandra/site/publish/download/index.html
cassandra/site/src/settings.py

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1609475r1=1609474r2=1609475view=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Thu Jul 10 15:16:00 2014
@@ -98,16 +98,16 @@
 
   h2 class=hdrDevelopment Cassandra Server Releases (not production 
ready)/h2
   p
-  The latest development release is 2.1.0-rc2 (released on
-  2014-06-26).
+  The latest development release is 2.1.0-rc3 (released on
+  2014-07-10).
   /p
 
   ul
 li
-a class=filename 
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-bin.tar.gz;apache-cassandra-2.1.0-rc2-bin.tar.gz/a
-[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-bin.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-bin.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-bin.tar.gz.sha1;SHA1/a]
+a class=filename 
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-bin.tar.gz;apache-cassandra-2.1.0-rc3-bin.tar.gz/a
+[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-bin.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-bin.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-bin.tar.gz.sha1;SHA1/a]
 /li
   /ul
   
@@ -186,10 +186,10 @@
   
   
 li
-a class=filename 
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-src.tar.gz;apache-cassandra-2.1.0-rc2-src.tar.gz/a
-[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-src.tar.gz.asc;PGP/a]
-[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-src.tar.gz.md5;MD5/a]
-[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc2-src.tar.gz.sha1;SHA1/a]
+a class=filename 
href=http://www.apache.org/dyn/closer.cgi?path=/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-src.tar.gz;apache-cassandra-2.1.0-rc3-src.tar.gz/a
+[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-src.tar.gz.asc;PGP/a]
+[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-src.tar.gz.md5;MD5/a]
+[a 
href=http://www.apache.org/dist/cassandra/2.1.0/apache-cassandra-2.1.0-rc3-src.tar.gz.sha1;SHA1/a]
 /li
   
   /ul 

Modified: cassandra/site/src/settings.py
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1609475r1=1609474r2=1609475view=diff
==
--- cassandra/site/src/settings.py (original)
+++ cassandra/site/src/settings.py Thu Jul 10 15:16:00 2014
@@ -100,8 +100,8 @@ class CassandraDef(object):
 veryoldstable_exists = True
 stable_version = '2.0.9'
 stable_release_date = '2014-06-30'
-devel_version = '2.1.0-rc2'
-devel_release_date = '2014-06-26'
+devel_version = '2.1.0-rc3'
+devel_release_date = '2014-07-10'
 devel_exists = True
 _apache_base_url = 'http://www.apache.org'
 _svn_base_url = 'https://svn.apache.org/repos/asf'




[jira] [Commented] (CASSANDRA-7395) Support for pure user-defined functions (UDF)

2014-07-10 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057588#comment-14057588
 ] 

Jonathan Ellis commented on CASSANDRA-7395:
---

bq. Regarding the deterministic keyword. It's possible to define 
non-deterministic functions as deterministic in Oracle for example and use it 
in a functional index (which does not work, of course). The keyword's just 
there to prevent accidental use of non-deterministic functions.

Postgresql uses immutable|stable|volatile keywoards for similar reasons, but I 
don't think making our query planner powerful enough to care about the 
distinction is in-scope here:

{quote}
IMMUTABLE indicates that the function cannot modify the database and always 
returns the same result when given the same argument values; that is, it does 
not do database lookups or otherwise use information not directly present in 
its argument list. If this option is given, any call of the function with 
all-constant arguments can be immediately replaced with the function value.

STABLE indicates that the function cannot modify the database, and that within 
a single table scan it will consistently return the same result for the same 
argument values, but that its result could change across SQL statements. This 
is the appropriate selection for functions whose results depend on database 
lookups, parameter variables (such as the current time zone), etc. (It is 
inappropriate for AFTER triggers that wish to query rows modified by the 
current command.) Also note that the current_timestamp family of functions 
qualify as stable, since their values do not change within a transaction.

VOLATILE indicates that the function value can change even within a single 
table scan, so no optimizations can be made. Relatively few database functions 
are volatile in this sense; some examples are random(), currval(), timeofday(). 
But note that any function that has side-effects must be classified volatile, 
even if its result is quite predictable, to prevent calls from being optimized 
away; an example is setval().
{quote}

http://www.postgresql.org/docs/9.1/static/sql-createfunction.html

 Support for pure user-defined functions (UDF)
 -

 Key: CASSANDRA-7395
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7395
 Project: Cassandra
  Issue Type: New Feature
  Components: API, Core
Reporter: Jonathan Ellis
  Labels: cql
 Fix For: 3.0

 Attachments: 7395-v2.diff, 7395.diff


 We have some tickets for various aspects of UDF (CASSANDRA-4914, 
 CASSANDRA-5970, CASSANDRA-4998) but they all suffer from various degrees of 
 ocean-boiling.
 Let's start with something simple: allowing pure user-defined functions in 
 the SELECT clause of a CQL query.  That's it.
 By pure I mean, must depend only on the input parameters.  No side effects. 
  No exposure to C* internals.  Column values in, result out.  
 http://en.wikipedia.org/wiki/Pure_function



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6454) Pig support for hadoop CqlInputFormat

2014-07-10 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057583#comment-14057583
 ] 

Brandon Williams commented on CASSANDRA-6454:
-

Looks good, though some of those params feel like YAGNI to me, but I guess if 
we already have them we might as well put them in.  Can you post a 2.1 branch 
too?

 Pig support for hadoop CqlInputFormat
 -

 Key: CASSANDRA-6454
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6454
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Reporter: Alex Liu
Assignee: Alex Liu
 Fix For: 2.0.10

 Attachments: 6454-2.0-branch.txt, 6454-v2-2.0-branch.txt


 CASSANDRA-6311 adds new CqlInputFormat, we need add the Pig support for it



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7515) Clean up remains of non-working stack-allocation optimisation

2014-07-10 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057657#comment-14057657
 ] 

Benedict commented on CASSANDRA-7515:
-

Patch available 
[here|https://github.com/belliottsmith/cassandra/tree/7515-cleanup]

 Clean up remains of non-working stack-allocation optimisation
 -

 Key: CASSANDRA-7515
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7515
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Benedict
Priority: Trivial
 Fix For: 2.1.1


 Can make Allocation fields final 
 (https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java#L581-L585)
  and get rid of the most likely redundant clone() 
 (https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/Memtable.java#L158-L160)
  + remove the misleading comments.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7470) java.lang.AssertionError are causing cql responses to always go to streamId = 0 instead of the request sending streamId

2014-07-10 Thread Tyler Hobbs (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7470?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Hobbs updated CASSANDRA-7470:
---

Attachment: 7470.txt

The actual fix that's needed is to catch Throwables in 
Message.Dispatcher.messageReceived() (instead of just catching Exception) so 
that we cover QueryMessage and BatchMessage as well as ExecuteMessage.

The attached 7470.txt applies to 1.2.

 java.lang.AssertionError are causing cql responses to always go to streamId = 
 0 instead of the request sending streamId
 ---

 Key: CASSANDRA-7470
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7470
 Project: Cassandra
  Issue Type: Bug
  Components: API
 Environment: CQL native interface
Reporter: Dominic Letz
Priority: Trivial
  Labels: cql
 Fix For: 1.2.19, 2.0.10, 2.1.0

 Attachments: 7470.txt, letz.patch


 When triggering an unexpected assertion like the one below then then the 
 ExecuteMessage.java is catching that and generates a response with a streamId 
 = 0.
 When sending multiple queries at the same time on different streams this 
 makes it impossible to know which of those queries failed.
 ERROR [Native-Transport-Requests:455] 2014-06-27 02:20:38,484 
 ErrorMessage.java (line 222) Unexpected exception during request
 java.lang.AssertionError: Added column does not sort as the last column
 at 
 org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:115)
 at 
 org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardHead(AbstractQueryPager.java:319)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardLast(AbstractQueryPager.java:301)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:219)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:202)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:124)
 at 
 org.apache.cassandra.service.pager.SliceQueryPager.fetchPage(SliceQueryPager.java:35)
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:232)
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
 at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:158)
 at 
 org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:309)
 at 
 org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:132)
 at 
 org.apache.cassandra.transport.Message$Dispatcher.messageReceived(Message.java:304)
 at 
 org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
 at 
 org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7528) certificate not validated for internode SSL encryption.

2014-07-10 Thread Jason Brown (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Brown updated CASSANDRA-7528:
---

Reviewer: Jason Brown

 certificate not validated for internode SSL encryption.
 ---

 Key: CASSANDRA-7528
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7528
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Amazon Linux on various AWS EC2 instance types.
Reporter: Joseph Clark
Assignee: Brandon Williams
 Attachments: 7528.txt


 An expired certificate may be used to encrypt internode communication.
 To reproduce, set the server_encryption_options to enable internode 
 encryption. Add the private key to the specified .keystore, and an expired 
 certificate generated using the private key to the specified truststore. The 
 same keys are used far all cassandra nodes in the cluster. 
 When cassandra is started, it is able to communicate with other cassandra 
 nodes even though the certificate is expired.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7528) certificate not validated for internode SSL encryption.

2014-07-10 Thread Jason Brown (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057676#comment-14057676
 ] 

Jason Brown commented on CASSANDRA-7528:


lgtm, +1. I wonder, though, if checking if the cert is an instance of 
X509Certificate is any better than calling cert.getType().equals(X.509). 

 certificate not validated for internode SSL encryption.
 ---

 Key: CASSANDRA-7528
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7528
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Amazon Linux on various AWS EC2 instance types.
Reporter: Joseph Clark
Assignee: Brandon Williams
 Attachments: 7528.txt


 An expired certificate may be used to encrypt internode communication.
 To reproduce, set the server_encryption_options to enable internode 
 encryption. Add the private key to the specified .keystore, and an expired 
 certificate generated using the private key to the specified truststore. The 
 same keys are used far all cassandra nodes in the cluster. 
 When cassandra is started, it is able to communicate with other cassandra 
 nodes even though the certificate is expired.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[03/10] git commit: Warn when SSL certs have expired.

2014-07-10 Thread brandonwilliams
Warn when SSL certs have expired.

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-7528


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/11351e3c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/11351e3c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/11351e3c

Branch: refs/heads/cassandra-2.1
Commit: 11351e3c0dd20e60e1f21be6cfa966377a999f83
Parents: 6893130
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:08:58 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:08:58 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3553e4a..6b4e44b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.10
+ * Warn when SSL certificates have expired (CASSANDRA-7528)
  * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
  * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
  * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM

http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/src/java/org/apache/cassandra/security/SSLFactory.java
--
diff --git a/src/java/org/apache/cassandra/security/SSLFactory.java 
b/src/java/org/apache/cassandra/security/SSLFactory.java
index 73edc05..3cb0670 100644
--- a/src/java/org/apache/cassandra/security/SSLFactory.java
+++ b/src/java/org/apache/cassandra/security/SSLFactory.java
@@ -23,6 +23,9 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.security.KeyStore;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.Enumeration;
 import java.util.Set;
 
 import javax.net.ssl.KeyManagerFactory;
@@ -48,6 +51,8 @@ public final class SSLFactory
 {
 private static final Logger logger = 
LoggerFactory.getLogger(SSLFactory.class);
 
+private static boolean checkedExpiry = false;
+
 public static SSLServerSocket getServerSocket(EncryptionOptions options, 
InetAddress address, int port) throws IOException
 {
 SSLContext ctx = createSSLContext(options, true);
@@ -114,6 +119,20 @@ public final class SSLFactory
 KeyManagerFactory kmf = 
KeyManagerFactory.getInstance(options.algorithm);
 KeyStore ks = KeyStore.getInstance(options.store_type);
 ks.load(ksf, options.keystore_password.toCharArray());
+if (!checkedExpiry)
+{
+for (EnumerationString aliases = ks.aliases(); 
aliases.hasMoreElements(); )
+{
+String alias = aliases.nextElement();
+if (ks.getCertificate(alias).getType().equals(X.509))
+{
+Date expires = ((X509Certificate) 
ks.getCertificate(alias)).getNotAfter();
+if (expires.before(new Date()))
+logger.warn(Certificate for {} expired on {}, 
alias, expires);
+}
+}
+checkedExpiry = true;
+}
 kmf.init(ks, options.keystore_password.toCharArray());
 
 ctx.init(kmf.getKeyManagers(), trustManagers, null);



[09/10] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-10 Thread brandonwilliams
Merge branch 'cassandra-2.1.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/6cc03b96
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6cc03b96
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6cc03b96

Branch: refs/heads/cassandra-2.1
Commit: 6cc03b96060c1c2cc7f3a0ee25db7bd89522f934
Parents: 4d8fea1 1a9d4b8
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:10:44 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:10:44 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6cc03b96/CHANGES.txt
--



[01/10] git commit: Warn when SSL certs have expired.

2014-07-10 Thread brandonwilliams
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 6893130e8 - 11351e3c0
  refs/heads/cassandra-2.1 4d8fea198 - 6cc03b960
  refs/heads/cassandra-2.1.0 420c68511 - 1a9d4b89d
  refs/heads/trunk bb2fdd018 - 0b89ae260


Warn when SSL certs have expired.

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-7528


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/11351e3c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/11351e3c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/11351e3c

Branch: refs/heads/cassandra-2.0
Commit: 11351e3c0dd20e60e1f21be6cfa966377a999f83
Parents: 6893130
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:08:58 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:08:58 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3553e4a..6b4e44b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.10
+ * Warn when SSL certificates have expired (CASSANDRA-7528)
  * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
  * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
  * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM

http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/src/java/org/apache/cassandra/security/SSLFactory.java
--
diff --git a/src/java/org/apache/cassandra/security/SSLFactory.java 
b/src/java/org/apache/cassandra/security/SSLFactory.java
index 73edc05..3cb0670 100644
--- a/src/java/org/apache/cassandra/security/SSLFactory.java
+++ b/src/java/org/apache/cassandra/security/SSLFactory.java
@@ -23,6 +23,9 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.security.KeyStore;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.Enumeration;
 import java.util.Set;
 
 import javax.net.ssl.KeyManagerFactory;
@@ -48,6 +51,8 @@ public final class SSLFactory
 {
 private static final Logger logger = 
LoggerFactory.getLogger(SSLFactory.class);
 
+private static boolean checkedExpiry = false;
+
 public static SSLServerSocket getServerSocket(EncryptionOptions options, 
InetAddress address, int port) throws IOException
 {
 SSLContext ctx = createSSLContext(options, true);
@@ -114,6 +119,20 @@ public final class SSLFactory
 KeyManagerFactory kmf = 
KeyManagerFactory.getInstance(options.algorithm);
 KeyStore ks = KeyStore.getInstance(options.store_type);
 ks.load(ksf, options.keystore_password.toCharArray());
+if (!checkedExpiry)
+{
+for (EnumerationString aliases = ks.aliases(); 
aliases.hasMoreElements(); )
+{
+String alias = aliases.nextElement();
+if (ks.getCertificate(alias).getType().equals(X.509))
+{
+Date expires = ((X509Certificate) 
ks.getCertificate(alias)).getNotAfter();
+if (expires.before(new Date()))
+logger.warn(Certificate for {} expired on {}, 
alias, expires);
+}
+}
+checkedExpiry = true;
+}
 kmf.init(ks, options.keystore_password.toCharArray());
 
 ctx.init(kmf.getKeyManagers(), trustManagers, null);



[10/10] git commit: Merge branch 'cassandra-2.1' into trunk

2014-07-10 Thread brandonwilliams
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/0b89ae26
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0b89ae26
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0b89ae26

Branch: refs/heads/trunk
Commit: 0b89ae2601d6a97734087e4e3e05c5750bc5d545
Parents: bb2fdd0 6cc03b9
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:10:56 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:10:56 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0b89ae26/CHANGES.txt
--



[07/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-10 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1a9d4b89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1a9d4b89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1a9d4b89

Branch: refs/heads/trunk
Commit: 1a9d4b89d5331d8677dd9d59795d39c3a4138610
Parents: 420c685 11351e3
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:10:32 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:10:32 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a9d4b89/CHANGES.txt
--
diff --cc CHANGES.txt
index e459638,6b4e44b..5132976
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,27 -1,5 +1,28 @@@
 -2.0.10
 +2.1.0-final
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 +Merged from 2.0:
+  * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 +
 +
 +2.1.0-rc3
 + * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
 + * Introduce CQL support for stress tool (CASSANDRA-6146)
 + * Fix ClassCastException processing expired messages (CASSANDRA-7496)
 + * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
 + * Remove left-over populate_io_cache_on_flush and replicate_on_write
 +   uses (CASSANDRA-7493)
 + * (Windows) handle spaces in path names (CASSANDRA-7451)
 + * Ensure writes have completed after dropping a table, before recycling
 +   commit log segments (CASSANDRA-7437)
 + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
 + * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
 + * Properly reject unknown UDT field (CASSANDRA-7484)
 +Merged from 2.0:
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
   * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
   * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
   * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM



[05/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-10 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1a9d4b89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1a9d4b89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1a9d4b89

Branch: refs/heads/cassandra-2.1
Commit: 1a9d4b89d5331d8677dd9d59795d39c3a4138610
Parents: 420c685 11351e3
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:10:32 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:10:32 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a9d4b89/CHANGES.txt
--
diff --cc CHANGES.txt
index e459638,6b4e44b..5132976
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,27 -1,5 +1,28 @@@
 -2.0.10
 +2.1.0-final
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 +Merged from 2.0:
+  * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 +
 +
 +2.1.0-rc3
 + * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
 + * Introduce CQL support for stress tool (CASSANDRA-6146)
 + * Fix ClassCastException processing expired messages (CASSANDRA-7496)
 + * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
 + * Remove left-over populate_io_cache_on_flush and replicate_on_write
 +   uses (CASSANDRA-7493)
 + * (Windows) handle spaces in path names (CASSANDRA-7451)
 + * Ensure writes have completed after dropping a table, before recycling
 +   commit log segments (CASSANDRA-7437)
 + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
 + * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
 + * Properly reject unknown UDT field (CASSANDRA-7484)
 +Merged from 2.0:
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
   * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
   * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
   * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM



[06/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-10 Thread brandonwilliams
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1a9d4b89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1a9d4b89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1a9d4b89

Branch: refs/heads/cassandra-2.1.0
Commit: 1a9d4b89d5331d8677dd9d59795d39c3a4138610
Parents: 420c685 11351e3
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:10:32 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:10:32 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a9d4b89/CHANGES.txt
--
diff --cc CHANGES.txt
index e459638,6b4e44b..5132976
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,27 -1,5 +1,28 @@@
 -2.0.10
 +2.1.0-final
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 +Merged from 2.0:
+  * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 +
 +
 +2.1.0-rc3
 + * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
 + * Introduce CQL support for stress tool (CASSANDRA-6146)
 + * Fix ClassCastException processing expired messages (CASSANDRA-7496)
 + * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
 + * Remove left-over populate_io_cache_on_flush and replicate_on_write
 +   uses (CASSANDRA-7493)
 + * (Windows) handle spaces in path names (CASSANDRA-7451)
 + * Ensure writes have completed after dropping a table, before recycling
 +   commit log segments (CASSANDRA-7437)
 + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
 + * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
 + * Properly reject unknown UDT field (CASSANDRA-7484)
 +Merged from 2.0:
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
   * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
   * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
   * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM



[08/10] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-10 Thread brandonwilliams
Merge branch 'cassandra-2.1.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/6cc03b96
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6cc03b96
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6cc03b96

Branch: refs/heads/trunk
Commit: 6cc03b96060c1c2cc7f3a0ee25db7bd89522f934
Parents: 4d8fea1 1a9d4b8
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:10:44 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:10:44 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6cc03b96/CHANGES.txt
--



[02/10] git commit: Warn when SSL certs have expired.

2014-07-10 Thread brandonwilliams
Warn when SSL certs have expired.

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-7528


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/11351e3c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/11351e3c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/11351e3c

Branch: refs/heads/cassandra-2.1.0
Commit: 11351e3c0dd20e60e1f21be6cfa966377a999f83
Parents: 6893130
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:08:58 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:08:58 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3553e4a..6b4e44b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.10
+ * Warn when SSL certificates have expired (CASSANDRA-7528)
  * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
  * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
  * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM

http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/src/java/org/apache/cassandra/security/SSLFactory.java
--
diff --git a/src/java/org/apache/cassandra/security/SSLFactory.java 
b/src/java/org/apache/cassandra/security/SSLFactory.java
index 73edc05..3cb0670 100644
--- a/src/java/org/apache/cassandra/security/SSLFactory.java
+++ b/src/java/org/apache/cassandra/security/SSLFactory.java
@@ -23,6 +23,9 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.security.KeyStore;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.Enumeration;
 import java.util.Set;
 
 import javax.net.ssl.KeyManagerFactory;
@@ -48,6 +51,8 @@ public final class SSLFactory
 {
 private static final Logger logger = 
LoggerFactory.getLogger(SSLFactory.class);
 
+private static boolean checkedExpiry = false;
+
 public static SSLServerSocket getServerSocket(EncryptionOptions options, 
InetAddress address, int port) throws IOException
 {
 SSLContext ctx = createSSLContext(options, true);
@@ -114,6 +119,20 @@ public final class SSLFactory
 KeyManagerFactory kmf = 
KeyManagerFactory.getInstance(options.algorithm);
 KeyStore ks = KeyStore.getInstance(options.store_type);
 ks.load(ksf, options.keystore_password.toCharArray());
+if (!checkedExpiry)
+{
+for (EnumerationString aliases = ks.aliases(); 
aliases.hasMoreElements(); )
+{
+String alias = aliases.nextElement();
+if (ks.getCertificate(alias).getType().equals(X.509))
+{
+Date expires = ((X509Certificate) 
ks.getCertificate(alias)).getNotAfter();
+if (expires.before(new Date()))
+logger.warn(Certificate for {} expired on {}, 
alias, expires);
+}
+}
+checkedExpiry = true;
+}
 kmf.init(ks, options.keystore_password.toCharArray());
 
 ctx.init(kmf.getKeyManagers(), trustManagers, null);



[04/10] git commit: Warn when SSL certs have expired.

2014-07-10 Thread brandonwilliams
Warn when SSL certs have expired.

Patch by brandonwilliams, reviewed by jasobrown for CASSANDRA-7528


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/11351e3c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/11351e3c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/11351e3c

Branch: refs/heads/trunk
Commit: 11351e3c0dd20e60e1f21be6cfa966377a999f83
Parents: 6893130
Author: Brandon Williams brandonwilli...@apache.org
Authored: Thu Jul 10 12:08:58 2014 -0500
Committer: Brandon Williams brandonwilli...@apache.org
Committed: Thu Jul 10 12:08:58 2014 -0500

--
 CHANGES.txt  |  1 +
 .../apache/cassandra/security/SSLFactory.java| 19 +++
 2 files changed, 20 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3553e4a..6b4e44b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.10
+ * Warn when SSL certificates have expired (CASSANDRA-7528)
  * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
  * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
  * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM

http://git-wip-us.apache.org/repos/asf/cassandra/blob/11351e3c/src/java/org/apache/cassandra/security/SSLFactory.java
--
diff --git a/src/java/org/apache/cassandra/security/SSLFactory.java 
b/src/java/org/apache/cassandra/security/SSLFactory.java
index 73edc05..3cb0670 100644
--- a/src/java/org/apache/cassandra/security/SSLFactory.java
+++ b/src/java/org/apache/cassandra/security/SSLFactory.java
@@ -23,6 +23,9 @@ import java.io.IOException;
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.security.KeyStore;
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.Enumeration;
 import java.util.Set;
 
 import javax.net.ssl.KeyManagerFactory;
@@ -48,6 +51,8 @@ public final class SSLFactory
 {
 private static final Logger logger = 
LoggerFactory.getLogger(SSLFactory.class);
 
+private static boolean checkedExpiry = false;
+
 public static SSLServerSocket getServerSocket(EncryptionOptions options, 
InetAddress address, int port) throws IOException
 {
 SSLContext ctx = createSSLContext(options, true);
@@ -114,6 +119,20 @@ public final class SSLFactory
 KeyManagerFactory kmf = 
KeyManagerFactory.getInstance(options.algorithm);
 KeyStore ks = KeyStore.getInstance(options.store_type);
 ks.load(ksf, options.keystore_password.toCharArray());
+if (!checkedExpiry)
+{
+for (EnumerationString aliases = ks.aliases(); 
aliases.hasMoreElements(); )
+{
+String alias = aliases.nextElement();
+if (ks.getCertificate(alias).getType().equals(X.509))
+{
+Date expires = ((X509Certificate) 
ks.getCertificate(alias)).getNotAfter();
+if (expires.before(new Date()))
+logger.warn(Certificate for {} expired on {}, 
alias, expires);
+}
+}
+checkedExpiry = true;
+}
 kmf.init(ks, options.keystore_password.toCharArray());
 
 ctx.init(kmf.getKeyManagers(), trustManagers, null);



[jira] [Resolved] (CASSANDRA-7528) certificate not validated for internode SSL encryption.

2014-07-10 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams resolved CASSANDRA-7528.
-

   Resolution: Fixed
Fix Version/s: 2.1.0
   2.0.10

Committed.

 certificate not validated for internode SSL encryption.
 ---

 Key: CASSANDRA-7528
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7528
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Amazon Linux on various AWS EC2 instance types.
Reporter: Joseph Clark
Assignee: Brandon Williams
 Fix For: 2.0.10, 2.1.0

 Attachments: 7528.txt


 An expired certificate may be used to encrypt internode communication.
 To reproduce, set the server_encryption_options to enable internode 
 encryption. Add the private key to the specified .keystore, and an expired 
 certificate generated using the private key to the specified truststore. The 
 same keys are used far all cassandra nodes in the cluster. 
 When cassandra is started, it is able to communicate with other cassandra 
 nodes even though the certificate is expired.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7528) certificate not validated for internode SSL encryption.

2014-07-10 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7528?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057683#comment-14057683
 ] 

Brandon Williams commented on CASSANDRA-7528:
-

AFAICT, you must cast it anyway to get to getNotAfter, so there's slight 
savings to be had with the check.

 certificate not validated for internode SSL encryption.
 ---

 Key: CASSANDRA-7528
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7528
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Amazon Linux on various AWS EC2 instance types.
Reporter: Joseph Clark
Assignee: Brandon Williams
 Fix For: 2.0.10, 2.1.0

 Attachments: 7528.txt


 An expired certificate may be used to encrypt internode communication.
 To reproduce, set the server_encryption_options to enable internode 
 encryption. Add the private key to the specified .keystore, and an expired 
 certificate generated using the private key to the specified truststore. The 
 same keys are used far all cassandra nodes in the cluster. 
 When cassandra is started, it is able to communicate with other cassandra 
 nodes even though the certificate is expired.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6454) Pig support for hadoop CqlInputFormat

2014-07-10 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057745#comment-14057745
 ] 

Brandon Williams commented on CASSANDRA-6454:
-

For 2.1, it's probably a good idea to switch all the tests to native.

 Pig support for hadoop CqlInputFormat
 -

 Key: CASSANDRA-6454
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6454
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Reporter: Alex Liu
Assignee: Alex Liu
 Fix For: 2.0.10

 Attachments: 6454-2.0-branch.txt, 6454-v2-2.0-branch.txt


 CASSANDRA-6311 adds new CqlInputFormat, we need add the Pig support for it



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ala' Alkhaldi updated CASSANDRA-7200:
-

Attachment: (was: 7200_v2.txt)

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ala' Alkhaldi updated CASSANDRA-7200:
-

Attachment: 7200_v2.txt

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7470) java.lang.AssertionError are causing cql responses to always go to streamId = 0 instead of the request sending streamId

2014-07-10 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057833#comment-14057833
 ] 

Aleksey Yeschenko commented on CASSANDRA-7470:
--

+1

 java.lang.AssertionError are causing cql responses to always go to streamId = 
 0 instead of the request sending streamId
 ---

 Key: CASSANDRA-7470
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7470
 Project: Cassandra
  Issue Type: Bug
  Components: API
 Environment: CQL native interface
Reporter: Dominic Letz
Assignee: Tyler Hobbs
Priority: Trivial
  Labels: cql
 Fix For: 1.2.19, 2.0.10, 2.1.0

 Attachments: 7470.txt, letz.patch


 When triggering an unexpected assertion like the one below then then the 
 ExecuteMessage.java is catching that and generates a response with a streamId 
 = 0.
 When sending multiple queries at the same time on different streams this 
 makes it impossible to know which of those queries failed.
 ERROR [Native-Transport-Requests:455] 2014-06-27 02:20:38,484 
 ErrorMessage.java (line 222) Unexpected exception during request
 java.lang.AssertionError: Added column does not sort as the last column
 at 
 org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:115)
 at 
 org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardHead(AbstractQueryPager.java:319)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardLast(AbstractQueryPager.java:301)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:219)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.discardFirst(AbstractQueryPager.java:202)
 at 
 org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:124)
 at 
 org.apache.cassandra.service.pager.SliceQueryPager.fetchPage(SliceQueryPager.java:35)
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:232)
 at 
 org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:62)
 at 
 org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:158)
 at 
 org.apache.cassandra.cql3.QueryProcessor.processPrepared(QueryProcessor.java:309)
 at 
 org.apache.cassandra.transport.messages.ExecuteMessage.execute(ExecuteMessage.java:132)
 at 
 org.apache.cassandra.transport.Message$Dispatcher.messageReceived(Message.java:304)
 at 
 org.jboss.netty.handler.execution.ChannelUpstreamEventRunnable.doRun(ChannelUpstreamEventRunnable.java:43)
 at 
 org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:67)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6927) Create a CQL3 based bulk OutputFormat

2014-07-10 Thread Paul Pak (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057846#comment-14057846
 ] 

Paul Pak commented on CASSANDRA-6927:
-

I'm most likely going to move the 2 config setter/getter helper methods from 
CqlConfigHelper to CqlBulkOutputFormat. I think it'll make it clearer to the 
user that these configs are to be used with the CqlBulkOutputFormat, similar to 
the static config helper methods on other Hadoop OutputFormats (e.g. 
FileOutputFormat).

 Create a CQL3 based bulk OutputFormat
 -

 Key: CASSANDRA-6927
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6927
 Project: Cassandra
  Issue Type: New Feature
  Components: Hadoop
Reporter: Paul Pak
Priority: Minor
  Labels: cql3, hadoop
 Attachments: 6927-2.0-branch-v2.txt, trunk-6927-v3.txt, trunk-6927.txt


 This is the CQL compatible version of BulkOutputFormat.  CqlOutputFormat 
 exists, but doesn't write SSTables directly, similar to 
 ColumnFamilyOutputFormat for thrift.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6927) Create a CQL3 based bulk OutputFormat

2014-07-10 Thread Paul Pak (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Pak updated CASSANDRA-6927:


Attachment: trunk-v4.txt

 Create a CQL3 based bulk OutputFormat
 -

 Key: CASSANDRA-6927
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6927
 Project: Cassandra
  Issue Type: New Feature
  Components: Hadoop
Reporter: Paul Pak
Priority: Minor
  Labels: cql3, hadoop
 Attachments: 6927-2.0-branch-v2.txt, trunk-6927-v3.txt, trunk-6927.txt


 This is the CQL compatible version of BulkOutputFormat.  CqlOutputFormat 
 exists, but doesn't write SSTables directly, similar to 
 ColumnFamilyOutputFormat for thrift.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6927) Create a CQL3 based bulk OutputFormat

2014-07-10 Thread Paul Pak (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Pak updated CASSANDRA-6927:


Attachment: (was: trunk-v4.txt)

 Create a CQL3 based bulk OutputFormat
 -

 Key: CASSANDRA-6927
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6927
 Project: Cassandra
  Issue Type: New Feature
  Components: Hadoop
Reporter: Paul Pak
Priority: Minor
  Labels: cql3, hadoop
 Attachments: 6927-2.0-branch-v2.txt, trunk-6927-v3.txt, trunk-6927.txt


 This is the CQL compatible version of BulkOutputFormat.  CqlOutputFormat 
 exists, but doesn't write SSTables directly, similar to 
 ColumnFamilyOutputFormat for thrift.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7510) Notify clients that bootstrap is finished over binary protocol

2014-07-10 Thread Joost Reuzel (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057851#comment-14057851
 ] 

Joost Reuzel commented on CASSANDRA-7510:
-

Small additional question on this from a client programmer: Does the proposed 
change of sending the STATUS_NORMAL state later also mean that until that time 
the node does not show up in the system.peers table? The bootstrap process can 
take quite some time, and when a client is started, it will typically inspect 
the system.peers table for other nodes to contact. It would be great if a 
bootstrapping node is not (yet) available there, as a fresh client instance 
will otherwise encounter the same issue as reported above. 

Finally, it would be great if the current up/down(/bootstrapping) status is 
noted in the system.peers table so a client does not have to find out the hard 
way, but I suppose that may be another JIRA item.

Thanks for the excellent support

 Notify clients that bootstrap is finished over binary protocol
 --

 Key: CASSANDRA-7510
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7510
 Project: Cassandra
  Issue Type: Bug
Reporter: Joost Reuzel
Priority: Minor
 Fix For: 2.0.10

 Attachments: 7510.txt


 Currently, Cassandra will notify clients when a new node is added to a 
 cluster. However, that node is typically not usable yet. It first needs to 
 gossip its key range and finish loading all its assigned data before it 
 allows clients to connect. Depending on the amount of data this may take 
 quite a while. The clients in the mean time have no clue about the bootstrap 
 status of that node. The only thing they can do is periodically check if it 
 will accept a connection. 
 My proposal would be to send an additional UP event when the bootstrap is 
 done, this allows clients to mark the node initially as down/unavailable and 
 simply wait for the UP event to arrive.
 Kind regards,
 Joost



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7525) Querying by multiple secondary indexes gives java.lang.IllegalArgumentException on some cases

2014-07-10 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057853#comment-14057853
 ] 

Tyler Hobbs commented on CASSANDRA-7525:


The problem is that we haven't historically supported searching across multiple 
index types, and the parallelization code from CASSANDRA-1337 also made that 
assumption.

I don't see a reason why we shouldn't be able to pick from multiple index 
types, choosing whichever is the most selective.  The patch will do that and 
remove assumptions that there is only one type of index to search across.

 Querying by multiple secondary indexes gives 
 java.lang.IllegalArgumentException on some cases
 -

 Key: CASSANDRA-7525
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7525
 Project: Cassandra
  Issue Type: Bug
Reporter: Tuukka Mustonen
Assignee: Tyler Hobbs

 Querying by:
 * non-primary key column with secondary index + collection with secondary 
 index
 * primary key column with secondary index + non-primary key column with 
 secondary index
 gives {{ErrorMessage code= [Server error] 
 message=java.lang.IllegalArgumentException: expected one element but was: 
 org.apache.cassandra.db.index.composites.CompositesSearcher@156b5576, 
 org.apache.cassandra.db.index.composites.CompositesSearcher@39b7c0f6}}
 Steps to reproduce:
 {code}
 cqlsh:cs CREATE TABLE test (
   ...   id1 text,
   ...   id2 text,
   ...   column1 text,
   ...   column2 text,
   ...   collection settext,
   ...   PRIMARY KEY (id1, id2)
   ... );
 cqlsh:cs 
 {code}
 Simple query by primary key works as should:
 {code}
 cqlsh:cs SELECT * FROM test WHERE id1 = 'foo';
 (0 rows)
 cqlsh:cs SELECT * FROM test WHERE id1 = 'foo' AND id2 = 'bar';
 (0 rows)
 {code}
 Query by secondary index + non-indexed column:
 {code}
 cqlsh:cs CREATE INDEX test_column1s ON test(column1);
 cqlsh:cs SELECT * FROM test WHERE column1 = 'foo';
 (0 rows)
 cqlsh:cs SELECT * FROM test WHERE column1 = 'foo' AND column2 = 'bar' ALLOW 
 FILTERING;
 (0 rows)
 {code}
 Add secondary index also for the second column:
 {code}
 cqlsh:cs CREATE INDEX test_column2s ON test(column2);
 cqlsh:cs SELECT * FROM test WHERE column1 = 'foo' AND column2 = 'bar' ALLOW 
 FILTERING;
 (0 rows)
 {code}
 Doesn't matter if we bring primary key or the collection there as well:
 {code}
 cqlsh:cs SELECT * FROM test WHERE id1 = 'blah' AND column1 = 'foo' AND 
 column2 = 'bar' ALLOW FILTERING;
 (0 rows)
 cqlsh:cs SELECT * FROM test WHERE column1 = 'foo' AND collection CONTAINS 
 'bar' ALLOW FILTERING;
 (0 rows)
 {code}
 Let's add index for the collection:
 {code}
 cqlsh:cs CREATE INDEX test_collections ON test(collection);
 cqlsh:cs SELECT * FROM test WHERE collection CONTAINS 'bar';
 (0 rows)
 {code}
 But then combine secondary index column and collection with secondary index:
 {code}
 cqlsh:cs SELECT * FROM test WHERE column1 = 'foo' AND collection CONTAINS 
 'bar' ALLOW FILTERING;
 ErrorMessage code= [Server error] 
 message=java.lang.IllegalArgumentException: expected one element but was: 
 org.apache.cassandra.db.index.composites.CompositesSearcher@68e37722, 
 org.apache.cassandra.db.index.composites.CompositesSearcher@2da28efa
 {code}
 Furthermore, query by primary key field with secondary index + non-primary 
 key column with secondary index:
 {code}
 cqlsh:cs CREATE INDEX test_id2s ON test(id2);
 cqlsh:cs SELECT * FROM test WHERE id2 = 'foo' AND column1 = 'bar' ALLOW 
 FILTERING;
 ErrorMessage code= [Server error] 
 message=java.lang.IllegalArgumentException: expected one element but was: 
 org.apache.cassandra.db.index.composites.CompositesSearcher@3ca899f1, 
 org.apache.cassandra.db.index.composites.CompositesSearcher@6112bc53
 {code}
 I'm a cassandra noob so maybe I'm trying to do things the db is not meant to 
 do?



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6927) Create a CQL3 based bulk OutputFormat

2014-07-10 Thread Paul Pak (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6927?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul Pak updated CASSANDRA-6927:


Attachment: trunk-6927-v4.txt

 Create a CQL3 based bulk OutputFormat
 -

 Key: CASSANDRA-6927
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6927
 Project: Cassandra
  Issue Type: New Feature
  Components: Hadoop
Reporter: Paul Pak
Priority: Minor
  Labels: cql3, hadoop
 Attachments: 6927-2.0-branch-v2.txt, trunk-6927-v3.txt, 
 trunk-6927-v4.txt, trunk-6927.txt


 This is the CQL compatible version of BulkOutputFormat.  CqlOutputFormat 
 exists, but doesn't write SSTables directly, similar to 
 ColumnFamilyOutputFormat for thrift.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057868#comment-14057868
 ] 

Ala' Alkhaldi commented on CASSANDRA-7200:
--

The latest NPE is already solved in 
[CASSANDRA-6793|https://issues.apache.org/jira/browse/CASSANDRA-6793]

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ala' Alkhaldi updated CASSANDRA-7200:
-

Attachment: 7200_v2.txt

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-6960) Cassandra requires ALLOW FILTERING for a range scan

2014-07-10 Thread Jeremiah Jordan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057883#comment-14057883
 ] 

Jeremiah Jordan commented on CASSANDRA-6960:


It needs allow filtering, but do we do the same optimizations for reading the 
rows to check for the columns as we would if the partition key were supplied?

 Cassandra requires ALLOW FILTERING for a range scan
 ---

 Key: CASSANDRA-6960
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6960
 Project: Cassandra
  Issue Type: Bug
Reporter: J.B. Langston

 Given this table definition:
 {code}
 CREATE TABLE metric_log_a (
   destination_id text,
   rate_plan_id int,
   metric_name text,
   extraction_date 'org.apache.cassandra.db.marshal.TimestampType',
   metric_value text,
   PRIMARY KEY (destination_id, rate_plan_id, metric_name, extraction_date)
 );
 {code}
 It seems that Cassandra should be able to perform the following query without 
 ALLOW FILTERING:
 {code}
 select destination_id, rate_plan_id, metric_name, extraction_date, 
 metric_value 
 from metric_log_a 
 where token(destination_id)  ? 
 and token(destination_id) = ? 
 and rate_plan_id=90 
 and metric_name='minutesOfUse' 
 and extraction_date = '2014-03-05' 
 and extraction_date = '2014-03-05' 
 allow filtering;
 {code}
 However, it will refuse to run unless ALLOW FILTERING is specified.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057879#comment-14057879
 ] 

Ala' Alkhaldi commented on CASSANDRA-7200:
--

The slowness is caused by using vnodes at the cassandra server which is not 
recommended for the hadoop case. For instance, WordCountSetup relies on the 
number of returned vnodes to determine the sleep time after creating the 
keyspace which turned to be 256 seconds in current default installation of 
Cassandra. I updated the README file to mention that disabaling vnodes  is 
recommended. 
The Attached 7200_v2.txt includes the README update as well as the changes in 
7200_v1.txt changes.

I also checked Cassandra 2.0. The hadoop_word_count example works fine, but the 
cql3 word count has a bug that is already solved as I mentioned in the above 
comment. 

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7111) Include snippet of CQL query near error in SyntaxError messages

2014-07-10 Thread Benjamin Lerer (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benjamin Lerer updated CASSANDRA-7111:
--

Attachment: CASSANDRA-7111-V2.txt

Fix the problems mentioned by Tyler.

 Include snippet of CQL query near error in SyntaxError messages
 ---

 Key: CASSANDRA-7111
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7111
 Project: Cassandra
  Issue Type: Improvement
  Components: API, Tools
Reporter: Tyler Hobbs
Assignee: Benjamin Lerer
  Labels: cql
 Fix For: 2.1.1

 Attachments: CASSANDRA-7111-V2.txt, CASSANDRA-7111.txt


 When a SyntaxError is returned, including a snippet of the query close to the 
 error would make a lot of error messages easier to understand.  For example, 
 if you did this with the python driver:
 {code}
 session.execute(SELECT * FROM users WHERE username='%s', ['Joe Smith'])
 {code}
 you would wind up with an extra set of single quotes (the driver 
 automatically escapes and quotes input).  If a snippet like {{...WHERE 
 username=''Joe Smith''}} were included in the error message, this would be 
 pretty easy to spot.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7200) word count broken

2014-07-10 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14057904#comment-14057904
 ] 

Brandon Williams commented on CASSANDRA-7200:
-

bq. I also checked Cassandra 2.0. The hadoop_word_count example works fine, but 
the cql3 word count has a bug that is already solved as I mentioned in the 
above comment. 

That says it was fixed in 2.0.7, so I'm confused why we're encountering it.

bq. The slowness is caused by using vnodes at the cassandra server which is not 
recommended for the hadoop case. For instance, WordCountSetup relies on the 
number of returned vnodes to determine the sleep time after creating the 
keyspace which turned to be 256 seconds in current default installation of 
Cassandra.

Well, that's silly then, since it can both a) count actual nodes or b) poll for 
actual schema agreement.


 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


git commit: Set stream ID on response for non-Exception Throwables

2014-07-10 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-1.2 5a658be5e - 0d90b03a3


Set stream ID on response for non-Exception Throwables

Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-7470


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d90b03a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d90b03a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d90b03a

Branch: refs/heads/cassandra-1.2
Commit: 0d90b03a30247ae8a1cf2977467de1972b36f9dd
Parents: 5a658be
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:11:20 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:11:20 2014 -0500

--
 CHANGES.txt  | 4 
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a79e8d..2951fed 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.19
+ * Set correct stream ID on responses when non-Exception Throwables
+   are thrown while handling native protocol messages (CASSANDRA-7470)
+
 1.2.18
  * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
  * Fix compilation with java 6 broke by CASSANDRA-7147

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/src/java/org/apache/cassandra/transport/Message.java
--
diff --git a/src/java/org/apache/cassandra/transport/Message.java 
b/src/java/org/apache/cassandra/transport/Message.java
index 5cc3998..74aaad1 100644
--- a/src/java/org/apache/cassandra/transport/Message.java
+++ b/src/java/org/apache/cassandra/transport/Message.java
@@ -293,7 +293,7 @@ public abstract class Message
 
 ctx.getChannel().write(response);
 }
-catch (Exception ex)
+catch (Throwable ex)
 {
 // Don't let the exception propagate to exceptionCaught() if 
we can help it so that we can assign the right streamID.
 
ctx.getChannel().write(ErrorMessage.fromException(ex).setStreamId(request.getStreamId()));



[3/3] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
NEWS.txt
build.xml
debian/changelog


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/233308f0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/233308f0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/233308f0

Branch: refs/heads/cassandra-2.0
Commit: 233308f0245ebffdb6b9c77560c1914d3f2a1572
Parents: 11351e3 0d90b03
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:17:39 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:17:39 2014 -0500

--
 CHANGES.txt  | 2 ++
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/CHANGES.txt
--
diff --cc CHANGES.txt
index 6b4e44b,2951fed..d39cf63
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,49 -1,12 +1,51 @@@
 -1.2.19
 +2.0.10
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 +Merged from 1.2:
+  * Set correct stream ID on responses when non-Exception Throwables
+are thrown while handling native protocol messages (CASSANDRA-7470)
  
 -1.2.18
 - * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
 - * Fix compilation with java 6 broke by CASSANDRA-7147
  
 -1.2.17
 +2.0.9
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
 + * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Add per-CF range read request latency metrics (CASSANDRA-7338)
 + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 + * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 + * Swap local and global default read repair chances (CASSANDRA-7320)
 + * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 + * Add authentication support to shuffle (CASSANDRA-6484)
 + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325)
 + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
 + * Fix infinite loop on exception while streaming (CASSANDRA-7330)
 + * Reference sstables before populating key cache (CASSANDRA-7234)
 + * Account for range tombstones in min/max column names (CASSANDRA-7235)
 + * Improve sub range repair validation (CASSANDRA-7317)
 + * Accept subtypes for function results, type casts (CASSANDRA-6766)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
 + * Refuse range queries with strict bounds on compact tables since they
 +   are broken (CASSANDRA-7059)
 +Merged from 1.2:
 + * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399)
   * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/src/java/org/apache/cassandra/transport/Message.java
--



[2/3] git commit: Set stream ID on response for non-Exception Throwables

2014-07-10 Thread tylerhobbs
Set stream ID on response for non-Exception Throwables

Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-7470


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d90b03a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d90b03a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d90b03a

Branch: refs/heads/cassandra-2.0
Commit: 0d90b03a30247ae8a1cf2977467de1972b36f9dd
Parents: 5a658be
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:11:20 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:11:20 2014 -0500

--
 CHANGES.txt  | 4 
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a79e8d..2951fed 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.19
+ * Set correct stream ID on responses when non-Exception Throwables
+   are thrown while handling native protocol messages (CASSANDRA-7470)
+
 1.2.18
  * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
  * Fix compilation with java 6 broke by CASSANDRA-7147

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/src/java/org/apache/cassandra/transport/Message.java
--
diff --git a/src/java/org/apache/cassandra/transport/Message.java 
b/src/java/org/apache/cassandra/transport/Message.java
index 5cc3998..74aaad1 100644
--- a/src/java/org/apache/cassandra/transport/Message.java
+++ b/src/java/org/apache/cassandra/transport/Message.java
@@ -293,7 +293,7 @@ public abstract class Message
 
 ctx.getChannel().write(response);
 }
-catch (Exception ex)
+catch (Throwable ex)
 {
 // Don't let the exception propagate to exceptionCaught() if 
we can help it so that we can assign the right streamID.
 
ctx.getChannel().write(ErrorMessage.fromException(ex).setStreamId(request.getStreamId()));



[1/3] git commit: Versions update for 1.2.18

2014-07-10 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 11351e3c0 - 233308f02


Versions update for 1.2.18


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5a658be5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a658be5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a658be5

Branch: refs/heads/cassandra-2.0
Commit: 5a658be5ed3339b7dc52084d7eb33dd8295fa9f3
Parents: 04250f2
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Jul 2 11:41:06 2014 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Jul 2 11:41:06 2014 +0200

--
 NEWS.txt | 9 +
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 97d32f2..d2d1fa5 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+1.2.18
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 1.2.17 if you are 
upgrading
+  from a previous version.
+
+
 1.2.17
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/build.xml
--
diff --git a/build.xml b/build.xml
index 1310d64..94d3e2d 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=1.2.17/
+property name=base.version value=1.2.18/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index adb7a37..e80e45e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.18) unstable; urgency=medium
+
+  * New release
+
+ -- Sylvain Lebresne slebre...@apache.org  Wed, 02 Jul 2014 10:55:12 +0200
+
 cassandra (1.2.17) unstable; urgency=medium
 
   * New release



[3/4] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
NEWS.txt
build.xml
debian/changelog


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/233308f0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/233308f0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/233308f0

Branch: refs/heads/cassandra-2.1.0
Commit: 233308f0245ebffdb6b9c77560c1914d3f2a1572
Parents: 11351e3 0d90b03
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:17:39 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:17:39 2014 -0500

--
 CHANGES.txt  | 2 ++
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/CHANGES.txt
--
diff --cc CHANGES.txt
index 6b4e44b,2951fed..d39cf63
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,49 -1,12 +1,51 @@@
 -1.2.19
 +2.0.10
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 +Merged from 1.2:
+  * Set correct stream ID on responses when non-Exception Throwables
+are thrown while handling native protocol messages (CASSANDRA-7470)
  
 -1.2.18
 - * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
 - * Fix compilation with java 6 broke by CASSANDRA-7147
  
 -1.2.17
 +2.0.9
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
 + * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Add per-CF range read request latency metrics (CASSANDRA-7338)
 + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 + * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 + * Swap local and global default read repair chances (CASSANDRA-7320)
 + * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 + * Add authentication support to shuffle (CASSANDRA-6484)
 + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325)
 + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
 + * Fix infinite loop on exception while streaming (CASSANDRA-7330)
 + * Reference sstables before populating key cache (CASSANDRA-7234)
 + * Account for range tombstones in min/max column names (CASSANDRA-7235)
 + * Improve sub range repair validation (CASSANDRA-7317)
 + * Accept subtypes for function results, type casts (CASSANDRA-6766)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
 + * Refuse range queries with strict bounds on compact tables since they
 +   are broken (CASSANDRA-7059)
 +Merged from 1.2:
 + * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399)
   * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/src/java/org/apache/cassandra/transport/Message.java
--



[1/4] git commit: Versions update for 1.2.18

2014-07-10 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1.0 1a9d4b89d - 380583b5e


Versions update for 1.2.18


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5a658be5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a658be5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a658be5

Branch: refs/heads/cassandra-2.1.0
Commit: 5a658be5ed3339b7dc52084d7eb33dd8295fa9f3
Parents: 04250f2
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Jul 2 11:41:06 2014 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Jul 2 11:41:06 2014 +0200

--
 NEWS.txt | 9 +
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 97d32f2..d2d1fa5 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+1.2.18
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 1.2.17 if you are 
upgrading
+  from a previous version.
+
+
 1.2.17
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/build.xml
--
diff --git a/build.xml b/build.xml
index 1310d64..94d3e2d 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=1.2.17/
+property name=base.version value=1.2.18/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index adb7a37..e80e45e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.18) unstable; urgency=medium
+
+  * New release
+
+ -- Sylvain Lebresne slebre...@apache.org  Wed, 02 Jul 2014 10:55:12 +0200
+
 cassandra (1.2.17) unstable; urgency=medium
 
   * New release



[4/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/380583b5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/380583b5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/380583b5

Branch: refs/heads/cassandra-2.1.0
Commit: 380583b5e5aec1bf269185e1fdf1f31c632ccef4
Parents: 1a9d4b8 233308f
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:24:03 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:24:03 2014 -0500

--
 CHANGES.txt | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/380583b5/CHANGES.txt
--
diff --cc CHANGES.txt
index 5132976,d39cf63..c0fd4c0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,28 -1,5 +1,31 @@@
 -2.0.10
 +2.1.0-final
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 +Merged from 2.0:
   * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
++Merged from 1.2:
++ * Set correct stream ID on responses when non-Exception Throwables
++   are thrown while handling native protocol messages (CASSANDRA-7470)
 +
 +
 +2.1.0-rc3
 + * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
 + * Introduce CQL support for stress tool (CASSANDRA-6146)
 + * Fix ClassCastException processing expired messages (CASSANDRA-7496)
 + * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
 + * Remove left-over populate_io_cache_on_flush and replicate_on_write
 +   uses (CASSANDRA-7493)
 + * (Windows) handle spaces in path names (CASSANDRA-7451)
 + * Ensure writes have completed after dropping a table, before recycling
 +   commit log segments (CASSANDRA-7437)
 + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
 + * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
 + * Properly reject unknown UDT field (CASSANDRA-7484)
 +Merged from 2.0:
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
   * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
   * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
   * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
@@@ -33,38 -9,34 +36,39 @@@
   * Make sure high level sstables get compacted (CASSANDRA-7414)
   * Fix AssertionError when using empty clustering columns and static columns
 (CASSANDRA-7455)
 - * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
   * Add option to disable STCS in L0 (CASSANDRA-6621)
 - * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 -Merged from 1.2:
 - * Set correct stream ID on responses when non-Exception Throwables
 -   are thrown while handling native protocol messages (CASSANDRA-7470)
 + * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476)
  
  
 -2.0.9
 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 +2.1.0-rc2
 + * Fix heap size calculation for CompoundSparseCellName and 
 +   CompoundSparseCellName.WithCollection (CASSANDRA-7421)
 + * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
 + * Modify reconcile logic to always pick a tombstone over a counter cell
 +   (CASSANDRA-7346)
 + * Avoid incremental compaction on Windows (CASSANDRA-7365)
 + * Fix exception when querying a composite-keyed table with a collection index
 +   (CASSANDRA-7372)
 + * Use node's host id in place of counter ids (CASSANDRA-7366)
+  * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
   * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359)
 + * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
 + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
 + * Don't fail streams on failure detector downs (CASSANDRA-3569)
 + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
 + * Reduce run time for CQL tests (CASSANDRA-7327)
 + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353)
 + * RefCount native frames from netty (CASSANDRA-7245)
 + * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
 + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
 + * Fix schema change response in native protocol v3 (CASSANDRA-7413)
 +Merged from 2.0:
 + * Fix assertion error in CL.ANY timeout handling 

[2/4] git commit: Set stream ID on response for non-Exception Throwables

2014-07-10 Thread tylerhobbs
Set stream ID on response for non-Exception Throwables

Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-7470


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d90b03a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d90b03a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d90b03a

Branch: refs/heads/cassandra-2.1.0
Commit: 0d90b03a30247ae8a1cf2977467de1972b36f9dd
Parents: 5a658be
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:11:20 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:11:20 2014 -0500

--
 CHANGES.txt  | 4 
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a79e8d..2951fed 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.19
+ * Set correct stream ID on responses when non-Exception Throwables
+   are thrown while handling native protocol messages (CASSANDRA-7470)
+
 1.2.18
  * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
  * Fix compilation with java 6 broke by CASSANDRA-7147

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/src/java/org/apache/cassandra/transport/Message.java
--
diff --git a/src/java/org/apache/cassandra/transport/Message.java 
b/src/java/org/apache/cassandra/transport/Message.java
index 5cc3998..74aaad1 100644
--- a/src/java/org/apache/cassandra/transport/Message.java
+++ b/src/java/org/apache/cassandra/transport/Message.java
@@ -293,7 +293,7 @@ public abstract class Message
 
 ctx.getChannel().write(response);
 }
-catch (Exception ex)
+catch (Throwable ex)
 {
 // Don't let the exception propagate to exceptionCaught() if 
we can help it so that we can assign the right streamID.
 
ctx.getChannel().write(ErrorMessage.fromException(ex).setStreamId(request.getStreamId()));



[4/5] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/380583b5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/380583b5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/380583b5

Branch: refs/heads/cassandra-2.1
Commit: 380583b5e5aec1bf269185e1fdf1f31c632ccef4
Parents: 1a9d4b8 233308f
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:24:03 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:24:03 2014 -0500

--
 CHANGES.txt | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/380583b5/CHANGES.txt
--
diff --cc CHANGES.txt
index 5132976,d39cf63..c0fd4c0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,28 -1,5 +1,31 @@@
 -2.0.10
 +2.1.0-final
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 +Merged from 2.0:
   * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
++Merged from 1.2:
++ * Set correct stream ID on responses when non-Exception Throwables
++   are thrown while handling native protocol messages (CASSANDRA-7470)
 +
 +
 +2.1.0-rc3
 + * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
 + * Introduce CQL support for stress tool (CASSANDRA-6146)
 + * Fix ClassCastException processing expired messages (CASSANDRA-7496)
 + * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
 + * Remove left-over populate_io_cache_on_flush and replicate_on_write
 +   uses (CASSANDRA-7493)
 + * (Windows) handle spaces in path names (CASSANDRA-7451)
 + * Ensure writes have completed after dropping a table, before recycling
 +   commit log segments (CASSANDRA-7437)
 + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
 + * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
 + * Properly reject unknown UDT field (CASSANDRA-7484)
 +Merged from 2.0:
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
   * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
   * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
   * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
@@@ -33,38 -9,34 +36,39 @@@
   * Make sure high level sstables get compacted (CASSANDRA-7414)
   * Fix AssertionError when using empty clustering columns and static columns
 (CASSANDRA-7455)
 - * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
   * Add option to disable STCS in L0 (CASSANDRA-6621)
 - * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 -Merged from 1.2:
 - * Set correct stream ID on responses when non-Exception Throwables
 -   are thrown while handling native protocol messages (CASSANDRA-7470)
 + * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476)
  
  
 -2.0.9
 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 +2.1.0-rc2
 + * Fix heap size calculation for CompoundSparseCellName and 
 +   CompoundSparseCellName.WithCollection (CASSANDRA-7421)
 + * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
 + * Modify reconcile logic to always pick a tombstone over a counter cell
 +   (CASSANDRA-7346)
 + * Avoid incremental compaction on Windows (CASSANDRA-7365)
 + * Fix exception when querying a composite-keyed table with a collection index
 +   (CASSANDRA-7372)
 + * Use node's host id in place of counter ids (CASSANDRA-7366)
+  * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
   * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359)
 + * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
 + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
 + * Don't fail streams on failure detector downs (CASSANDRA-3569)
 + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
 + * Reduce run time for CQL tests (CASSANDRA-7327)
 + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353)
 + * RefCount native frames from netty (CASSANDRA-7245)
 + * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
 + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
 + * Fix schema change response in native protocol v3 (CASSANDRA-7413)
 +Merged from 2.0:
 + * Fix assertion error in CL.ANY timeout handling 

[5/5] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-2.1.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/5207cfa5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5207cfa5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5207cfa5

Branch: refs/heads/cassandra-2.1
Commit: 5207cfa59e86e3cafa55dfe6d0e7136b7e300458
Parents: 6cc03b9 380583b
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:24:34 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:24:34 2014 -0500

--
 CHANGES.txt | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5207cfa5/CHANGES.txt
--



[2/5] git commit: Set stream ID on response for non-Exception Throwables

2014-07-10 Thread tylerhobbs
Set stream ID on response for non-Exception Throwables

Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-7470


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d90b03a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d90b03a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d90b03a

Branch: refs/heads/cassandra-2.1
Commit: 0d90b03a30247ae8a1cf2977467de1972b36f9dd
Parents: 5a658be
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:11:20 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:11:20 2014 -0500

--
 CHANGES.txt  | 4 
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a79e8d..2951fed 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.19
+ * Set correct stream ID on responses when non-Exception Throwables
+   are thrown while handling native protocol messages (CASSANDRA-7470)
+
 1.2.18
  * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
  * Fix compilation with java 6 broke by CASSANDRA-7147

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/src/java/org/apache/cassandra/transport/Message.java
--
diff --git a/src/java/org/apache/cassandra/transport/Message.java 
b/src/java/org/apache/cassandra/transport/Message.java
index 5cc3998..74aaad1 100644
--- a/src/java/org/apache/cassandra/transport/Message.java
+++ b/src/java/org/apache/cassandra/transport/Message.java
@@ -293,7 +293,7 @@ public abstract class Message
 
 ctx.getChannel().write(response);
 }
-catch (Exception ex)
+catch (Throwable ex)
 {
 // Don't let the exception propagate to exceptionCaught() if 
we can help it so that we can assign the right streamID.
 
ctx.getChannel().write(ErrorMessage.fromException(ex).setStreamId(request.getStreamId()));



[1/5] git commit: Versions update for 1.2.18

2014-07-10 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 6cc03b960 - 5207cfa59


Versions update for 1.2.18


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5a658be5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a658be5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a658be5

Branch: refs/heads/cassandra-2.1
Commit: 5a658be5ed3339b7dc52084d7eb33dd8295fa9f3
Parents: 04250f2
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Jul 2 11:41:06 2014 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Jul 2 11:41:06 2014 +0200

--
 NEWS.txt | 9 +
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 97d32f2..d2d1fa5 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+1.2.18
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 1.2.17 if you are 
upgrading
+  from a previous version.
+
+
 1.2.17
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/build.xml
--
diff --git a/build.xml b/build.xml
index 1310d64..94d3e2d 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=1.2.17/
+property name=base.version value=1.2.18/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index adb7a37..e80e45e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.18) unstable; urgency=medium
+
+  * New release
+
+ -- Sylvain Lebresne slebre...@apache.org  Wed, 02 Jul 2014 10:55:12 +0200
+
 cassandra (1.2.17) unstable; urgency=medium
 
   * New release



[3/5] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
NEWS.txt
build.xml
debian/changelog


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/233308f0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/233308f0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/233308f0

Branch: refs/heads/cassandra-2.1
Commit: 233308f0245ebffdb6b9c77560c1914d3f2a1572
Parents: 11351e3 0d90b03
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:17:39 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:17:39 2014 -0500

--
 CHANGES.txt  | 2 ++
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/CHANGES.txt
--
diff --cc CHANGES.txt
index 6b4e44b,2951fed..d39cf63
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,49 -1,12 +1,51 @@@
 -1.2.19
 +2.0.10
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 +Merged from 1.2:
+  * Set correct stream ID on responses when non-Exception Throwables
+are thrown while handling native protocol messages (CASSANDRA-7470)
  
 -1.2.18
 - * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
 - * Fix compilation with java 6 broke by CASSANDRA-7147
  
 -1.2.17
 +2.0.9
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
 + * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Add per-CF range read request latency metrics (CASSANDRA-7338)
 + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 + * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 + * Swap local and global default read repair chances (CASSANDRA-7320)
 + * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 + * Add authentication support to shuffle (CASSANDRA-6484)
 + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325)
 + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
 + * Fix infinite loop on exception while streaming (CASSANDRA-7330)
 + * Reference sstables before populating key cache (CASSANDRA-7234)
 + * Account for range tombstones in min/max column names (CASSANDRA-7235)
 + * Improve sub range repair validation (CASSANDRA-7317)
 + * Accept subtypes for function results, type casts (CASSANDRA-6766)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
 + * Refuse range queries with strict bounds on compact tables since they
 +   are broken (CASSANDRA-7059)
 +Merged from 1.2:
 + * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399)
   * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/src/java/org/apache/cassandra/transport/Message.java
--



[5/6] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-2.1.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/5207cfa5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5207cfa5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5207cfa5

Branch: refs/heads/trunk
Commit: 5207cfa59e86e3cafa55dfe6d0e7136b7e300458
Parents: 6cc03b9 380583b
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:24:34 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:24:34 2014 -0500

--
 CHANGES.txt | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5207cfa5/CHANGES.txt
--



[1/6] git commit: Versions update for 1.2.18

2014-07-10 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk 0b89ae260 - 93a662537


Versions update for 1.2.18


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5a658be5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a658be5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a658be5

Branch: refs/heads/trunk
Commit: 5a658be5ed3339b7dc52084d7eb33dd8295fa9f3
Parents: 04250f2
Author: Sylvain Lebresne sylv...@datastax.com
Authored: Wed Jul 2 11:41:06 2014 +0200
Committer: Sylvain Lebresne sylv...@datastax.com
Committed: Wed Jul 2 11:41:06 2014 +0200

--
 NEWS.txt | 9 +
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 16 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 97d32f2..d2d1fa5 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,15 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+1.2.18
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 1.2.17 if you are 
upgrading
+  from a previous version.
+
+
 1.2.17
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/build.xml
--
diff --git a/build.xml b/build.xml
index 1310d64..94d3e2d 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=1.2.17/
+property name=base.version value=1.2.18/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a658be5/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index adb7a37..e80e45e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (1.2.18) unstable; urgency=medium
+
+  * New release
+
+ -- Sylvain Lebresne slebre...@apache.org  Wed, 02 Jul 2014 10:55:12 +0200
+
 cassandra (1.2.17) unstable; urgency=medium
 
   * New release



[3/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-1.2' into cassandra-2.0

Conflicts:
CHANGES.txt
NEWS.txt
build.xml
debian/changelog


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/233308f0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/233308f0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/233308f0

Branch: refs/heads/trunk
Commit: 233308f0245ebffdb6b9c77560c1914d3f2a1572
Parents: 11351e3 0d90b03
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:17:39 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:17:39 2014 -0500

--
 CHANGES.txt  | 2 ++
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/CHANGES.txt
--
diff --cc CHANGES.txt
index 6b4e44b,2951fed..d39cf63
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,49 -1,12 +1,51 @@@
 -1.2.19
 +2.0.10
 + * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 + * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 + * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
 +   operations to incorrect become full QUORUM (CASSANDRA-7345)
 + * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 + * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 + * Make sure high level sstables get compacted (CASSANDRA-7414)
 + * Fix AssertionError when using empty clustering columns and static columns
 +   (CASSANDRA-7455)
 + * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
 + * Add option to disable STCS in L0 (CASSANDRA-6621)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 +Merged from 1.2:
+  * Set correct stream ID on responses when non-Exception Throwables
+are thrown while handling native protocol messages (CASSANDRA-7470)
  
 -1.2.18
 - * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
 - * Fix compilation with java 6 broke by CASSANDRA-7147
  
 -1.2.17
 +2.0.9
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 + * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
 + * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Add per-CF range read request latency metrics (CASSANDRA-7338)
 + * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 + * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 + * Swap local and global default read repair chances (CASSANDRA-7320)
 + * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 + * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 + * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 + * Add authentication support to shuffle (CASSANDRA-6484)
 + * Cqlsh counts non-empty lines for Blank lines warning (CASSANDRA-7325)
 + * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
 + * Fix infinite loop on exception while streaming (CASSANDRA-7330)
 + * Reference sstables before populating key cache (CASSANDRA-7234)
 + * Account for range tombstones in min/max column names (CASSANDRA-7235)
 + * Improve sub range repair validation (CASSANDRA-7317)
 + * Accept subtypes for function results, type casts (CASSANDRA-6766)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
 + * Refuse range queries with strict bounds on compact tables since they
 +   are broken (CASSANDRA-7059)
 +Merged from 1.2:
 + * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * cqlsh: Fix CompositeType columns in DESCRIBE TABLE output (CASSANDRA-7399)
   * Expose global ColumnFamily metrics (CASSANDRA-7273)
   * Handle possible integer overflow in FastByteArrayOutputStream 
(CASSANDRA-7373)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/233308f0/src/java/org/apache/cassandra/transport/Message.java
--



[4/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1.0

2014-07-10 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1.0

Conflicts:
CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/380583b5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/380583b5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/380583b5

Branch: refs/heads/trunk
Commit: 380583b5e5aec1bf269185e1fdf1f31c632ccef4
Parents: 1a9d4b8 233308f
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:24:03 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:24:03 2014 -0500

--
 CHANGES.txt | 4 
 1 file changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/380583b5/CHANGES.txt
--
diff --cc CHANGES.txt
index 5132976,d39cf63..c0fd4c0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,28 -1,5 +1,31 @@@
 -2.0.10
 +2.1.0-final
 + * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 + * Anti-compaction proceeds if any part of the repair failed (CASANDRA-7521)
 +Merged from 2.0:
   * Warn when SSL certificates have expired (CASSANDRA-7528)
 + * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
++Merged from 1.2:
++ * Set correct stream ID on responses when non-Exception Throwables
++   are thrown while handling native protocol messages (CASSANDRA-7470)
 +
 +
 +2.1.0-rc3
 + * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
 + * Introduce CQL support for stress tool (CASSANDRA-6146)
 + * Fix ClassCastException processing expired messages (CASSANDRA-7496)
 + * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
 + * Remove left-over populate_io_cache_on_flush and replicate_on_write
 +   uses (CASSANDRA-7493)
 + * (Windows) handle spaces in path names (CASSANDRA-7451)
 + * Ensure writes have completed after dropping a table, before recycling
 +   commit log segments (CASSANDRA-7437)
 + * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
 + * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
 + * Properly reject unknown UDT field (CASSANDRA-7484)
 +Merged from 2.0:
 + * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 + * Support DISTINCT for static columns and fix behaviour when DISTINC is
 +   not use (CASSANDRA-7305).
   * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
   * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
   * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
@@@ -33,38 -9,34 +36,39 @@@
   * Make sure high level sstables get compacted (CASSANDRA-7414)
   * Fix AssertionError when using empty clustering columns and static columns
 (CASSANDRA-7455)
 - * Add inter_dc_stream_throughput_outbound_megabits_per_sec (CASSANDRA-6596)
   * Add option to disable STCS in L0 (CASSANDRA-6621)
 - * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 -Merged from 1.2:
 - * Set correct stream ID on responses when non-Exception Throwables
 -   are thrown while handling native protocol messages (CASSANDRA-7470)
 + * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476)
  
  
 -2.0.9
 - * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 - * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
 +2.1.0-rc2
 + * Fix heap size calculation for CompoundSparseCellName and 
 +   CompoundSparseCellName.WithCollection (CASSANDRA-7421)
 + * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
 + * Modify reconcile logic to always pick a tombstone over a counter cell
 +   (CASSANDRA-7346)
 + * Avoid incremental compaction on Windows (CASSANDRA-7365)
 + * Fix exception when querying a composite-keyed table with a collection index
 +   (CASSANDRA-7372)
 + * Use node's host id in place of counter ids (CASSANDRA-7366)
+  * Handle empty CFs in Memtable#maybeUpdateLiveRatio() (CASSANDRA-7401)
   * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359)
 + * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
 + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
 + * Don't fail streams on failure detector downs (CASSANDRA-3569)
 + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
 + * Reduce run time for CQL tests (CASSANDRA-7327)
 + * Fix heap size calculation on Windows (CASSANDRA-7352, 7353)
 + * RefCount native frames from netty (CASSANDRA-7245)
 + * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
 + * Remove rows_per_partition_to_cache keyword (CASSANDRA-7193)
 + * Fix schema change response in native protocol v3 (CASSANDRA-7413)
 +Merged from 2.0:
 + * Fix assertion error in CL.ANY timeout handling (CASSANDRA-7364)
   

[2/6] git commit: Set stream ID on response for non-Exception Throwables

2014-07-10 Thread tylerhobbs
Set stream ID on response for non-Exception Throwables

Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-7470


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0d90b03a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0d90b03a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0d90b03a

Branch: refs/heads/trunk
Commit: 0d90b03a30247ae8a1cf2977467de1972b36f9dd
Parents: 5a658be
Author: Tyler Hobbs ty...@datastax.com
Authored: Thu Jul 10 16:11:20 2014 -0500
Committer: Tyler Hobbs ty...@datastax.com
Committed: Thu Jul 10 16:11:20 2014 -0500

--
 CHANGES.txt  | 4 
 src/java/org/apache/cassandra/transport/Message.java | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 1a79e8d..2951fed 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+1.2.19
+ * Set correct stream ID on responses when non-Exception Throwables
+   are thrown while handling native protocol messages (CASSANDRA-7470)
+
 1.2.18
  * Support Thrift tables clustering columns on CqlPagingInputFormat 
(CASSANDRA-7445)
  * Fix compilation with java 6 broke by CASSANDRA-7147

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d90b03a/src/java/org/apache/cassandra/transport/Message.java
--
diff --git a/src/java/org/apache/cassandra/transport/Message.java 
b/src/java/org/apache/cassandra/transport/Message.java
index 5cc3998..74aaad1 100644
--- a/src/java/org/apache/cassandra/transport/Message.java
+++ b/src/java/org/apache/cassandra/transport/Message.java
@@ -293,7 +293,7 @@ public abstract class Message
 
 ctx.getChannel().write(response);
 }
-catch (Exception ex)
+catch (Throwable ex)
 {
 // Don't let the exception propagate to exceptionCaught() if 
we can help it so that we can assign the right streamID.
 
ctx.getChannel().write(ErrorMessage.fromException(ex).setStreamId(request.getStreamId()));



[jira] [Created] (CASSANDRA-7533) Let MAX_OUTSTANDING_REPLAY_COUNT be configurable

2014-07-10 Thread Jeremiah Jordan (JIRA)
Jeremiah Jordan created CASSANDRA-7533:
--

 Summary: Let MAX_OUTSTANDING_REPLAY_COUNT be configurable
 Key: CASSANDRA-7533
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7533
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Jeremiah Jordan
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 2.0.10


There are some workloads where commit log replay will run into contention 
issues with multiple things updating the same partition.  Through some testing 
it was found that lowering CommitLogReplayer.java MAX_OUTSTANDING_REPLAY_COUNT 
can help with this issue.

The calculations added in CASSANDRA-6655 are one such place things get 
bottlenecked.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7111) Include snippet of CQL query near error in SyntaxError messages

2014-07-10 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7111?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14058013#comment-14058013
 ] 

Tyler Hobbs commented on CASSANDRA-7111:


I should have noticed these in the first review, but a couple of additional 
changes:
* Since ErrorCollector is the only implementation of ErrorListener, I would 
prefer to just leave out the ErrorListener interface (unless you have plans to 
use it soon)
* For mock test classes like MockToken, you can leave out things like {{/\*\* 
\{\@inheritDoc\} \*/}} javadocs

There's also still a bit of trailing whitespace in ErrorCollector and Cql.g in 
the patch, and the unit tests need to be updated for the whitespace change.

 Include snippet of CQL query near error in SyntaxError messages
 ---

 Key: CASSANDRA-7111
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7111
 Project: Cassandra
  Issue Type: Improvement
  Components: API, Tools
Reporter: Tyler Hobbs
Assignee: Benjamin Lerer
  Labels: cql
 Fix For: 2.1.1

 Attachments: CASSANDRA-7111-V2.txt, CASSANDRA-7111.txt


 When a SyntaxError is returned, including a snippet of the query close to the 
 error would make a lot of error messages easier to understand.  For example, 
 if you did this with the python driver:
 {code}
 session.execute(SELECT * FROM users WHERE username='%s', ['Joe Smith'])
 {code}
 you would wind up with an extra set of single quotes (the driver 
 automatically escapes and quotes input).  If a snippet like {{...WHERE 
 username=''Joe Smith''}} were included in the error message, this would be 
 pretty easy to spot.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ala' Alkhaldi updated CASSANDRA-7200:
-

Attachment: 7200_v3.txt

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt, 7200_v3.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14058038#comment-14058038
 ] 

Ala' Alkhaldi commented on CASSANDRA-7200:
--

{quote}
That says it was fixed in 2.0.7, so I'm confused why we're encountering it.
{quote}
I used 2.0 for my test. 2.0.7 does not have the issue

{quote}
Well, that's silly then, since it can both a) count actual nodes or b) poll for 
actual schema agreement.
{quote}
I used number of peers to get the actual nodes count. check 7200_v3.txt

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt, 7200_v3.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7200) word count broken

2014-07-10 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14058041#comment-14058041
 ] 

Brandon Williams commented on CASSANDRA-7200:
-

bq. I used 2.0 for my test. 2.0.7 does not have the issue

2.0-HEAD?  That's the source of my confusion, we're on 2.0.9 now so we 
shouldn't be seeing this, unless you mean 2.0.0.

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt, 7200_v3.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-7200) word count broken

2014-07-10 Thread Ala' Alkhaldi (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14058045#comment-14058045
 ] 

Ala' Alkhaldi commented on CASSANDRA-7200:
--

{quote}
2.0-HEAD? That's the source of my confusion, we're on 2.0.9 now so we shouldn't 
be seeing this, unless you mean 2.0.0.
{quote}
yes, I used 2.0.0. Sorry for not being clear.

 word count broken
 -

 Key: CASSANDRA-7200
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7200
 Project: Cassandra
  Issue Type: Bug
  Components: Examples
Reporter: Brandon Williams
Assignee: Ala' Alkhaldi
 Fix For: 2.0.10

 Attachments: 7200_v1.txt, 7200_v2.txt, 7200_v3.txt


 word_count_setup hangs forever, and word_count loops forever with this 
 exception:
 {noformat}
 DEBUG 17:52:42,875 java.io.IOException: config(config)
 at org.apache.hadoop.conf.Configuration.init(Configuration.java:260)
 at org.apache.hadoop.mapred.JobConf.init(JobConf.java:341)
 at org.apache.hadoop.mapreduce.JobContext.init(JobContext.java:76)
 at 
 org.apache.hadoop.mapreduce.TaskAttemptContext.init(TaskAttemptContext.java:35)
 at 
 org.apache.hadoop.mapreduce.TaskInputOutputContext.init(TaskInputOutputContext.java:44)
 at org.apache.hadoop.mapreduce.MapContext.init(MapContext.java:43)
 at org.apache.hadoop.mapreduce.Mapper$Context.init(Mapper.java:105)
 at sun.reflect.GeneratedConstructorAccessor14.newInstance(Unknown 
 Source)
 at 
 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
 at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:759)
 at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
 at 
 org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212)
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CASSANDRA-5571) Reject bootstrapping endpoints that are already in the ring with different gossip data

2014-07-10 Thread Giampiero Recco (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-5571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14058239#comment-14058239
 ] 

Giampiero Recco commented on CASSANDRA-5571:


I noticed that checkForEndpointCollision() is called before starting Gossiper 
(that is started immediately after this check) . 
This causes a problem the first time I bootstrap a cluster since all nodes call 
checkForEndpointCollision() but no one have yet started Gossiper so no one 
answer the gossip messages leading all nodes to timeout and die with an Unable 
to gossip with any seeds RTE.

This is an issue especially using Cassandra with Priam 
(https://github.com/Netflix/Priam) were all nodes starts automatically at the 
very same time with the same configuration. 
Unfortunately working around the problem in Priam is fairly complicated since 
it would require synchronizing the whole cluster to bootstrap in a specific 
order with different configuration. 

The question then is: may we move the checkForEndpointCollision() call after 
Gossiper is started (about ten lines later in StorageService)?

On the contrary if this check need to happen before Gossiper is started, 
another option could be to allow GossipDigestSynVerbHandler.doVerb() to respond 
even if Gossiper is not yet enabled (right now it checks for 
Gossiper.instance.isEnabled() or it silently discard the request).



 Reject bootstrapping endpoints that are already in the ring with different 
 gossip data
 --

 Key: CASSANDRA-5571
 URL: https://issues.apache.org/jira/browse/CASSANDRA-5571
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Rick Branson
Assignee: Tyler Hobbs
 Fix For: 2.0.2

 Attachments: 5571-2.0-v1.patch, 5571-2.0-v2.patch, 5571-2.0-v3.patch


 The ring can be silently broken by improperly bootstrapping an endpoint that 
 has an existing entry in the gossip table. In the case where a node attempts 
 to bootstrap with the same IP address as an existing ring member, the old 
 token metadata is dropped without warning, resulting in range shifts for the 
 cluster.
 This isn't so bad for non-vnode cases where, in general, tokens are 
 explicitly assigned, and a bootstrap on the same token would result in no 
 range shifts. For vnode cases, the convention is to just let nodes come up by 
 selecting their own tokens, and a bootstrap will override the existing tokens 
 for that endpoint.
 While there are some other issues open for adding an explicit rebootstrap 
 feature for vnode cases, given the changes in operator habits for vnode 
 rings, it seems a bit too easy to make this happen. Even more undesirable is 
 the fact that it's basically silent.
 This is a proposal for checking for this exact case: bootstraps on endpoints 
 with existing ring entries that have different hostIDs and/or tokens should 
 be rejected with an error message describing what happened and how to 
 override the safety check. It looks like the override can be supported using 
 the existing nodetool removenode -force.
 I can work up a patch for this.



--
This message was sent by Atlassian JIRA
(v6.2#6252)