[jira] [Commented] (CASSANDRA-11102) Data lost during compaction

2016-02-02 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15128228#comment-15128228
 ] 

Sylvain Lebresne commented on CASSANDRA-11102:
--

Test on that last branch seems to look good for info (not sure why that 
{{RoleSyntaxTest.customOptionsSyntaxTest}} unit test timeouted, but it's 
clearly unrelated and pass fine locally):
|| [unit test|http://cassci.datastax.com/job/pcmanus-11102-testall/2/] || 
[dtest|http://cassci.datastax.com/job/pcmanus-11102-dtest/2/] ||

> Data lost during compaction
> ---
>
> Key: CASSANDRA-11102
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11102
> Project: Cassandra
>  Issue Type: Bug
>  Components: Compaction
> Environment: Cassandra 3.2.1 (single node, 5 node cluster)
> JDK 8
>Reporter: Jaroslav Kamenik
>Assignee: Sylvain Lebresne
>Priority: Blocker
> Fix For: 3.0.3, 3.3
>
>
> We have experienced data loses in some tables during few weeks since update 
> to cassandra 3.0. I thing I successfully found test case now. 
> Step one - test table:
> CREATE TABLE aaa (
> r int,
> c1 int,
> c2 ascii,
> PRIMARY KEY (r, c1, c2));
> Step two - run few queries:
>   insert into aaa (r, c1, c2) values (1,2,'A');
>   delete from aaa where r=1 and c1=2 and c2='B';
>   insert into aaa (r, c1, c2) values (2,3,'A');
>   delete from aaa where r=2 and c1=3 and c2='B';
>   insert into aaa (r, c1, c2) values (3,4,'A');
>   delete from aaa where r=3 and c1=4 and c2='B';
>   insert into aaa (r, c1, c2) values (4,5,'A');
>   delete from aaa where r=4 and c1=5 and c2='B';
> It creates 4 rows (select count says 4) and 4 tombstones.
> Step 3 - Restart Cassandra
> You will see new files written into C* data folder. I tried sstable-tools to 
> print table structure, it shows 4 rows, data and tombstones are there.
> Step 4 - set GC grace to 1 to force tombstone removing during compaction.
> alter table aaa with GC_GRACE_SECONDS = 1;
> Step 5 - Compact tables
> ./nodetool compact
> aaa files dissapeares during compaction. 
> select count(*) says 0
> compaction history says
> ... aaa  2016-02-01T14:24:01.433   329   0   {}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-11104) KeysSearcher doesn't filter results by key range

2016-02-02 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-11104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15128267#comment-15128267
 ] 

Sylvain Lebresne commented on CASSANDRA-11104:
--

+1

> KeysSearcher doesn't filter results by key range
> 
>
> Key: CASSANDRA-11104
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11104
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
> Fix For: 3.0.x, 3.x
>
>
> In 3.0 the check in {{KeysSearcher}} to validate that a hit from the index is 
> falls within the key range of command being executed was ommitted. The effect 
> of this can be observed in a vnode cluster with > 1 node where nodes contain 
> non-contiguous ranges. 
> Because of the lack of range checking, each range command sent to a given 
> replica will return all matching rows, resulting in duplicates in the result 
> set (i.e. one duplicate per merged range).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[03/15] cassandra git commit: test_bulk_round_trip_blogposts is failing occasionally

2016-02-02 Thread slebresne
test_bulk_round_trip_blogposts is failing occasionally

Patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-10938


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

Branch: refs/heads/trunk
Commit: 165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f
Parents: 3b794f0
Author: Stefania Alborghetti 
Authored: Mon Jan 11 09:31:36 2016 +
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:51:19 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  5 +-
 3 files changed, 58 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e3e53d8..1793c32 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/pylib/cqlshlib/copyutil.py
