[jira] [Commented] (CASSANDRA-11102) Data lost during compaction
[ 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
[ 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
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 AlborghettiAuthored: 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
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 AlborghettiAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
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 LebresneAuthored: 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
[ 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
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 AlborghettiAuthored: 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 +