--
diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py
index b015a77..f9e4a85 100644
--- a/pylib/cqlshlib/copyutil.py
+++ b/pylib/cqlshlib/copyutil.py
@@ -1106,7 +1106,7 @@ class ExportSession(object):
 session.default_timeout = export_process.options.copy['pagetimeout']
 
 export_process.printdebugmsg("Created connection to %s with page size 
%d and timeout %d seconds per page"
- % (session.hosts, 
session.default_fetch_size, session.default_timeout))
+ % (cluster.contact_points, 
session.default_fetch_size, session.default_timeout))
 
 self.cluster = cluster
 self.session = session
@@ -1175,16 +1175,20 @@ class ExportProcess(ChildProcess):
 token_range, info = self.inmsg.get()
 self.start_request(token_range, info)
 
-def report_error(self, err, token_range=None):
+@staticmethod
+def get_error_message(err, print_traceback=False):
 if isinstance(err, str):
 msg = err
 elif isinstance(err, BaseException):
 msg = "%s - %s" % (err.__class__.__name__, err)
-if self.debug:
+if print_traceback:
 traceback.print_exc(err)
 else:
 msg = str(err)
+return msg
 
+def report_error(self, err, token_range=None):
+msg = self.get_error_message(err, print_traceback=self.debug)
 self.printdebugmsg(msg)
 self.outmsg.put((token_range, Exception(msg)))
 
@@ -1193,48 +1197,67 @@ class ExportProcess(ChildProcess):
 Begin querying a range by executing an async query that
 will later on invoke the callbacks attached in attach_callbacks.
 """
-session = self.get_session(info['hosts'])
-metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
-query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
-future = session.execute_async(query)
-self.attach_callbacks(token_range, future, session)
+session = self.get_session(info['hosts'], token_range)
+if session:
+metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
+query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
+future = session.execute_async(query)
+self.attach_callbacks(token_range, future, session)
 
 def num_requests(self):
 return sum(session.num_requests() for session in 
self.hosts_to_sessions.values())
 
-def get_session(self, hosts):
+def get_session(self, hosts, token_range):
 """
-We select a host to connect to. If we have no connections to one of 
the hosts
-yet then we select this host, else we pick the one with the smallest 
number
-of requests.
+We return a session connected to one of the hosts passed in, which are 
valid replicas for
+the token range. We sort replicas by favouring those without any 
active requests yet or with the
+smallest number of requests. If we fail to connect we report an error 
so 

[02/15] cassandra git commit: test_bulk_round_trip_blogposts is failing occasionally

2016-02-02 Thread slebresne
test_bulk_round_trip_blogposts is failing occasionally

Patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-10938


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

Branch: refs/heads/cassandra-2.2
Commit: 165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f
Parents: 3b794f0
Author: Stefania Alborghetti 
Authored: Mon Jan 11 09:31:36 2016 +
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:51:19 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  5 +-
 3 files changed, 58 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e3e53d8..1793c32 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/pylib/cqlshlib/copyutil.py
--
diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py
index b015a77..f9e4a85 100644
--- a/pylib/cqlshlib/copyutil.py
+++ b/pylib/cqlshlib/copyutil.py
@@ -1106,7 +1106,7 @@ class ExportSession(object):
 session.default_timeout = export_process.options.copy['pagetimeout']
 
 export_process.printdebugmsg("Created connection to %s with page size 
%d and timeout %d seconds per page"
- % (session.hosts, 
session.default_fetch_size, session.default_timeout))
+ % (cluster.contact_points, 
session.default_fetch_size, session.default_timeout))
 
 self.cluster = cluster
 self.session = session
@@ -1175,16 +1175,20 @@ class ExportProcess(ChildProcess):
 token_range, info = self.inmsg.get()
 self.start_request(token_range, info)
 
-def report_error(self, err, token_range=None):
+@staticmethod
+def get_error_message(err, print_traceback=False):
 if isinstance(err, str):
 msg = err
 elif isinstance(err, BaseException):
 msg = "%s - %s" % (err.__class__.__name__, err)
-if self.debug:
+if print_traceback:
 traceback.print_exc(err)
 else:
 msg = str(err)
+return msg
 
+def report_error(self, err, token_range=None):
+msg = self.get_error_message(err, print_traceback=self.debug)
 self.printdebugmsg(msg)
 self.outmsg.put((token_range, Exception(msg)))
 
@@ -1193,48 +1197,67 @@ class ExportProcess(ChildProcess):
 Begin querying a range by executing an async query that
 will later on invoke the callbacks attached in attach_callbacks.
 """
-session = self.get_session(info['hosts'])
-metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
-query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
-future = session.execute_async(query)
-self.attach_callbacks(token_range, future, session)
+session = self.get_session(info['hosts'], token_range)
+if session:
+metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
+query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
+future = session.execute_async(query)
+self.attach_callbacks(token_range, future, session)
 
 def num_requests(self):
 return sum(session.num_requests() for session in 
self.hosts_to_sessions.values())
 
-def get_session(self, hosts):
+def get_session(self, hosts, token_range):
 """
-We select a host to connect to. If we have no connections to one of 
the hosts
-yet then we select this host, else we pick the one with the smallest 
number
-of requests.
+We return a session connected to one of the hosts passed in, which are 
valid replicas for
+the token range. We sort replicas by favouring those without any 
active requests yet or with the
+smallest number of requests. If we fail to connect we report an 

[05/15] cassandra git commit: test_bulk_round_trip_blogposts is failing occasionally

2016-02-02 Thread slebresne
test_bulk_round_trip_blogposts is failing occasionally

Patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-10938


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

Branch: refs/heads/cassandra-3.3
Commit: 165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f
Parents: 3b794f0
Author: Stefania Alborghetti 
Authored: Mon Jan 11 09:31:36 2016 +
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:51:19 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  5 +-
 3 files changed, 58 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e3e53d8..1793c32 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/pylib/cqlshlib/copyutil.py
--
diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py
index b015a77..f9e4a85 100644
--- a/pylib/cqlshlib/copyutil.py
+++ b/pylib/cqlshlib/copyutil.py
@@ -1106,7 +1106,7 @@ class ExportSession(object):
 session.default_timeout = export_process.options.copy['pagetimeout']
 
 export_process.printdebugmsg("Created connection to %s with page size 
%d and timeout %d seconds per page"
- % (session.hosts, 
session.default_fetch_size, session.default_timeout))
+ % (cluster.contact_points, 
session.default_fetch_size, session.default_timeout))
 
 self.cluster = cluster
 self.session = session
@@ -1175,16 +1175,20 @@ class ExportProcess(ChildProcess):
 token_range, info = self.inmsg.get()
 self.start_request(token_range, info)
 
-def report_error(self, err, token_range=None):
+@staticmethod
+def get_error_message(err, print_traceback=False):
 if isinstance(err, str):
 msg = err
 elif isinstance(err, BaseException):
 msg = "%s - %s" % (err.__class__.__name__, err)
-if self.debug:
+if print_traceback:
 traceback.print_exc(err)
 else:
 msg = str(err)
+return msg
 
+def report_error(self, err, token_range=None):
+msg = self.get_error_message(err, print_traceback=self.debug)
 self.printdebugmsg(msg)
 self.outmsg.put((token_range, Exception(msg)))
 
@@ -1193,48 +1197,67 @@ class ExportProcess(ChildProcess):
 Begin querying a range by executing an async query that
 will later on invoke the callbacks attached in attach_callbacks.
 """
-session = self.get_session(info['hosts'])
-metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
-query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
-future = session.execute_async(query)
-self.attach_callbacks(token_range, future, session)
+session = self.get_session(info['hosts'], token_range)
+if session:
+metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
+query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
+future = session.execute_async(query)
+self.attach_callbacks(token_range, future, session)
 
 def num_requests(self):
 return sum(session.num_requests() for session in 
self.hosts_to_sessions.values())
 
-def get_session(self, hosts):
+def get_session(self, hosts, token_range):
 """
-We select a host to connect to. If we have no connections to one of 
the hosts
-yet then we select this host, else we pick the one with the smallest 
number
-of requests.
+We return a session connected to one of the hosts passed in, which are 
valid replicas for
+the token range. We sort replicas by favouring those without any 
active requests yet or with the
+smallest number of requests. If we fail to connect we report an 

[09/15] cassandra git commit: Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2

2016-02-02 Thread slebresne
Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.3
Commit: af2b858429c500265c178dede37f2de2493016c5
Parents: c1ae9d0 165f586
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:57:19 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:58:33 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/CHANGES.txt
--
diff --cc CHANGES.txt
index 9847371,1793c32..9bb9729
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,34 -1,5 +1,35 @@@
 -2.1.13
 +2.2.6
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/pylib/cqlshlib/copyutil.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/src/java/org/apache/cassandra/transport/ServerConnection.java
--



[14/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-02-02 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/trunk
Commit: e96fae3ca2902219cea7ec6cd6b0a92fdac7b7c9
Parents: fddace6 b087b4c
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:59:58 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:59:58 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e96fae3c/CHANGES.txt
--
diff --cc CHANGES.txt
index c0acd3d,47d2dc1..53208c0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -43,7 -49,17 +43,8 @@@ Merged from 2.2
   * Optimize pending range computation (CASSANDRA-9258)
   * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
   * drop/alter user should be case sensitive (CASSANDRA-10817)
 - * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 - * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 - * Add new types to Stress (CASSANDRA-9556)
 - * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 - * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 - * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 - * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 - * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 - * (cqlsh) encode input correctly when saving history
  Merged from 2.1:
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e96fae3c/pylib/cqlshlib/copyutil.py
--



[11/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-02 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.3
Commit: b087b4c7d5c0fd4e024f1d970437de59d44cd0c8
Parents: bc3ea66 af2b858
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:59:41 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:59:41 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b087b4c7/src/java/org/apache/cassandra/transport/ServerConnection.java
--



[06/15] cassandra git commit: Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2

2016-02-02 Thread slebresne
Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: af2b858429c500265c178dede37f2de2493016c5
Parents: c1ae9d0 165f586
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:57:19 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:58:33 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/CHANGES.txt
--
diff --cc CHANGES.txt
index 9847371,1793c32..9bb9729
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,34 -1,5 +1,35 @@@
 -2.1.13
 +2.2.6
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/pylib/cqlshlib/copyutil.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/src/java/org/apache/cassandra/transport/ServerConnection.java
--



[12/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-02 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: b087b4c7d5c0fd4e024f1d970437de59d44cd0c8
Parents: bc3ea66 af2b858
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:59:41 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:59:41 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b087b4c7/src/java/org/apache/cassandra/transport/ServerConnection.java
--



[04/15] cassandra git commit: test_bulk_round_trip_blogposts is failing occasionally

2016-02-02 Thread slebresne
test_bulk_round_trip_blogposts is failing occasionally

Patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-10938


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

Branch: refs/heads/cassandra-3.0
Commit: 165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f
Parents: 3b794f0
Author: Stefania Alborghetti 
Authored: Mon Jan 11 09:31:36 2016 +
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:51:19 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  5 +-
 3 files changed, 58 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e3e53d8..1793c32 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/pylib/cqlshlib/copyutil.py
--
diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py
index b015a77..f9e4a85 100644
--- a/pylib/cqlshlib/copyutil.py
+++ b/pylib/cqlshlib/copyutil.py
@@ -1106,7 +1106,7 @@ class ExportSession(object):
 session.default_timeout = export_process.options.copy['pagetimeout']
 
 export_process.printdebugmsg("Created connection to %s with page size 
%d and timeout %d seconds per page"
- % (session.hosts, 
session.default_fetch_size, session.default_timeout))
+ % (cluster.contact_points, 
session.default_fetch_size, session.default_timeout))
 
 self.cluster = cluster
 self.session = session
@@ -1175,16 +1175,20 @@ class ExportProcess(ChildProcess):
 token_range, info = self.inmsg.get()
 self.start_request(token_range, info)
 
-def report_error(self, err, token_range=None):
+@staticmethod
+def get_error_message(err, print_traceback=False):
 if isinstance(err, str):
 msg = err
 elif isinstance(err, BaseException):
 msg = "%s - %s" % (err.__class__.__name__, err)
-if self.debug:
+if print_traceback:
 traceback.print_exc(err)
 else:
 msg = str(err)
+return msg
 
+def report_error(self, err, token_range=None):
+msg = self.get_error_message(err, print_traceback=self.debug)
 self.printdebugmsg(msg)
 self.outmsg.put((token_range, Exception(msg)))
 
@@ -1193,48 +1197,67 @@ class ExportProcess(ChildProcess):
 Begin querying a range by executing an async query that
 will later on invoke the callbacks attached in attach_callbacks.
 """
-session = self.get_session(info['hosts'])
-metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
-query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
-future = session.execute_async(query)
-self.attach_callbacks(token_range, future, session)
+session = self.get_session(info['hosts'], token_range)
+if session:
+metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
+query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
+future = session.execute_async(query)
+self.attach_callbacks(token_range, future, session)
 
 def num_requests(self):
 return sum(session.num_requests() for session in 
self.hosts_to_sessions.values())
 
-def get_session(self, hosts):
+def get_session(self, hosts, token_range):
 """
-We select a host to connect to. If we have no connections to one of 
the hosts
-yet then we select this host, else we pick the one with the smallest 
number
-of requests.
+We return a session connected to one of the hosts passed in, which are 
valid replicas for
+the token range. We sort replicas by favouring those without any 
active requests yet or with the
+smallest number of requests. If we fail to connect we report an 

[01/15] cassandra git commit: test_bulk_round_trip_blogposts is failing occasionally

2016-02-02 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 3b794f0a8 -> 165f586e6
  refs/heads/cassandra-2.2 c1ae9d095 -> af2b85842
  refs/heads/cassandra-3.0 bc3ea6692 -> b087b4c7d
  refs/heads/cassandra-3.3 fddace61e -> e96fae3ca
  refs/heads/trunk 9b629d0dc -> b339b60ec


test_bulk_round_trip_blogposts is failing occasionally

Patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-10938


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

Branch: refs/heads/cassandra-2.1
Commit: 165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f
Parents: 3b794f0
Author: Stefania Alborghetti 
Authored: Mon Jan 11 09:31:36 2016 +
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:51:19 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  5 +-
 3 files changed, 58 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index e3e53d8..1793c32 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.13
+ * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
  * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
  * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
  * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/165f586e/pylib/cqlshlib/copyutil.py
--
diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py
index b015a77..f9e4a85 100644
--- a/pylib/cqlshlib/copyutil.py
+++ b/pylib/cqlshlib/copyutil.py
@@ -1106,7 +1106,7 @@ class ExportSession(object):
 session.default_timeout = export_process.options.copy['pagetimeout']
 
 export_process.printdebugmsg("Created connection to %s with page size 
%d and timeout %d seconds per page"
- % (session.hosts, 
session.default_fetch_size, session.default_timeout))
+ % (cluster.contact_points, 
session.default_fetch_size, session.default_timeout))
 
 self.cluster = cluster
 self.session = session
@@ -1175,16 +1175,20 @@ class ExportProcess(ChildProcess):
 token_range, info = self.inmsg.get()
 self.start_request(token_range, info)
 
-def report_error(self, err, token_range=None):
+@staticmethod
+def get_error_message(err, print_traceback=False):
 if isinstance(err, str):
 msg = err
 elif isinstance(err, BaseException):
 msg = "%s - %s" % (err.__class__.__name__, err)
-if self.debug:
+if print_traceback:
 traceback.print_exc(err)
 else:
 msg = str(err)
+return msg
 
+def report_error(self, err, token_range=None):
+msg = self.get_error_message(err, print_traceback=self.debug)
 self.printdebugmsg(msg)
 self.outmsg.put((token_range, Exception(msg)))
 
@@ -1193,48 +1197,67 @@ class ExportProcess(ChildProcess):
 Begin querying a range by executing an async query that
 will later on invoke the callbacks attached in attach_callbacks.
 """
-session = self.get_session(info['hosts'])
-metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
-query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
-future = session.execute_async(query)
-self.attach_callbacks(token_range, future, session)
+session = self.get_session(info['hosts'], token_range)
+if session:
+metadata = 
session.cluster.metadata.keyspaces[self.ks].tables[self.table]
+query = self.prepare_query(metadata.partition_key, token_range, 
info['attempts'])
+future = session.execute_async(query)
+self.attach_callbacks(token_range, future, session)
 
 def num_requests(self):
 return sum(session.num_requests() for session in 
self.hosts_to_sessions.values())
 
-def get_session(self, hosts):
+def get_session(self, hosts, token_range):
 """
-We select a host to connect to. If we have no connections to one of 
the hosts
-yet then we select this host, else we pick the one with the smallest 
number
-of 

[10/15] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-02 Thread slebresne
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: b087b4c7d5c0fd4e024f1d970437de59d44cd0c8
Parents: bc3ea66 af2b858
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:59:41 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:59:41 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b087b4c7/src/java/org/apache/cassandra/transport/ServerConnection.java
--



[07/15] cassandra git commit: Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2

2016-02-02 Thread slebresne
Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: af2b858429c500265c178dede37f2de2493016c5
Parents: c1ae9d0 165f586
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:57:19 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:58:33 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/CHANGES.txt
--
diff --cc CHANGES.txt
index 9847371,1793c32..9bb9729
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,34 -1,5 +1,35 @@@
 -2.1.13
 +2.2.6
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/pylib/cqlshlib/copyutil.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/src/java/org/apache/cassandra/transport/ServerConnection.java
--



[15/15] cassandra git commit: Merge branch 'cassandra-3.3' into trunk

2016-02-02 Thread slebresne
Merge branch 'cassandra-3.3' into trunk


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

Branch: refs/heads/trunk
Commit: b339b60ec8458950f22ff7e3a7074a720c84e688
Parents: 9b629d0 e96fae3
Author: Sylvain Lebresne 
Authored: Tue Feb 2 15:00:08 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 15:00:08 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


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



[13/15] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.3

2016-02-02 Thread slebresne
Merge branch 'cassandra-3.0' into cassandra-3.3


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

Branch: refs/heads/cassandra-3.3
Commit: e96fae3ca2902219cea7ec6cd6b0a92fdac7b7c9
Parents: fddace6 b087b4c
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:59:58 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:59:58 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e96fae3c/CHANGES.txt
--
diff --cc CHANGES.txt
index c0acd3d,47d2dc1..53208c0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -43,7 -49,17 +43,8 @@@ Merged from 2.2
   * Optimize pending range computation (CASSANDRA-9258)
   * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
   * drop/alter user should be case sensitive (CASSANDRA-10817)
 - * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 - * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 - * Add new types to Stress (CASSANDRA-9556)
 - * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 - * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 - * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 - * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 - * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 - * (cqlsh) encode input correctly when saving history
  Merged from 2.1:
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e96fae3c/pylib/cqlshlib/copyutil.py
--



[08/15] cassandra git commit: Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2

2016-02-02 Thread slebresne
Merge commit '165f586e6f5e7e5d08f0b85e5b00dbe1f68e3e8f' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.0
Commit: af2b858429c500265c178dede37f2de2493016c5
Parents: c1ae9d0 165f586
Author: Sylvain Lebresne 
Authored: Tue Feb 2 14:57:19 2016 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 14:58:33 2016 +0100

--
 CHANGES.txt |  1 +
 pylib/cqlshlib/copyutil.py  | 87 +---
 .../cassandra/transport/ServerConnection.java   |  4 +-
 3 files changed, 58 insertions(+), 34 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/CHANGES.txt
--
diff --cc CHANGES.txt
index 9847371,1793c32..9bb9729
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,34 -1,5 +1,35 @@@
 -2.1.13
 +2.2.6
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes (CASSANDRA-10010)
 +2.2.5
 + * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 + * Apply change to compaction throughput in real time (CASSANDRA-10025)
 + * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 + * Avoid over-fetching during the page of range queries (CASSANDRA-8521)
 + * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
 +   going (CASSANDRA-10979)
 + * Make UUID LSB unique per process (CASSANDRA-7925)
 + * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 + * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 + * Fix error streaming section more than 2GB (CASSANDRA-10961)
 + * (cqlsh) Also apply --connect-timeout to control connection
 +   timeout (CASSANDRA-10959)
 + * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 + * Enable GC logging by default (CASSANDRA-10140)
 + * Optimize pending range computation (CASSANDRA-9258)
 + * Skip commit log and saved cache directories in SSTable version startup 
check (CASSANDRA-10902)
 + * drop/alter user should be case sensitive (CASSANDRA-10817)
 + * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 + * Support counter-columns for native aggregates (sum,avg,max,min) 
(CASSANDRA-9977)
 + * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 + * Add new types to Stress (CASSANDRA-9556)
 + * Add property to allow listening on broadcast interface (CASSANDRA-9748)
 + * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
 + * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 + * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 + * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 + * (cqlsh) encode input correctly when saving history
 +Merged from 2.1:
+  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
   * Fix isJoined return true only after becoming cluster member 
(CASANDRA-11007)
   * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
   * Avoid NPE when incremental repair fails (CASSANDRA-10909)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/pylib/cqlshlib/copyutil.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/af2b8584/src/java/org/apache/cassandra/transport/ServerConnection.java
--



[jira] [Reopened] (CASSANDRA-10779) Mutations do not block for completion under view lock contention

2016-02-02 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian reopened CASSANDRA-10779:


Looks like we missed a couple of other usages -- Mutation.applyUnsafe() and 
apply(boolean).

I pushed a new commit and am running CI now:

[commit|https://github.com/carlyeks/cassandra/commit/f6e40afb73dc9f5b1b2e57e96ed98e7356d48c6d]
 
[utest|http://cassci.datastax.com/view/Dev/view/carlyeks/job/carlyeks-ticket-10779-fix-blocks-testall/]
 
[dtest|http://cassci.datastax.com/view/Dev/view/carlyeks/job/carlyeks-ticket-10779-fix-blocks-dtest/].

> Mutations do not block for completion under view lock contention
> 
>
> Key: CASSANDRA-10779
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10779
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
> Environment: Windows 7 64-bit, Cassandra v3.0.0, Java 1.8u60
>Reporter: Will Zhang
>Assignee: Carl Yeksigian
> Fix For: 3.0.3, 3.3
>
>
> Hi guys,
> I encountered the following warning message when I was testing to upgrade 
> from v2.2.2 to v3.0.0. 
> It looks like a write time-out but in an uncaught exception. Could this be an 
> easy fix?
> Log file section below. Thank you!
> {code}
>   WARN  [SharedPool-Worker-64] 2015-11-26 14:04:24,678 
> AbstractTracingAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-64,10,main]: {}
> org.apache.cassandra.exceptions.WriteTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:427) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:386) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:205) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.db.Keyspace.lambda$apply$59(Keyspace.java:435) 
> ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  ~[apache-cassandra-3.0.0.jar:3.0.0]
>   at 
> org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [apache-cassandra-3.0.0.jar:3.0.0]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
>   INFO  [IndexSummaryManager:1] 2015-11-26 14:41:10,527 
> IndexSummaryManager.java:257 - Redistributing index summaries
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: cqlsh: Include sub-second precision in timestamps by default

2016-02-02 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/trunk b339b60ec -> 27d88ee33


cqlsh: Include sub-second precision in timestamps by default

Patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-10428


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

Branch: refs/heads/trunk
Commit: 27d88ee33506493a115af09857c06593fdd73b07
Parents: b339b60
Author: Stefania Alborghetti 
Authored: Tue Dec 22 16:53:53 2015 +0100
Committer: Sylvain Lebresne 
Committed: Tue Feb 2 15:04:57 2016 +0100

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 11 ++-
 pylib/cqlshlib/copyutil.py   | 13 -
 pylib/cqlshlib/formatting.py | 22 +++---
 4 files changed, 26 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/27d88ee3/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index fb73013..56d214c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.4
+ * cqlsh: Include sub-second precision in timestamps by default 
(CASSANDRA-10428)
  * Set javac encoding to utf-8 (CASSANDRA-11077)
  * Integrate SASI index into Cassandra (CASSANDRA-10661)
  * Add --skip-flush option to nodetool snapshot

http://git-wip-us.apache.org/repos/asf/cassandra/blob/27d88ee3/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index adc0bbb..dcb90b6 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -52,6 +52,10 @@ from uuid import UUID
 if sys.version_info[0] != 2 or sys.version_info[1] != 7:
 sys.exit("\nCQL Shell supports only Python 2.7\n")
 
+# see CASSANDRA-10428
+if platform.python_implementation().startswith('Jython'):
+sys.exit("\nCQL Shell does not run on Jython\n")
+
 description = "CQL Shell for Apache Cassandra"
 version = "5.0.1"
 
@@ -723,10 +727,6 @@ class Shell(cmd.Cmd):
 
 self.current_keyspace = keyspace
 
-self.display_timestamp_format = display_timestamp_format
-self.display_nanotime_format = display_nanotime_format
-self.display_date_format = display_date_format
-
 self.max_trace_wait = max_trace_wait
 self.session.max_trace_wait = max_trace_wait
 if encoding is None:
@@ -781,7 +781,8 @@ class Shell(cmd.Cmd):
 self.decoding_errors.append(val)
 try:
 dtformats = 
DateTimeFormat(timestamp_format=self.display_timestamp_format,
-   date_format=self.display_date_format, 
nanotime_format=self.display_nanotime_format)
+   date_format=self.display_date_format,
+   
nanotime_format=self.display_nanotime_format)
 return format_value(val, self.output_codec.name,
 addcolor=self.color, 
date_time_format=dtformats,
 float_precision=self.display_float_precision, 
**kwargs)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/27d88ee3/pylib/cqlshlib/copyutil.py
--
diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py
index 97f1a98..95da679 100644
--- a/pylib/cqlshlib/copyutil.py
+++ b/pylib/cqlshlib/copyutil.py
@@ -1471,9 +1471,9 @@ class ImportConversion(object):
 
 return ret
 
-# this should match all possible CQL datetime formats
+# this should match all possible CQL and CQLSH datetime formats
 p = re.compile("(\d{4})\-(\d{2})\-(\d{2})\s?(?:'T')?" +  # 
-MM-DD[( |'T')]
-   "(?:(\d{2}):(\d{2})(?::(\d{2}))?)?" +  # [HH:MM[:SS]]
+   "(?:(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,6}))?))?" +  # 
[HH:MM[:SS[.NN]]]
"(?:([+\-])(\d{2}):?(\d{2}))?")  # [(+|-)HH[:]MM]]
 
 def convert_datetime(val, **_):
@@ -1494,13 +1494,16 @@ class ImportConversion(object):
 int(m.group(6)) if m.group(6) else 0,  # 
second
 0, 1, -1))  # day of week, day of year, 
dst-flag
 
-if m.group(7):
-offset = (int(m.group(8)) * 3600 + int(m.group(9)) * 60) * 
int(m.group(7) + '1')
+# convert sub-seconds (a number between 1 and 6 digits) to 
milliseconds
+milliseconds = 0 if not m.group(7) else int(m.group(7)) * pow(10, 
3 - len(m.group(7)))
+
+if m.group(8):
+offset = (int(m.group(9)) * 3600 + 

<    1   2