[jira] [Commented] (CASSANDRA-11465) dtest failure in cql_tracing_test.TestCqlTracing.tracing_unknown_impl_test
[ https://issues.apache.org/jira/browse/CASSANDRA-11465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15391376#comment-15391376 ] Stefania commented on CASSANDRA-11465: -- There's a static method that we won't be able to capture with futures but even the approach based on adding a no op event could have the same race, see CASSANDRA-5668. Basically the state may be deleted before the coordinator receives all responses or even sends all requests but this is not applicable to CL.ALL. Also, the 3.9 patch becomes a little bit more involved due to the abstractions introduced by CASSANDRA-10392. Launched the tests again, the latest changes are in a separate commit so we can choose which approach to use. I would prefer to use futures since it is more accurate. ||2.2||3.0||3.9||trunk|| |[patch|https://github.com/stef1927/cassandra/commits/11465-cqlsh-2.2]|[patch|https://github.com/stef1927/cassandra/commits/11465-cqlsh-3.0]|[patch|https://github.com/stef1927/cassandra/commits/11465-cqlsh-3.9]|[patch|https://github.com/stef1927/cassandra/commits/11465-cqlsh]| |[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-2.2-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-3.0-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-3.9-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-testall/]| |[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-2.2-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-3.0-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-3.9-dtest/]|[dtest|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-11465-cqlsh-dtest/]| Only the 2.2 and 3.9 commits need reviewing, the 3.0 and trunk commits are identical to the 2.2. and 3.9 commits respectively. I've also created the pull request for dtests [here|https://github.com/riptano/cassandra-dtest/pull/1125]. > dtest failure in cql_tracing_test.TestCqlTracing.tracing_unknown_impl_test > -- > > Key: CASSANDRA-11465 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11465 > Project: Cassandra > Issue Type: Bug >Reporter: Philip Thompson >Assignee: Stefania > Labels: dtest > > Failing on the following assert, on trunk only: > {{self.assertEqual(len(errs[0]), 1)}} > Is not failing consistently. > example failure: > http://cassci.datastax.com/job/trunk_dtest/1087/testReport/cql_tracing_test/TestCqlTracing/tracing_unknown_impl_test > Failed on CassCI build trunk_dtest #1087 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12242) Could not create trigger
[ https://issues.apache.org/jira/browse/CASSANDRA-12242?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15391250#comment-15391250 ] RocWay Li commented on CASSANDRA-12242: --- TriggerExecutor is a singleton, but the trigger classes are NOT loaded at startup. They are loaded just at the first try to create triggers, when the first time the TriggerExecutor.instance is called. And, sure, the trigger jar exists at the right place, . The failure does happen at ThreadAwareSecurityManager.isSecuredThread(ThreadAwareSecurityManager.java:145) *if (!(tg instanceof SecurityThreadGroup))* *return false*; Refer to the following complete call-stack, please: "Native-Transport-Requests-1@14162" daemon prio=5 tid=0x52 nid=NA runnable java.lang.Thread.State: RUNNABLE at org.apache.cassandra.cql3.functions.ThreadAwareSecurityManager.isSecuredThread(ThreadAwareSecurityManager.java:145) at org.apache.cassandra.cql3.functions.ThreadAwareSecurityManager.checkPermission(ThreadAwareSecurityManager.java:179) at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1294) at java.lang.System.getProperty(System.java:717) at java.io.WinNTFileSystem.getUserPath(WinNTFileSystem.java:346) at java.io.WinNTFileSystem.resolve(WinNTFileSystem.java:309) at java.io.File.getCanonicalPath(File.java:618) at java.io.FilePermission$1.run(FilePermission.java:215) at java.io.FilePermission$1.run(FilePermission.java:203) at java.security.AccessController.doPrivileged(AccessController.java:-1) at java.io.FilePermission.init(FilePermission.java:203) at java.io.FilePermission.(FilePermission.java:277) at java.lang.SecurityManager.checkRead(SecurityManager.java:888) at java.io.File.exists(File.java:814) at org.apache.cassandra.utils.FBUtilities.cassandraTriggerDir(FBUtilities.java:325) at org.apache.cassandra.triggers.TriggerExecutor.reloadClasses(TriggerExecutor.java:60) at org.apache.cassandra.triggers.TriggerExecutor.(TriggerExecutor.java:51) at org.apache.cassandra.triggers.TriggerExecutor.(TriggerExecutor.java:43) at org.apache.cassandra.cql3.statements.CreateTriggerStatement.validate(CreateTriggerStatement.java:67) at org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:212) at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:245) at org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:230) at org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:115) at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:507) at org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:401) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:366) at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:35) at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:357) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:162) at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:111) at java.lang.Thread.run(Thread.java:745) > Could not create trigger > > > Key: CASSANDRA-12242 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12242 > Project: Cassandra > Issue Type: Bug > Components: CQL >Reporter: RocWay Li > Attachments: DataTrigger.java > > > I tried cassandra 2.2.6 and 3.7, both of them could not create triggers. > It reports that the trigger class doesn't exist. But it actually does and is > at the right directory, the conf/triggers. > I debugged the source code, and I found that SEPWorker is used to create > triggers, but it's thread is not a secure thread, which should be managed by > cassandra's SecurityManager and belongs to SecurityThreadGroup. > When security validation failed, an exception will be thrown. That's direct > cause for creating triggers failed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11979) cqlsh copyutil should get host metadata by connected address
[ https://issues.apache.org/jira/browse/CASSANDRA-11979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-11979: - Resolution: Fixed Fix Version/s: (was: 2.2.x) (was: 3.x) 3.9 3.0.9 2.2.8 Status: Resolved (was: Patch Available) > cqlsh copyutil should get host metadata by connected address > > > Key: CASSANDRA-11979 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11979 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Adam Holmberg >Assignee: Stefania >Priority: Minor > Labels: cqlsh > Fix For: 2.2.8, 3.0.9, 3.9 > > > pylib.copyutil presently accesses cluster metadata using {{shell.hostname}} > which could be an unresolved hostname. > https://github.com/apache/cassandra/blob/58d3b9a90461806d44dd85bf4aa928e575d5fb6c/pylib/cqlshlib/copyutil.py#L207 > Cluster metadata normally refers to hosts in terms of numeric host address, > not hostname. This works in the current integration because the driver allows > hosts with unresolved names into metadata during the initial control > connection. In a future version of the driver, that anomaly is removed, and > no duplicate hosts-by-name are present in the metadata. > We will need to update copyutil to refer to hosts by address when accessing > metadata. This can be accomplished by one of two methods presently: > # shell.conn.control_connection.host (gives the current connected host > address) > # scan metadata.all_hosts() for the one that {{is_up}} and use > host.address/host.datacenter -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11979) cqlsh copyutil should get host metadata by connected address
[ https://issues.apache.org/jira/browse/CASSANDRA-11979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-11979: - Labels: cqlsh (was: ) > cqlsh copyutil should get host metadata by connected address > > > Key: CASSANDRA-11979 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11979 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Adam Holmberg >Assignee: Stefania >Priority: Minor > Labels: cqlsh > Fix For: 2.2.x, 3.x > > > pylib.copyutil presently accesses cluster metadata using {{shell.hostname}} > which could be an unresolved hostname. > https://github.com/apache/cassandra/blob/58d3b9a90461806d44dd85bf4aa928e575d5fb6c/pylib/cqlshlib/copyutil.py#L207 > Cluster metadata normally refers to hosts in terms of numeric host address, > not hostname. This works in the current integration because the driver allows > hosts with unresolved names into metadata during the initial control > connection. In a future version of the driver, that anomaly is removed, and > no duplicate hosts-by-name are present in the metadata. > We will need to update copyutil to refer to hosts by address when accessing > metadata. This can be accomplished by one of two methods presently: > # shell.conn.control_connection.host (gives the current connected host > address) > # scan metadata.all_hosts() for the one that {{is_up}} and use > host.address/host.datacenter -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11979) cqlsh copyutil should get host metadata by connected address
[ https://issues.apache.org/jira/browse/CASSANDRA-11979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15391233#comment-15391233 ] Stefania commented on CASSANDRA-11979: -- Thanks for the review. Committed to 2.2 as b92ab60f7254a49573574d083279b47a1a8bfa14 and merged upwards. > cqlsh copyutil should get host metadata by connected address > > > Key: CASSANDRA-11979 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11979 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Adam Holmberg >Assignee: Stefania >Priority: Minor > Labels: cqlsh > Fix For: 2.2.x, 3.x > > > pylib.copyutil presently accesses cluster metadata using {{shell.hostname}} > which could be an unresolved hostname. > https://github.com/apache/cassandra/blob/58d3b9a90461806d44dd85bf4aa928e575d5fb6c/pylib/cqlshlib/copyutil.py#L207 > Cluster metadata normally refers to hosts in terms of numeric host address, > not hostname. This works in the current integration because the driver allows > hosts with unresolved names into metadata during the initial control > connection. In a future version of the driver, that anomaly is removed, and > no duplicate hosts-by-name are present in the metadata. > We will need to update copyutil to refer to hosts by address when accessing > metadata. This can be accomplished by one of two methods presently: > # shell.conn.control_connection.host (gives the current connected host > address) > # scan metadata.all_hosts() for the one that {{is_up}} and use > host.address/host.datacenter -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11979) cqlsh copyutil should get host metadata by connected address
[ https://issues.apache.org/jira/browse/CASSANDRA-11979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-11979: - Component/s: Tools > cqlsh copyutil should get host metadata by connected address > > > Key: CASSANDRA-11979 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11979 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Adam Holmberg >Assignee: Stefania >Priority: Minor > Labels: cqlsh > Fix For: 2.2.x, 3.x > > > pylib.copyutil presently accesses cluster metadata using {{shell.hostname}} > which could be an unresolved hostname. > https://github.com/apache/cassandra/blob/58d3b9a90461806d44dd85bf4aa928e575d5fb6c/pylib/cqlshlib/copyutil.py#L207 > Cluster metadata normally refers to hosts in terms of numeric host address, > not hostname. This works in the current integration because the driver allows > hosts with unresolved names into metadata during the initial control > connection. In a future version of the driver, that anomaly is removed, and > no duplicate hosts-by-name are present in the metadata. > We will need to update copyutil to refer to hosts by address when accessing > metadata. This can be accomplished by one of two methods presently: > # shell.conn.control_connection.host (gives the current connected host > address) > # scan metadata.all_hosts() for the one that {{is_up}} and use > host.address/host.datacenter -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9
Merge branch 'cassandra-3.0' into cassandra-3.9 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9501c64f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9501c64f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9501c64f Branch: refs/heads/trunk Commit: 9501c64f6db9bdfb098a3ffc4e87e5f7f3462009 Parents: 7ca3e28 659be5f Author: Stefania AlborghettiAuthored: Mon Jul 25 09:24:17 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:24:17 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9501c64f/CHANGES.txt -- diff --cc CHANGES.txt index 298dd57,e9f41fb..5c27dc9 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -7,40 -4,6 +7,41 @@@ Merged from 3.0 to connect with too low of a protocol version (CASSANDRA-11464) * NullPointerExpception when reading/compacting table (CASSANDRA-11988) * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144) +Merged from 2.2: ++ * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) +Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) + +3.8 + * Fix hdr logging for single operation workloads (CASSANDRA-12145) + * Fix SASI PREFIX search in CONTAINS mode with partial terms (CASSANDRA-12073) + * Increase size of flushExecutor thread pool (CASSANDRA-12071) + * Partial revert of CASSANDRA-11971, cannot recycle buffer in SP.sendMessagesToNonlocalDC (CASSANDRA-11950) + * Upgrade netty to 4.0.39 (CASSANDRA-12032, CASSANDRA-12034) + * Improve details in compaction log message (CASSANDRA-12080) + * Allow unset values in CQLSSTableWriter (CASSANDRA-11911) + * Chunk cache to request compressor-compatible buffers if pool space is exhausted (CASSANDRA-11993) + * Remove DatabaseDescriptor dependencies from SequentialWriter (CASSANDRA-11579) + * Move skip_stop_words filter before stemming (CASSANDRA-12078) + * Support seek() in EncryptedFileSegmentInputStream (CASSANDRA-11957) + * SSTable tools mishandling LocalPartitioner (CASSANDRA-12002) + * When SEPWorker assigned work, set thread name to match pool (CASSANDRA-11966) + * Add cross-DC latency metrics (CASSANDRA-11596) + * Allow terms in selection clause (CASSANDRA-10783) + * Add bind variables to trace (CASSANDRA-11719) + * Switch counter shards' clock to timestamps (CASSANDRA-9811) + * Introduce HdrHistogram and response/service/wait separation to stress tool (CASSANDRA-11853) + * entry-weighers in QueryProcessor should respect partitionKeyBindIndexes field (CASSANDRA-11718) + * Support older ant versions (CASSANDRA-11807) + * Estimate compressed on disk size when deciding if sstable size limit reached (CASSANDRA-11623) + * cassandra-stress profiles should support case sensitive schemas (CASSANDRA-11546) + * Remove DatabaseDescriptor dependency from FileUtils (CASSANDRA-11578) + * Faster streaming (CASSANDRA-9766) + * Add prepared query parameter to trace for "Execute CQL3 prepared query" session (CASSANDRA-11425) + * Add repaired percentage metric (CASSANDRA-11503) + * Add Change-Data-Capture (CASSANDRA-8844) +Merged from 3.0: * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107) * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393) * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9501c64f/pylib/cqlshlib/copyutil.py --
[07/10] 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/659be5f5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/659be5f5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/659be5f5 Branch: refs/heads/trunk Commit: 659be5f5e7845b477707e54b280575b47a42d0e6 Parents: c3bf2f4 b92ab60 Author: Stefania AlborghettiAuthored: Mon Jul 25 09:23:00 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:23:00 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/659be5f5/CHANGES.txt -- diff --cc CHANGES.txt index 15898df,ebebbdc..e9f41fb --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,23 -1,5 +1,24 @@@ -2.2.8 +3.0.9 + * Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114) + * Respond with v1/v2 protocol header when responding to driver that attempts + to connect with too low of a protocol version (CASSANDRA-11464) + * NullPointerExpception when reading/compacting table (CASSANDRA-11988) + * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144) + * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107) + * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393) + * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147) + * Fix upgrading sparse tables that are incorrectly marked as dense (CASSANDRA-11315) + * Fix reverse queries ignoring range tombstones (CASSANDRA-11733) + * Avoid potential race when rebuilding CFMetaData (CASSANDRA-12098) + * Avoid missing sstables when getting the canonical sstables (CASSANDRA-11996) + * Always select the live sstables when getting sstables in bounds (CASSANDRA-11944) + * Fix column ordering of results with static columns for Thrift requests in + a mixed 2.x/3.x cluster, also fix potential non-resolved duplication of + those static columns in query results (CASSANDRA-12123) + * Avoid digest mismatch with empty but static rows (CASSANDRA-12090) + * Fix EOF exception when altering column type (CASSANDRA-11820) +Merged from 2.2: + * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) http://git-wip-us.apache.org/repos/asf/cassandra/blob/659be5f5/pylib/cqlshlib/copyutil.py --
[06/10] 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/659be5f5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/659be5f5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/659be5f5 Branch: refs/heads/cassandra-3.0 Commit: 659be5f5e7845b477707e54b280575b47a42d0e6 Parents: c3bf2f4 b92ab60 Author: Stefania AlborghettiAuthored: Mon Jul 25 09:23:00 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:23:00 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/659be5f5/CHANGES.txt -- diff --cc CHANGES.txt index 15898df,ebebbdc..e9f41fb --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,23 -1,5 +1,24 @@@ -2.2.8 +3.0.9 + * Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114) + * Respond with v1/v2 protocol header when responding to driver that attempts + to connect with too low of a protocol version (CASSANDRA-11464) + * NullPointerExpception when reading/compacting table (CASSANDRA-11988) + * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144) + * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107) + * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393) + * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147) + * Fix upgrading sparse tables that are incorrectly marked as dense (CASSANDRA-11315) + * Fix reverse queries ignoring range tombstones (CASSANDRA-11733) + * Avoid potential race when rebuilding CFMetaData (CASSANDRA-12098) + * Avoid missing sstables when getting the canonical sstables (CASSANDRA-11996) + * Always select the live sstables when getting sstables in bounds (CASSANDRA-11944) + * Fix column ordering of results with static columns for Thrift requests in + a mixed 2.x/3.x cluster, also fix potential non-resolved duplication of + those static columns in query results (CASSANDRA-12123) + * Avoid digest mismatch with empty but static rows (CASSANDRA-12090) + * Fix EOF exception when altering column type (CASSANDRA-11820) +Merged from 2.2: + * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) http://git-wip-us.apache.org/repos/asf/cassandra/blob/659be5f5/pylib/cqlshlib/copyutil.py --
[05/10] 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/659be5f5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/659be5f5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/659be5f5 Branch: refs/heads/cassandra-3.9 Commit: 659be5f5e7845b477707e54b280575b47a42d0e6 Parents: c3bf2f4 b92ab60 Author: Stefania AlborghettiAuthored: Mon Jul 25 09:23:00 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:23:00 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/659be5f5/CHANGES.txt -- diff --cc CHANGES.txt index 15898df,ebebbdc..e9f41fb --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,23 -1,5 +1,24 @@@ -2.2.8 +3.0.9 + * Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114) + * Respond with v1/v2 protocol header when responding to driver that attempts + to connect with too low of a protocol version (CASSANDRA-11464) + * NullPointerExpception when reading/compacting table (CASSANDRA-11988) + * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144) + * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107) + * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393) + * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147) + * Fix upgrading sparse tables that are incorrectly marked as dense (CASSANDRA-11315) + * Fix reverse queries ignoring range tombstones (CASSANDRA-11733) + * Avoid potential race when rebuilding CFMetaData (CASSANDRA-12098) + * Avoid missing sstables when getting the canonical sstables (CASSANDRA-11996) + * Always select the live sstables when getting sstables in bounds (CASSANDRA-11944) + * Fix column ordering of results with static columns for Thrift requests in + a mixed 2.x/3.x cluster, also fix potential non-resolved duplication of + those static columns in query results (CASSANDRA-12123) + * Avoid digest mismatch with empty but static rows (CASSANDRA-12090) + * Fix EOF exception when altering column type (CASSANDRA-11820) +Merged from 2.2: + * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) http://git-wip-us.apache.org/repos/asf/cassandra/blob/659be5f5/pylib/cqlshlib/copyutil.py --
[01/10] cassandra git commit: cqlsh copyutil should get host metadata by connected address
Repository: cassandra Updated Branches: refs/heads/cassandra-2.2 3a7cfbd19 -> b92ab60f7 refs/heads/cassandra-3.0 c3bf2f47b -> 659be5f5e refs/heads/cassandra-3.9 7ca3e28cd -> 9501c64f6 refs/heads/trunk d588af185 -> 78a91dbe7 cqlsh copyutil should get host metadata by connected address patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11979 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b92ab60f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b92ab60f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b92ab60f Branch: refs/heads/cassandra-2.2 Commit: b92ab60f7254a49573574d083279b47a1a8bfa14 Parents: 3a7cfbd Author: Stefania AlborghettiAuthored: Thu Jul 21 11:08:24 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:21:15 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cf09719..ebebbdc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.8 + * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/pylib/cqlshlib/copyutil.py -- diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py index c7a0e30..14172ef 100644 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@ -205,7 +205,7 @@ class CopyTask(object): self.ks = ks self.table = table self.table_meta = self.shell.get_table_meta(self.ks, self.table) -self.local_dc = shell.conn.metadata.get_host(shell.hostname).datacenter +self.host = shell.conn.get_control_connection_host() self.fname = safe_normpath(fname) self.protocol_version = protocol_version self.config_file = config_file @@ -435,11 +435,11 @@ class CopyTask(object): return dict(ks=self.ks, table=self.table, -local_dc=self.local_dc, +local_dc=self.host.datacenter, columns=self.columns, options=self.options, connect_timeout=shell.conn.connect_timeout, -hostname=shell.hostname, +hostname=self.host.address, port=shell.port, ssl=shell.ssl, auth_provider=shell.auth_provider, @@ -634,8 +634,8 @@ class ExportTask(CopyTask): we use the cqlsh session host. """ shell = self.shell -hostname = shell.hostname -local_dc = self.local_dc +hostname = self.host.address +local_dc = self.host.datacenter ranges = dict() min_token = self.get_min_token() begin_token = self.begin_token
[02/10] cassandra git commit: cqlsh copyutil should get host metadata by connected address
cqlsh copyutil should get host metadata by connected address patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11979 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b92ab60f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b92ab60f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b92ab60f Branch: refs/heads/cassandra-3.0 Commit: b92ab60f7254a49573574d083279b47a1a8bfa14 Parents: 3a7cfbd Author: Stefania AlborghettiAuthored: Thu Jul 21 11:08:24 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:21:15 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cf09719..ebebbdc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.8 + * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/pylib/cqlshlib/copyutil.py -- diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py index c7a0e30..14172ef 100644 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@ -205,7 +205,7 @@ class CopyTask(object): self.ks = ks self.table = table self.table_meta = self.shell.get_table_meta(self.ks, self.table) -self.local_dc = shell.conn.metadata.get_host(shell.hostname).datacenter +self.host = shell.conn.get_control_connection_host() self.fname = safe_normpath(fname) self.protocol_version = protocol_version self.config_file = config_file @@ -435,11 +435,11 @@ class CopyTask(object): return dict(ks=self.ks, table=self.table, -local_dc=self.local_dc, +local_dc=self.host.datacenter, columns=self.columns, options=self.options, connect_timeout=shell.conn.connect_timeout, -hostname=shell.hostname, +hostname=self.host.address, port=shell.port, ssl=shell.ssl, auth_provider=shell.auth_provider, @@ -634,8 +634,8 @@ class ExportTask(CopyTask): we use the cqlsh session host. """ shell = self.shell -hostname = shell.hostname -local_dc = self.local_dc +hostname = self.host.address +local_dc = self.host.datacenter ranges = dict() min_token = self.get_min_token() begin_token = self.begin_token
[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9
Merge branch 'cassandra-3.0' into cassandra-3.9 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9501c64f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9501c64f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9501c64f Branch: refs/heads/cassandra-3.9 Commit: 9501c64f6db9bdfb098a3ffc4e87e5f7f3462009 Parents: 7ca3e28 659be5f Author: Stefania AlborghettiAuthored: Mon Jul 25 09:24:17 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:24:17 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9501c64f/CHANGES.txt -- diff --cc CHANGES.txt index 298dd57,e9f41fb..5c27dc9 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -7,40 -4,6 +7,41 @@@ Merged from 3.0 to connect with too low of a protocol version (CASSANDRA-11464) * NullPointerExpception when reading/compacting table (CASSANDRA-11988) * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144) +Merged from 2.2: ++ * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) +Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) + +3.8 + * Fix hdr logging for single operation workloads (CASSANDRA-12145) + * Fix SASI PREFIX search in CONTAINS mode with partial terms (CASSANDRA-12073) + * Increase size of flushExecutor thread pool (CASSANDRA-12071) + * Partial revert of CASSANDRA-11971, cannot recycle buffer in SP.sendMessagesToNonlocalDC (CASSANDRA-11950) + * Upgrade netty to 4.0.39 (CASSANDRA-12032, CASSANDRA-12034) + * Improve details in compaction log message (CASSANDRA-12080) + * Allow unset values in CQLSSTableWriter (CASSANDRA-11911) + * Chunk cache to request compressor-compatible buffers if pool space is exhausted (CASSANDRA-11993) + * Remove DatabaseDescriptor dependencies from SequentialWriter (CASSANDRA-11579) + * Move skip_stop_words filter before stemming (CASSANDRA-12078) + * Support seek() in EncryptedFileSegmentInputStream (CASSANDRA-11957) + * SSTable tools mishandling LocalPartitioner (CASSANDRA-12002) + * When SEPWorker assigned work, set thread name to match pool (CASSANDRA-11966) + * Add cross-DC latency metrics (CASSANDRA-11596) + * Allow terms in selection clause (CASSANDRA-10783) + * Add bind variables to trace (CASSANDRA-11719) + * Switch counter shards' clock to timestamps (CASSANDRA-9811) + * Introduce HdrHistogram and response/service/wait separation to stress tool (CASSANDRA-11853) + * entry-weighers in QueryProcessor should respect partitionKeyBindIndexes field (CASSANDRA-11718) + * Support older ant versions (CASSANDRA-11807) + * Estimate compressed on disk size when deciding if sstable size limit reached (CASSANDRA-11623) + * cassandra-stress profiles should support case sensitive schemas (CASSANDRA-11546) + * Remove DatabaseDescriptor dependency from FileUtils (CASSANDRA-11578) + * Faster streaming (CASSANDRA-9766) + * Add prepared query parameter to trace for "Execute CQL3 prepared query" session (CASSANDRA-11425) + * Add repaired percentage metric (CASSANDRA-11503) + * Add Change-Data-Capture (CASSANDRA-8844) +Merged from 3.0: * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107) * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393) * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9501c64f/pylib/cqlshlib/copyutil.py --
[03/10] cassandra git commit: cqlsh copyutil should get host metadata by connected address
cqlsh copyutil should get host metadata by connected address patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11979 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b92ab60f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b92ab60f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b92ab60f Branch: refs/heads/cassandra-3.9 Commit: b92ab60f7254a49573574d083279b47a1a8bfa14 Parents: 3a7cfbd Author: Stefania AlborghettiAuthored: Thu Jul 21 11:08:24 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:21:15 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cf09719..ebebbdc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.8 + * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/pylib/cqlshlib/copyutil.py -- diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py index c7a0e30..14172ef 100644 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@ -205,7 +205,7 @@ class CopyTask(object): self.ks = ks self.table = table self.table_meta = self.shell.get_table_meta(self.ks, self.table) -self.local_dc = shell.conn.metadata.get_host(shell.hostname).datacenter +self.host = shell.conn.get_control_connection_host() self.fname = safe_normpath(fname) self.protocol_version = protocol_version self.config_file = config_file @@ -435,11 +435,11 @@ class CopyTask(object): return dict(ks=self.ks, table=self.table, -local_dc=self.local_dc, +local_dc=self.host.datacenter, columns=self.columns, options=self.options, connect_timeout=shell.conn.connect_timeout, -hostname=shell.hostname, +hostname=self.host.address, port=shell.port, ssl=shell.ssl, auth_provider=shell.auth_provider, @@ -634,8 +634,8 @@ class ExportTask(CopyTask): we use the cqlsh session host. """ shell = self.shell -hostname = shell.hostname -local_dc = self.local_dc +hostname = self.host.address +local_dc = self.host.datacenter ranges = dict() min_token = self.get_min_token() begin_token = self.begin_token
[10/10] cassandra git commit: Merge branch 'cassandra-3.9' into trunk
Merge branch 'cassandra-3.9' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/78a91dbe Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/78a91dbe Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/78a91dbe Branch: refs/heads/trunk Commit: 78a91dbe752c6804b0b2edb5b2943a03b2744ad8 Parents: d588af1 9501c64 Author: Stefania AlborghettiAuthored: Mon Jul 25 09:24:46 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:24:46 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/78a91dbe/CHANGES.txt --
[04/10] cassandra git commit: cqlsh copyutil should get host metadata by connected address
cqlsh copyutil should get host metadata by connected address patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11979 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b92ab60f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b92ab60f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b92ab60f Branch: refs/heads/trunk Commit: b92ab60f7254a49573574d083279b47a1a8bfa14 Parents: 3a7cfbd Author: Stefania AlborghettiAuthored: Thu Jul 21 11:08:24 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 09:21:15 2016 +0800 -- CHANGES.txt| 1 + pylib/cqlshlib/copyutil.py | 10 +- 2 files changed, 6 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cf09719..ebebbdc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.8 + * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979) * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) http://git-wip-us.apache.org/repos/asf/cassandra/blob/b92ab60f/pylib/cqlshlib/copyutil.py -- diff --git a/pylib/cqlshlib/copyutil.py b/pylib/cqlshlib/copyutil.py index c7a0e30..14172ef 100644 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@ -205,7 +205,7 @@ class CopyTask(object): self.ks = ks self.table = table self.table_meta = self.shell.get_table_meta(self.ks, self.table) -self.local_dc = shell.conn.metadata.get_host(shell.hostname).datacenter +self.host = shell.conn.get_control_connection_host() self.fname = safe_normpath(fname) self.protocol_version = protocol_version self.config_file = config_file @@ -435,11 +435,11 @@ class CopyTask(object): return dict(ks=self.ks, table=self.table, -local_dc=self.local_dc, +local_dc=self.host.datacenter, columns=self.columns, options=self.options, connect_timeout=shell.conn.connect_timeout, -hostname=shell.hostname, +hostname=self.host.address, port=shell.port, ssl=shell.ssl, auth_provider=shell.auth_provider, @@ -634,8 +634,8 @@ class ExportTask(CopyTask): we use the cqlsh session host. """ shell = self.shell -hostname = shell.hostname -local_dc = self.local_dc +hostname = self.host.address +local_dc = self.host.datacenter ranges = dict() min_token = self.get_min_token() begin_token = self.begin_token
[jira] [Resolved] (CASSANDRA-10884) test_refresh_schema_on_timeout_error dtest flapping on CassCI
[ https://issues.apache.org/jira/browse/CASSANDRA-10884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania resolved CASSANDRA-10884. -- Resolution: Duplicate Fix Version/s: (was: 3.0.x) Fixed by CASSANDRA-11850. > test_refresh_schema_on_timeout_error dtest flapping on CassCI > - > > Key: CASSANDRA-10884 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10884 > Project: Cassandra > Issue Type: Sub-task >Reporter: Jim Witschey >Assignee: DS Test Eng > Labels: dtest > > These tests create keyspaces and tables through cqlsh, then runs {{DESCRIBE}} > to confirm they were successfully created. These tests flap under the novnode > dtest runs: > http://cassci.datastax.com/job/cassandra-2.1_novnode_dtest/lastCompletedBuild/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_refresh_schema_on_timeout_error/history/ > http://cassci.datastax.com/job/cassandra-2.2_novnode_dtest/lastCompletedBuild/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_refresh_schema_on_timeout_error/history/ > I have not reproduced this locally on Linux. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-11999) dtest failure in cqlsh_tests.cqlsh_tests.TestCqlsh.test_refresh_schema_on_timeout_error
[ https://issues.apache.org/jira/browse/CASSANDRA-11999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania resolved CASSANDRA-11999. -- Resolution: Duplicate Fixed by CASSANDRA-11850. > dtest failure in > cqlsh_tests.cqlsh_tests.TestCqlsh.test_refresh_schema_on_timeout_error > --- > > Key: CASSANDRA-11999 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11999 > Project: Cassandra > Issue Type: Test >Reporter: Craig Kodman >Assignee: Stefania > Labels: dtest > Attachments: node1.log, node1_debug.log, node2.log, node2_debug.log, > node3.log, node3_debug.log > > > example failure: > http://cassci.datastax.com/job/cassandra-3.0_dtest/745/testReport/cqlsh_tests.cqlsh_tests/TestCqlsh/test_refresh_schema_on_timeout_error > Failed on CassCI build cassandra-3.0_dtest #745 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11850) cannot use cql since upgrading python to 2.7.11+
[ https://issues.apache.org/jira/browse/CASSANDRA-11850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-11850: - Resolution: Fixed Fix Version/s: (was: 3.0.x) (was: 2.2.x) (was: 2.1.x) (was: 3.x) 3.9 3.0.9 2.2.8 2.1.16 Status: Resolved (was: Ready to Commit) > cannot use cql since upgrading python to 2.7.11+ > > > Key: CASSANDRA-11850 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11850 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: Development >Reporter: Andrew Madison >Assignee: Stefania > Labels: cqlsh > Fix For: 2.1.16, 2.2.8, 3.0.9, 3.9 > > > OS: Debian GNU/Linux stretch/sid > Kernel: 4.5.0-2-amd64 #1 SMP Debian 4.5.4-1 (2016-05-16) x86_64 GNU/Linux > Python version: 2.7.11+ (default, May 9 2016, 15:54:33) > [GCC 5.3.1 20160429] > cqlsh --version: cqlsh 5.0.1 > cassandra -v: 3.5 (also occurs with 3.0.6) > Issue: > when running cqlsh, it returns the following error: > cqlsh -u dbarpt_usr01 > Password: * > Connection error: ('Unable to connect to any servers', {'odbasandbox1': > TypeError('ref() does not take keyword arguments',)}) > I cleared PYTHONPATH: > python -c "import json; print dir(json); print json.__version__" > ['JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__builtins__', > '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', > '_default_decoder', '_default_encoder', 'decoder', 'dump', 'dumps', > 'encoder', 'load', 'loads', 'scanner'] > 2.0.9 > Java based clients can connect to Cassandra with no issue. Just CQLSH and > Python clients cannot. > nodetool status also works. > Thank you for your help. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11850) cannot use cql since upgrading python to 2.7.11+
[ https://issues.apache.org/jira/browse/CASSANDRA-11850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stefania updated CASSANDRA-11850: - Component/s: (was: CQL) Tools > cannot use cql since upgrading python to 2.7.11+ > > > Key: CASSANDRA-11850 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11850 > Project: Cassandra > Issue Type: Bug > Components: Tools > Environment: Development >Reporter: Andrew Madison >Assignee: Stefania > Labels: cqlsh > Fix For: 2.1.16, 2.2.8, 3.0.9, 3.9 > > > OS: Debian GNU/Linux stretch/sid > Kernel: 4.5.0-2-amd64 #1 SMP Debian 4.5.4-1 (2016-05-16) x86_64 GNU/Linux > Python version: 2.7.11+ (default, May 9 2016, 15:54:33) > [GCC 5.3.1 20160429] > cqlsh --version: cqlsh 5.0.1 > cassandra -v: 3.5 (also occurs with 3.0.6) > Issue: > when running cqlsh, it returns the following error: > cqlsh -u dbarpt_usr01 > Password: * > Connection error: ('Unable to connect to any servers', {'odbasandbox1': > TypeError('ref() does not take keyword arguments',)}) > I cleared PYTHONPATH: > python -c "import json; print dir(json); print json.__version__" > ['JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__builtins__', > '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', > '_default_decoder', '_default_encoder', 'decoder', 'dump', 'dumps', > 'encoder', 'load', 'loads', 'scanner'] > 2.0.9 > Java based clients can connect to Cassandra with no issue. Just CQLSH and > Python clients cannot. > nodetool status also works. > Thank you for your help. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11850) cannot use cql since upgrading python to 2.7.11+
[ https://issues.apache.org/jira/browse/CASSANDRA-11850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15391222#comment-15391222 ] Stefania commented on CASSANDRA-11850: -- Thanks Paulo and Tyler. Committed to 2.1 as 3d3359eb95eebff48c4966e3e23f7efb4af0f535 and merged upwards. PR updated and merged. > cannot use cql since upgrading python to 2.7.11+ > > > Key: CASSANDRA-11850 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11850 > Project: Cassandra > Issue Type: Bug > Components: CQL > Environment: Development >Reporter: Andrew Madison >Assignee: Stefania > Labels: cqlsh > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > > OS: Debian GNU/Linux stretch/sid > Kernel: 4.5.0-2-amd64 #1 SMP Debian 4.5.4-1 (2016-05-16) x86_64 GNU/Linux > Python version: 2.7.11+ (default, May 9 2016, 15:54:33) > [GCC 5.3.1 20160429] > cqlsh --version: cqlsh 5.0.1 > cassandra -v: 3.5 (also occurs with 3.0.6) > Issue: > when running cqlsh, it returns the following error: > cqlsh -u dbarpt_usr01 > Password: * > Connection error: ('Unable to connect to any servers', {'odbasandbox1': > TypeError('ref() does not take keyword arguments',)}) > I cleared PYTHONPATH: > python -c "import json; print dir(json); print json.__version__" > ['JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__builtins__', > '__doc__', '__file__', '__name__', '__package__', '__path__', '__version__', > '_default_decoder', '_default_encoder', 'decoder', 'dump', 'dumps', > 'encoder', 'load', 'loads', 'scanner'] > 2.0.9 > Java based clients can connect to Cassandra with no issue. Just CQLSH and > Python clients cannot. > nodetool status also works. > Thank you for your help. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[09/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/c7a25972 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7a25972 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7a25972 Branch: refs/heads/cassandra-3.9 Commit: c7a25972e9bab7188fcdf169d537edbc0020f9dd Parents: e8186fe ba06847 Author: Jonathan EllisAuthored: Thu Jul 21 10:17:57 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:17:57 2016 -0500 -- --
[30/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/copyutil.py -- diff --cc pylib/cqlshlib/copyutil.py index a1adbaa,0016dfd..c7a0e30 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@@ -665,11 -647,11 +665,11 @@@ class ExportTask(CopyTask) hosts = [] if replicas: for r in replicas: --if r.is_up and r.datacenter == local_dc: ++if r.is_up is not False and r.datacenter == local_dc: hosts.append(r.address) if not hosts: hosts.append(hostname) # fallback to default host if no replicas in current dc --return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0} ++return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0, 'workerno': -1} if begin_token and begin_token < min_token: shell.printerr('Begin token %d must be bigger or equal to min token %d' % (begin_token, min_token)) @@@ -736,8 -718,8 +736,11 @@@ return None def send_work(self, ranges, tokens_to_send): --i = 0 ++prev_worker_no = ranges[tokens_to_send[0]]['workerno'] ++i = prev_worker_no + 1 if -1 <= prev_worker_no < (self.num_processes - 1) else 0 ++ for token_range in tokens_to_send: ++ranges[token_range]['workerno'] = i self.outmsg.channels[i].send((token_range, ranges[token_range])) ranges[token_range]['attempts'] += 1 @@@ -1327,6 -1299,6 +1330,7 @@@ class ChildProcess(mp.Process) self.thousands_sep = options.copy['thousandssep'] self.boolean_styles = options.copy['boolstyle'] self.max_attempts = options.copy['maxattempts'] ++self.encoding = options.copy['encoding'] # Here we inject some failures for testing purposes, only if this environment variable is set if os.environ.get('CQLSH_COPY_TEST_FAILURES', ''): self.test_failures = json.loads(os.environ.get('CQLSH_COPY_TEST_FAILURES', '')) @@@ -1442,7 -1414,7 +1446,6 @@@ class ExportProcess(ChildProcess) def __init__(self, params): ChildProcess.__init__(self, params=params, target=self.run) options = params['options'] --self.encoding = options.copy['encoding'] self.float_precision = options.copy['float_precision'] self.nullval = options.copy['nullval'] self.max_requests = options.copy['maxrequests'] @@@ -1692,8 -1664,8 +1695,9 @@@ class ImportConversion(object) self.decimal_sep = parent.decimal_sep self.thousands_sep = parent.thousands_sep self.boolean_styles = parent.boolean_styles -self.time_format = parent.time_format +self.date_time_format = parent.date_time_format.timestamp_format self.debug = parent.debug ++self.encoding = parent.encoding self.table_meta = table_meta self.primary_key_indexes = [self.columns.index(col.name) for col in self.table_meta.primary_key] @@@ -1713,10 -1685,10 +1717,15 @@@ # the cql types for the entire statement, these are the same as the types above but # only when using prepared statements -self.coltypes = [table_meta.columns[name].typestring for name in parent.valid_columns] +self.coltypes = [table_meta.columns[name].cql_type for name in parent.valid_columns] # these functions are used for non-prepared statements to protect values with quotes if required --self.protectors = [protect_value if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet') else lambda v: v -- for t in self.coltypes] ++self.protectors = [self._get_protector(t) for t in self.coltypes] ++ ++def _get_protector(self, t): ++if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet'): ++return lambda v: unicode(protect_value(v), self.encoding) ++else: ++return lambda v: v @staticmethod def _get_primary_key_statement(parent, table_meta): @@@ -2043,7 -2019,7 +2052,7 @@@ class TokenMap(object) def filter_replicas(self, hosts): shuffled = tuple(sorted(hosts, key=lambda k: random.random())) --return filter(lambda r: r.is_up and r.datacenter == self.local_dc, shuffled) if hosts else () ++return filter(lambda r: r.is_up is not False and r.datacenter == self.local_dc, shuffled) if hosts else () class FastTokenAwarePolicy(DCAwareRoundRobinPolicy): http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/test/test_cqlsh_output.py -- diff --cc pylib/cqlshlib/test/test_cqlsh_output.py index 60699f3,e3af8e8..e47b981 --- a/pylib/cqlshlib/test/test_cqlsh_output.py +++
[15/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/a5930afa Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a5930afa Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a5930afa Branch: refs/heads/cassandra-3.9 Commit: a5930afa35b56742cae9118054f96d7e0bec8cc3 Parents: c7a2597 ad1dcef Author: Jonathan EllisAuthored: Thu Jul 21 10:19:06 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:19:06 2016 -0500 -- --
[37/41] 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/c3bf2f47 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c3bf2f47 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c3bf2f47 Branch: refs/heads/trunk Commit: c3bf2f47b979e14fbd2819741a5e3f63f50f68dc Parents: 864e009 3a7cfbd Author: Stefania AlborghettiAuthored: Mon Jul 25 08:41:17 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:41:55 2016 +0800 -- CHANGES.txt | 1 + bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/test_cqlsh_output.py| 2 +- pylib/cqlshlib/tracing.py | 2 +- 7 files changed, 40 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3bf2f47/CHANGES.txt -- diff --cc CHANGES.txt index eb73da2,cf09719..15898df --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -21,20 -2,18 +21,21 @@@ Merged from 2.2 * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) - * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) - * Don't write shadowed range tombstone (CASSANDRA-12030) Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) - * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) - * Account for partition deletions in tombstone histogram (CASSANDRA-12112) -2.2.7 +3.0.8 + * Fix potential race in schema during new table creation (CASSANDRA-12083) + * cqlsh: fix error handling in rare COPY FROM failure scenario (CASSANDRA-12070) + * Disable autocompaction during drain (CASSANDRA-11878) + * Add a metrics timer to MemtablePool and use it to track time spent blocked on memory in MemtableAllocator (CASSANDRA-11327) + * Fix upgrading schema with super columns with non-text subcomparators (CASSANDRA-12023) + * Add TimeWindowCompactionStrategy (CASSANDRA-9666) +Merged from 2.2: * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755) * Validate bloom_filter_fp_chance against lowest supported value when the table is created (CASSANDRA-11920) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3bf2f47/bin/cqlsh.py -- diff --cc bin/cqlsh.py index f770ff1,a3eacdd..70eecfd --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -1308,25 -1236,30 +1295,30 @@@ class Shell(cmd.Cmd) if not statement: return False, None - while True: + future = self.session.execute_async(statement, trace=self.tracing_enabled) + result = None + try: + result = future.result() + except CQL_ERRORS, err: + self.printerr(unicode(err.__class__.__name__) + u": " + err.message.decode(encoding='utf-8')) + except Exception: + import traceback + self.printerr(traceback.format_exc()) + + # Even if statement failed we try to refresh schema if not agreed (see CASSANDRA-9689) + if not future.is_schema_agreed: try: - future = self.session.execute_async(statement, trace=self.tracing_enabled) - result = future.result() - break - except cassandra.OperationTimedOut, err: - self.refresh_schema_metadata_best_effort() - self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err)) - return False, None - except CQL_ERRORS, err: - self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err)) - return False, None - except Exception, err: - import traceback - self.printerr(traceback.format_exc()) - return False, None + self.conn.refresh_schema_metadata(5) # will throw exception if there is a schema mismatch +
[34/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/bin/cqlsh.py -- diff --cc bin/cqlsh.py index dd0446a,000..a3eacdd mode 100644,00..100644 --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -1,2580 -1,0 +1,2572 @@@ +#!/bin/sh +# -*- mode: Python -*- + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""":" +# bash code here; finds a suitable python interpreter and execs this file. +# prefer unqualified "python" if suitable: +python -c 'import sys; sys.exit(not (0x020700b0 < sys.hexversion < 0x0300))' 2>/dev/null \ +&& exec python "$0" "$@" +for pyver in 2.7; do +which python$pyver > /dev/null 2>&1 && exec python$pyver "$0" "$@" +done +echo "No appropriate python interpreter found." >&2 +exit 1 +":""" + +from __future__ import with_statement + +import cmd +import codecs +import ConfigParser +import csv +import getpass +import optparse +import os +import platform +import sys +import traceback +import warnings +import webbrowser +from StringIO import StringIO +from contextlib import contextmanager +from glob import glob +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") + +UTF8 = 'utf-8' +CP65001 = 'cp65001' # Win utf-8 variant + +description = "CQL Shell for Apache Cassandra" +version = "5.0.1" + +readline = None +try: +# check if tty first, cause readline doesn't check, and only cares +# about $TERM. we don't want the funky escape code stuff to be +# output if not a tty. +if sys.stdin.isatty(): +import readline +except ImportError: +pass + +CQL_LIB_PREFIX = 'cassandra-driver-internal-only-' + +CASSANDRA_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') +CASSANDRA_CQL_HTML_FALLBACK = 'https://cassandra.apache.org/doc/cql3/CQL-2.2.html' + +if os.path.exists(CASSANDRA_PATH + '/doc/cql3/CQL.html'): +# default location of local CQL.html +CASSANDRA_CQL_HTML = 'file://' + CASSANDRA_PATH + '/doc/cql3/CQL.html' +elif os.path.exists('/usr/share/doc/cassandra/CQL.html'): +# fallback to package file +CASSANDRA_CQL_HTML = 'file:///usr/share/doc/cassandra/CQL.html' +else: +# fallback to online version +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK + +# On Linux, the Python webbrowser module uses the 'xdg-open' executable +# to open a file/URL. But that only works, if the current session has been +# opened from _within_ a desktop environment. I.e. 'xdg-open' will fail, +# if the session's been opened via ssh to a remote box. +# +# Use 'python' to get some information about the detected browsers. +# >>> import webbrowser +# >>> webbrowser._tryorder +# >>> webbrowser._browser +# +if len(webbrowser._tryorder) == 0: +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK +elif webbrowser._tryorder[0] == 'xdg-open' and os.environ.get('XDG_DATA_DIRS', '') == '': +# only on Linux (some OS with xdg-open) +webbrowser._tryorder.remove('xdg-open') +webbrowser._tryorder.append('xdg-open') + +# use bundled libs for python-cql and thrift, if available. if there +# is a ../lib dir, use bundled libs there preferentially. +ZIPLIB_DIRS = [os.path.join(CASSANDRA_PATH, 'lib')] +myplatform = platform.system() +is_win = myplatform == 'Windows' + +# Workaround for supporting CP65001 encoding on python < 3.3 (https://bugs.python.org/issue13216) +if is_win and sys.version_info < (3, 3): +codecs.register(lambda name: codecs.lookup(UTF8) if name == CP65001 else None) + +if myplatform == 'Linux': +ZIPLIB_DIRS.append('/usr/share/cassandra/lib') + +if os.environ.get('CQLSH_NO_BUNDLED', ''): +ZIPLIB_DIRS = () + + +def find_zip(libprefix): +for ziplibdir in ZIPLIB_DIRS: +zips = glob(os.path.join(ziplibdir, libprefix + '*.zip')) +if zips: +return max(zips) # probably the highest version, if multiple + +cql_zip = find_zip(CQL_LIB_PREFIX) +if cql_zip: +ver = os.path.splitext(os.path.basename(cql_zip))[0][len(CQL_LIB_PREFIX):] +sys.path.insert(0, os.path.join(cql_zip,
[31/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/bin/cqlsh.py -- diff --cc bin/cqlsh.py index dd0446a,000..a3eacdd mode 100644,00..100644 --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -1,2580 -1,0 +1,2572 @@@ +#!/bin/sh +# -*- mode: Python -*- + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""":" +# bash code here; finds a suitable python interpreter and execs this file. +# prefer unqualified "python" if suitable: +python -c 'import sys; sys.exit(not (0x020700b0 < sys.hexversion < 0x0300))' 2>/dev/null \ +&& exec python "$0" "$@" +for pyver in 2.7; do +which python$pyver > /dev/null 2>&1 && exec python$pyver "$0" "$@" +done +echo "No appropriate python interpreter found." >&2 +exit 1 +":""" + +from __future__ import with_statement + +import cmd +import codecs +import ConfigParser +import csv +import getpass +import optparse +import os +import platform +import sys +import traceback +import warnings +import webbrowser +from StringIO import StringIO +from contextlib import contextmanager +from glob import glob +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") + +UTF8 = 'utf-8' +CP65001 = 'cp65001' # Win utf-8 variant + +description = "CQL Shell for Apache Cassandra" +version = "5.0.1" + +readline = None +try: +# check if tty first, cause readline doesn't check, and only cares +# about $TERM. we don't want the funky escape code stuff to be +# output if not a tty. +if sys.stdin.isatty(): +import readline +except ImportError: +pass + +CQL_LIB_PREFIX = 'cassandra-driver-internal-only-' + +CASSANDRA_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') +CASSANDRA_CQL_HTML_FALLBACK = 'https://cassandra.apache.org/doc/cql3/CQL-2.2.html' + +if os.path.exists(CASSANDRA_PATH + '/doc/cql3/CQL.html'): +# default location of local CQL.html +CASSANDRA_CQL_HTML = 'file://' + CASSANDRA_PATH + '/doc/cql3/CQL.html' +elif os.path.exists('/usr/share/doc/cassandra/CQL.html'): +# fallback to package file +CASSANDRA_CQL_HTML = 'file:///usr/share/doc/cassandra/CQL.html' +else: +# fallback to online version +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK + +# On Linux, the Python webbrowser module uses the 'xdg-open' executable +# to open a file/URL. But that only works, if the current session has been +# opened from _within_ a desktop environment. I.e. 'xdg-open' will fail, +# if the session's been opened via ssh to a remote box. +# +# Use 'python' to get some information about the detected browsers. +# >>> import webbrowser +# >>> webbrowser._tryorder +# >>> webbrowser._browser +# +if len(webbrowser._tryorder) == 0: +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK +elif webbrowser._tryorder[0] == 'xdg-open' and os.environ.get('XDG_DATA_DIRS', '') == '': +# only on Linux (some OS with xdg-open) +webbrowser._tryorder.remove('xdg-open') +webbrowser._tryorder.append('xdg-open') + +# use bundled libs for python-cql and thrift, if available. if there +# is a ../lib dir, use bundled libs there preferentially. +ZIPLIB_DIRS = [os.path.join(CASSANDRA_PATH, 'lib')] +myplatform = platform.system() +is_win = myplatform == 'Windows' + +# Workaround for supporting CP65001 encoding on python < 3.3 (https://bugs.python.org/issue13216) +if is_win and sys.version_info < (3, 3): +codecs.register(lambda name: codecs.lookup(UTF8) if name == CP65001 else None) + +if myplatform == 'Linux': +ZIPLIB_DIRS.append('/usr/share/cassandra/lib') + +if os.environ.get('CQLSH_NO_BUNDLED', ''): +ZIPLIB_DIRS = () + + +def find_zip(libprefix): +for ziplibdir in ZIPLIB_DIRS: +zips = glob(os.path.join(ziplibdir, libprefix + '*.zip')) +if zips: +return max(zips) # probably the highest version, if multiple + +cql_zip = find_zip(CQL_LIB_PREFIX) +if cql_zip: +ver = os.path.splitext(os.path.basename(cql_zip))[0][len(CQL_LIB_PREFIX):] +sys.path.insert(0, os.path.join(cql_zip,
[04/41] cassandra git commit: Revert "Reduce contention getting instances of CompositeType"
Revert "Reduce contention getting instances of CompositeType" This reverts commit fda3d8ee25adc4837bb5754f718062e522c04788. (See thread at https://mail-archives.apache.org/mod_mbox/cassandra-dev/201607.mbox/%3CCALdd-zjg%2Ba73VncPkU2rw_UpFPVsw0yNwO-yBqUQfK8H8FpiKw%40mail.gmail.com%3E) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba068472 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba068472 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba068472 Branch: refs/heads/cassandra-3.0 Commit: ba068472b33dc4e68aeb05deb480811b37582a46 Parents: e865e88 Author: Jonathan EllisAuthored: Thu Jul 21 10:17:31 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:17:31 2016 -0500 -- CHANGES.txt | 1 + .../cassandra/db/marshal/CompositeType.java | 20 2 files changed, 9 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba068472/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b1dcbe1..d29feea 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) + 2.1.15 * Account for partition deletions in tombstone histogram (CASSANDRA-12112) * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba068472/src/java/org/apache/cassandra/db/marshal/CompositeType.java -- diff --git a/src/java/org/apache/cassandra/db/marshal/CompositeType.java b/src/java/org/apache/cassandra/db/marshal/CompositeType.java index d25336d..f8ac22d 100644 --- a/src/java/org/apache/cassandra/db/marshal/CompositeType.java +++ b/src/java/org/apache/cassandra/db/marshal/CompositeType.java @@ -19,18 +19,18 @@ package org.apache.cassandra.db.marshal; import java.io.IOException; import java.nio.ByteBuffer; -import java.util.ArrayList; import java.util.Arrays; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; +import java.util.Map; import com.google.common.collect.ImmutableList; -import org.apache.cassandra.cql3.ColumnIdentifier; -import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.exceptions.SyntaxException; +import org.apache.cassandra.cql3.ColumnIdentifier; +import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.serializers.MarshalException; import org.apache.cassandra.utils.ByteBufferUtil; @@ -67,7 +67,7 @@ public class CompositeType extends AbstractCompositeType public final List types; // interning instances -private static final ConcurrentMap , CompositeType> instances = new ConcurrentHashMap
, CompositeType>(); +private static final Map
, CompositeType> instances = new HashMap
, CompositeType>(); public static CompositeType getInstance(TypeParser parser) throws ConfigurationException, SyntaxException { @@ -97,7 +97,7 @@ public class CompositeType extends AbstractCompositeType return true; } -public static CompositeType getInstance(List
types) +public static synchronized CompositeType getInstance(List types) { assert types != null && !types.isEmpty(); @@ -105,11 +105,7 @@ public class CompositeType extends AbstractCompositeType if (ct == null) { ct = new CompositeType(types); -CompositeType previous = instances.putIfAbsent(types, ct); -if (previous != null) -{ -ct = previous; -} +instances.put(types, ct); } return ct; }
[11/41] cassandra git commit: update CHANGES
update CHANGES Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ad1dcefe Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ad1dcefe Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ad1dcefe Branch: refs/heads/cassandra-3.0 Commit: ad1dcefe8ed06cf2a7e5411e3f8e72f0a318d0cb Parents: ba06847 Author: Jonathan EllisAuthored: Thu Jul 21 10:18:56 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:18:56 2016 -0500 -- CHANGES.txt | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad1dcefe/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d29feea..c3afaca 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,5 @@ 2.1.16 * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) - * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349)
[24/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/copyutil.py -- diff --cc pylib/cqlshlib/copyutil.py index a1adbaa,0016dfd..c7a0e30 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@@ -665,11 -647,11 +665,11 @@@ class ExportTask(CopyTask) hosts = [] if replicas: for r in replicas: --if r.is_up and r.datacenter == local_dc: ++if r.is_up is not False and r.datacenter == local_dc: hosts.append(r.address) if not hosts: hosts.append(hostname) # fallback to default host if no replicas in current dc --return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0} ++return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0, 'workerno': -1} if begin_token and begin_token < min_token: shell.printerr('Begin token %d must be bigger or equal to min token %d' % (begin_token, min_token)) @@@ -736,8 -718,8 +736,11 @@@ return None def send_work(self, ranges, tokens_to_send): --i = 0 ++prev_worker_no = ranges[tokens_to_send[0]]['workerno'] ++i = prev_worker_no + 1 if -1 <= prev_worker_no < (self.num_processes - 1) else 0 ++ for token_range in tokens_to_send: ++ranges[token_range]['workerno'] = i self.outmsg.channels[i].send((token_range, ranges[token_range])) ranges[token_range]['attempts'] += 1 @@@ -1327,6 -1299,6 +1330,7 @@@ class ChildProcess(mp.Process) self.thousands_sep = options.copy['thousandssep'] self.boolean_styles = options.copy['boolstyle'] self.max_attempts = options.copy['maxattempts'] ++self.encoding = options.copy['encoding'] # Here we inject some failures for testing purposes, only if this environment variable is set if os.environ.get('CQLSH_COPY_TEST_FAILURES', ''): self.test_failures = json.loads(os.environ.get('CQLSH_COPY_TEST_FAILURES', '')) @@@ -1442,7 -1414,7 +1446,6 @@@ class ExportProcess(ChildProcess) def __init__(self, params): ChildProcess.__init__(self, params=params, target=self.run) options = params['options'] --self.encoding = options.copy['encoding'] self.float_precision = options.copy['float_precision'] self.nullval = options.copy['nullval'] self.max_requests = options.copy['maxrequests'] @@@ -1692,8 -1664,8 +1695,9 @@@ class ImportConversion(object) self.decimal_sep = parent.decimal_sep self.thousands_sep = parent.thousands_sep self.boolean_styles = parent.boolean_styles -self.time_format = parent.time_format +self.date_time_format = parent.date_time_format.timestamp_format self.debug = parent.debug ++self.encoding = parent.encoding self.table_meta = table_meta self.primary_key_indexes = [self.columns.index(col.name) for col in self.table_meta.primary_key] @@@ -1713,10 -1685,10 +1717,15 @@@ # the cql types for the entire statement, these are the same as the types above but # only when using prepared statements -self.coltypes = [table_meta.columns[name].typestring for name in parent.valid_columns] +self.coltypes = [table_meta.columns[name].cql_type for name in parent.valid_columns] # these functions are used for non-prepared statements to protect values with quotes if required --self.protectors = [protect_value if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet') else lambda v: v -- for t in self.coltypes] ++self.protectors = [self._get_protector(t) for t in self.coltypes] ++ ++def _get_protector(self, t): ++if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet'): ++return lambda v: unicode(protect_value(v), self.encoding) ++else: ++return lambda v: v @staticmethod def _get_primary_key_statement(parent, table_meta): @@@ -2043,7 -2019,7 +2052,7 @@@ class TokenMap(object) def filter_replicas(self, hosts): shuffled = tuple(sorted(hosts, key=lambda k: random.random())) --return filter(lambda r: r.is_up and r.datacenter == self.local_dc, shuffled) if hosts else () ++return filter(lambda r: r.is_up is not False and r.datacenter == self.local_dc, shuffled) if hosts else () class FastTokenAwarePolicy(DCAwareRoundRobinPolicy): http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/test/test_cqlsh_output.py -- diff --cc pylib/cqlshlib/test/test_cqlsh_output.py index 60699f3,e3af8e8..e47b981 --- a/pylib/cqlshlib/test/test_cqlsh_output.py +++
[33/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/copyutil.py -- diff --cc pylib/cqlshlib/copyutil.py index a1adbaa,0016dfd..c7a0e30 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@@ -665,11 -647,11 +665,11 @@@ class ExportTask(CopyTask) hosts = [] if replicas: for r in replicas: --if r.is_up and r.datacenter == local_dc: ++if r.is_up is not False and r.datacenter == local_dc: hosts.append(r.address) if not hosts: hosts.append(hostname) # fallback to default host if no replicas in current dc --return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0} ++return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0, 'workerno': -1} if begin_token and begin_token < min_token: shell.printerr('Begin token %d must be bigger or equal to min token %d' % (begin_token, min_token)) @@@ -736,8 -718,8 +736,11 @@@ return None def send_work(self, ranges, tokens_to_send): --i = 0 ++prev_worker_no = ranges[tokens_to_send[0]]['workerno'] ++i = prev_worker_no + 1 if -1 <= prev_worker_no < (self.num_processes - 1) else 0 ++ for token_range in tokens_to_send: ++ranges[token_range]['workerno'] = i self.outmsg.channels[i].send((token_range, ranges[token_range])) ranges[token_range]['attempts'] += 1 @@@ -1327,6 -1299,6 +1330,7 @@@ class ChildProcess(mp.Process) self.thousands_sep = options.copy['thousandssep'] self.boolean_styles = options.copy['boolstyle'] self.max_attempts = options.copy['maxattempts'] ++self.encoding = options.copy['encoding'] # Here we inject some failures for testing purposes, only if this environment variable is set if os.environ.get('CQLSH_COPY_TEST_FAILURES', ''): self.test_failures = json.loads(os.environ.get('CQLSH_COPY_TEST_FAILURES', '')) @@@ -1442,7 -1414,7 +1446,6 @@@ class ExportProcess(ChildProcess) def __init__(self, params): ChildProcess.__init__(self, params=params, target=self.run) options = params['options'] --self.encoding = options.copy['encoding'] self.float_precision = options.copy['float_precision'] self.nullval = options.copy['nullval'] self.max_requests = options.copy['maxrequests'] @@@ -1692,8 -1664,8 +1695,9 @@@ class ImportConversion(object) self.decimal_sep = parent.decimal_sep self.thousands_sep = parent.thousands_sep self.boolean_styles = parent.boolean_styles -self.time_format = parent.time_format +self.date_time_format = parent.date_time_format.timestamp_format self.debug = parent.debug ++self.encoding = parent.encoding self.table_meta = table_meta self.primary_key_indexes = [self.columns.index(col.name) for col in self.table_meta.primary_key] @@@ -1713,10 -1685,10 +1717,15 @@@ # the cql types for the entire statement, these are the same as the types above but # only when using prepared statements -self.coltypes = [table_meta.columns[name].typestring for name in parent.valid_columns] +self.coltypes = [table_meta.columns[name].cql_type for name in parent.valid_columns] # these functions are used for non-prepared statements to protect values with quotes if required --self.protectors = [protect_value if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet') else lambda v: v -- for t in self.coltypes] ++self.protectors = [self._get_protector(t) for t in self.coltypes] ++ ++def _get_protector(self, t): ++if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet'): ++return lambda v: unicode(protect_value(v), self.encoding) ++else: ++return lambda v: v @staticmethod def _get_primary_key_statement(parent, table_meta): @@@ -2043,7 -2019,7 +2052,7 @@@ class TokenMap(object) def filter_replicas(self, hosts): shuffled = tuple(sorted(hosts, key=lambda k: random.random())) --return filter(lambda r: r.is_up and r.datacenter == self.local_dc, shuffled) if hosts else () ++return filter(lambda r: r.is_up is not False and r.datacenter == self.local_dc, shuffled) if hosts else () class FastTokenAwarePolicy(DCAwareRoundRobinPolicy): http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/test/test_cqlsh_output.py -- diff --cc pylib/cqlshlib/test/test_cqlsh_output.py index 60699f3,e3af8e8..e47b981 --- a/pylib/cqlshlib/test/test_cqlsh_output.py +++
[39/41] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9
Merge branch 'cassandra-3.0' into cassandra-3.9 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7ca3e28c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7ca3e28c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7ca3e28c Branch: refs/heads/cassandra-3.9 Commit: 7ca3e28cd562349058752f3095805076f88a303f Parents: ed90148 c3bf2f4 Author: Stefania AlborghettiAuthored: Mon Jul 25 08:42:41 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:45:04 2016 +0800 -- CHANGES.txt | 3 +- bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/run_cqlsh.py| 2 + pylib/cqlshlib/test/test_cqlsh_output.py| 3 +- pylib/cqlshlib/tracing.py | 2 +- 8 files changed, 44 insertions(+), 39 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ca3e28c/CHANGES.txt -- diff --cc CHANGES.txt index 2b86935,15898df..298dd57 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -7,39 -4,6 +7,40 @@@ Merged from 3.0 to connect with too low of a protocol version (CASSANDRA-11464) * NullPointerExpception when reading/compacting table (CASSANDRA-11988) * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144) +Merged from 2.2: + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) - ++Merged from 2.1: ++ * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) + +3.8 + * Fix hdr logging for single operation workloads (CASSANDRA-12145) + * Fix SASI PREFIX search in CONTAINS mode with partial terms (CASSANDRA-12073) + * Increase size of flushExecutor thread pool (CASSANDRA-12071) + * Partial revert of CASSANDRA-11971, cannot recycle buffer in SP.sendMessagesToNonlocalDC (CASSANDRA-11950) + * Upgrade netty to 4.0.39 (CASSANDRA-12032, CASSANDRA-12034) + * Improve details in compaction log message (CASSANDRA-12080) + * Allow unset values in CQLSSTableWriter (CASSANDRA-11911) + * Chunk cache to request compressor-compatible buffers if pool space is exhausted (CASSANDRA-11993) + * Remove DatabaseDescriptor dependencies from SequentialWriter (CASSANDRA-11579) + * Move skip_stop_words filter before stemming (CASSANDRA-12078) + * Support seek() in EncryptedFileSegmentInputStream (CASSANDRA-11957) + * SSTable tools mishandling LocalPartitioner (CASSANDRA-12002) + * When SEPWorker assigned work, set thread name to match pool (CASSANDRA-11966) + * Add cross-DC latency metrics (CASSANDRA-11596) + * Allow terms in selection clause (CASSANDRA-10783) + * Add bind variables to trace (CASSANDRA-11719) + * Switch counter shards' clock to timestamps (CASSANDRA-9811) + * Introduce HdrHistogram and response/service/wait separation to stress tool (CASSANDRA-11853) + * entry-weighers in QueryProcessor should respect partitionKeyBindIndexes field (CASSANDRA-11718) + * Support older ant versions (CASSANDRA-11807) + * Estimate compressed on disk size when deciding if sstable size limit reached (CASSANDRA-11623) + * cassandra-stress profiles should support case sensitive schemas (CASSANDRA-11546) + * Remove DatabaseDescriptor dependency from FileUtils (CASSANDRA-11578) + * Faster streaming (CASSANDRA-9766) + * Add prepared query parameter to trace for "Execute CQL3 prepared query" session (CASSANDRA-11425) + * Add repaired percentage metric (CASSANDRA-11503) + * Add Change-Data-Capture (CASSANDRA-8844) +Merged from 3.0: * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107) * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393) * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147) http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ca3e28c/bin/cqlsh.py -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ca3e28c/pylib/cqlshlib/copyutil.py -- diff --cc pylib/cqlshlib/copyutil.py index e408c53,85d9cff..768a41a --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@@ -1466,9 -1464,7 +1470,8 @@@ class ExportProcess(ChildProcess) def __init__(self, params): ChildProcess.__init__(self, params=params, target=self.run) options = params['options'] -
[38/41] 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/c3bf2f47 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c3bf2f47 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c3bf2f47 Branch: refs/heads/cassandra-3.0 Commit: c3bf2f47b979e14fbd2819741a5e3f63f50f68dc Parents: 864e009 3a7cfbd Author: Stefania AlborghettiAuthored: Mon Jul 25 08:41:17 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:41:55 2016 +0800 -- CHANGES.txt | 1 + bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/test_cqlsh_output.py| 2 +- pylib/cqlshlib/tracing.py | 2 +- 7 files changed, 40 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3bf2f47/CHANGES.txt -- diff --cc CHANGES.txt index eb73da2,cf09719..15898df --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -21,20 -2,18 +21,21 @@@ Merged from 2.2 * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) - * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) - * Don't write shadowed range tombstone (CASSANDRA-12030) Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) - * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) - * Account for partition deletions in tombstone histogram (CASSANDRA-12112) -2.2.7 +3.0.8 + * Fix potential race in schema during new table creation (CASSANDRA-12083) + * cqlsh: fix error handling in rare COPY FROM failure scenario (CASSANDRA-12070) + * Disable autocompaction during drain (CASSANDRA-11878) + * Add a metrics timer to MemtablePool and use it to track time spent blocked on memory in MemtableAllocator (CASSANDRA-11327) + * Fix upgrading schema with super columns with non-text subcomparators (CASSANDRA-12023) + * Add TimeWindowCompactionStrategy (CASSANDRA-9666) +Merged from 2.2: * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755) * Validate bloom_filter_fp_chance against lowest supported value when the table is created (CASSANDRA-11920) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3bf2f47/bin/cqlsh.py -- diff --cc bin/cqlsh.py index f770ff1,a3eacdd..70eecfd --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -1308,25 -1236,30 +1295,30 @@@ class Shell(cmd.Cmd) if not statement: return False, None - while True: + future = self.session.execute_async(statement, trace=self.tracing_enabled) + result = None + try: + result = future.result() + except CQL_ERRORS, err: + self.printerr(unicode(err.__class__.__name__) + u": " + err.message.decode(encoding='utf-8')) + except Exception: + import traceback + self.printerr(traceback.format_exc()) + + # Even if statement failed we try to refresh schema if not agreed (see CASSANDRA-9689) + if not future.is_schema_agreed: try: - future = self.session.execute_async(statement, trace=self.tracing_enabled) - result = future.result() - break - except cassandra.OperationTimedOut, err: - self.refresh_schema_metadata_best_effort() - self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err)) - return False, None - except CQL_ERRORS, err: - self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err)) - return False, None - except Exception, err: - import traceback - self.printerr(traceback.format_exc()) - return False, None + self.conn.refresh_schema_metadata(5) # will throw exception if there is a schema mismatch +
[32/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/3a7cfbd1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3a7cfbd1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3a7cfbd1 Branch: refs/heads/cassandra-2.2 Commit: 3a7cfbd19b697f9cd395aeae395d43f52250a129 Parents: bfa1acd 3d3359e Author: Stefania AlborghettiAuthored: Mon Jul 25 08:39:40 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:40:35 2016 +0800 -- CHANGES.txt | 1 + bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/test_cqlsh_output.py| 2 +- pylib/cqlshlib/tracing.py | 2 +- 7 files changed, 40 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/CHANGES.txt -- diff --cc CHANGES.txt index f35e0a4,cecf78e..cf09719 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,49 -1,11 +1,50 @@@ -2.1.16 +2.2.8 + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) + * Synchronize ThriftServer::stop() (CASSANDRA-12105) + * Use dedicated thread for JMX notifications (CASSANDRA-12146) + * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) + * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) + * Don't write shadowed range tombstone (CASSANDRA-12030) +Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) - * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) + * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) + * Account for partition deletions in tombstone histogram (CASSANDRA-12112) -2.1.15 - * Account for partition deletions in tombstone histogram (CASSANDRA-12112) +2.2.7 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755) + * Validate bloom_filter_fp_chance against lowest supported + value when the table is created (CASSANDRA-11920) + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013) + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038) + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984) + * Persist local metadata earlier in startup sequence (CASSANDRA-11742) + * Run CommitLog tests with different compression settings (CASSANDRA-9039) + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664) + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587) + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743) + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708) + * Possible memory leak in NIODataInputStream (CASSANDRA-11867) + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669) + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753) + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395) + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626) + * Exit JVM if JMX server fails to startup (CASSANDRA-11540) + * Produce a heap dump when exiting on OOM (CASSANDRA-9861) + * Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427) + * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510) + * JSON datetime formatting needs timezone (CASSANDRA-11137) + * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502) + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660) + * Add missing files to debian packages (CASSANDRA-11642) + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621) + * cqlsh: COPY FROM should use regular inserts for single statement batches and + report errors correctly if workers processes crash on initialization (CASSANDRA-11474) + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553) + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988) +Merged from 2.1: * Avoid stalling paxos when the paxos state
[21/41] cassandra git commit: cannot use cql since upgrading python to 2.7.11+
cannot use cql since upgrading python to 2.7.11+ patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11850 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d3359eb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d3359eb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d3359eb Branch: refs/heads/cassandra-3.0 Commit: 3d3359eb95eebff48c4966e3e23f7efb4af0f535 Parents: ad1dcef Author: Stefania AlborghettiAuthored: Mon Jul 4 12:51:08 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:39:12 2016 +0800 -- CHANGES.txt | 1 + ...ssandra-driver-internal-only-2.7.2-2fc8a2b.zip | Bin 0 -> 226542 bytes ...ssandra-driver-internal-only-2.7.2-5d33cb4.zip | Bin 226546 -> 0 bytes 3 files changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c3afaca..cecf78e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.16 + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip new file mode 100644 index 000..cabe316 Binary files /dev/null and b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip b/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip deleted file mode 100644 index c59208b..000 Binary files a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip and /dev/null differ
[14/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/a5930afa Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a5930afa Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a5930afa Branch: refs/heads/cassandra-3.0 Commit: a5930afa35b56742cae9118054f96d7e0bec8cc3 Parents: c7a2597 ad1dcef Author: Jonathan EllisAuthored: Thu Jul 21 10:19:06 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:19:06 2016 -0500 -- --
[13/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/a5930afa Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a5930afa Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a5930afa Branch: refs/heads/trunk Commit: a5930afa35b56742cae9118054f96d7e0bec8cc3 Parents: c7a2597 ad1dcef Author: Jonathan EllisAuthored: Thu Jul 21 10:19:06 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:19:06 2016 -0500 -- --
[41/41] cassandra git commit: Merge branch 'cassandra-3.9' into trunk
Merge branch 'cassandra-3.9' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d588af18 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d588af18 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d588af18 Branch: refs/heads/trunk Commit: d588af1856ba5cf0e415393d73c5b487dd71edac Parents: eaa0694 7ca3e28 Author: Stefania AlborghettiAuthored: Mon Jul 25 08:45:56 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:45:56 2016 +0800 -- CHANGES.txt | 3 +- bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/run_cqlsh.py| 2 + pylib/cqlshlib/test/test_cqlsh_output.py| 3 +- pylib/cqlshlib/tracing.py | 2 +- 8 files changed, 44 insertions(+), 39 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d588af18/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d588af18/bin/cqlsh.py -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d588af18/pylib/cqlshlib/test/test_cqlsh_output.py --
[01/41] cassandra git commit: Revert "Range tombstones that are masked by row tombstones should not be written out"
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 ad1dcefe8 -> 3d3359eb9 refs/heads/cassandra-2.2 bfa1acd31 -> 3a7cfbd19 refs/heads/cassandra-3.0 864e009b0 -> c3bf2f47b refs/heads/cassandra-3.9 ed9014818 -> 7ca3e28cd refs/heads/trunk eaa06942a -> d588af185 Revert "Range tombstones that are masked by row tombstones should not be written out" This reverts commit 98f5f77bb3c5d50e52cbb6f577a463ca8a5134ad. (See thread at https://mail-archives.apache.org/mod_mbox/cassandra-dev/201607.mbox/%3CCALdd-zjg%2Ba73VncPkU2rw_UpFPVsw0yNwO-yBqUQfK8H8FpiKw%40mail.gmail.com%3E) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e865e887 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e865e887 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e865e887 Branch: refs/heads/cassandra-3.0 Commit: e865e8875370db8349f8d836594f45978b855943 Parents: 98f5f77 Author: Jonathan EllisAuthored: Thu Jul 21 10:15:41 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:15:41 2016 -0500 -- CHANGES.txt | 1 - .../db/compaction/LazilyCompactedRow.java | 3 +- .../apache/cassandra/db/RangeTombstoneTest.java | 40 3 files changed, 1 insertion(+), 43 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fa995d..b1dcbe1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,4 @@ 2.1.16 - * Don't write shadowed range tombstone (CASSANDRA-12030) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index dab5eeb..f912da2 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -286,8 +286,7 @@ public class LazilyCompactedRow extends AbstractCompactedRow RangeTombstone t = tombstone; tombstone = null; -if (t.data.isGcAble(controller.gcBefore) && t.timestamp() < getMaxPurgeableTimestamp() || -maxRowTombstone.markedForDeleteAt >= t.timestamp()) +if (t.data.isGcAble(controller.gcBefore) && t.timestamp() < getMaxPurgeableTimestamp()) { indexBuilder.tombstoneTracker().update(t, true); return null; http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index dfd6960..3292422 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -39,7 +39,6 @@ import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.IndexType; import org.apache.cassandra.db.columniterator.OnDiskAtomIterator; import org.apache.cassandra.db.compaction.CompactionManager; -import org.apache.cassandra.db.compaction.LeveledCompactionStrategy; import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy; import org.apache.cassandra.db.composites.CellName; import org.apache.cassandra.db.composites.CellNames; @@ -544,45 +543,6 @@ public class RangeTombstoneTest extends SchemaLoader } @Test -public void testCompactionOfRangeTombstonesCoveredByRowTombstone() throws Exception -{ -long testTimeStamp = 1451606400L; // 01/01/2016 : 00:00:00 GMT -Keyspace table = Keyspace.open(KSNAME); -ColumnFamilyStore cfs = table.getColumnFamilyStore(CFNAME); -ByteBuffer key = ByteBufferUtil.bytes("k4"); - -// remove any existing sstables before starting -cfs.truncateBlocking(); -cfs.disableAutoCompaction(); - cfs.setCompactionStrategyClass(LeveledCompactionStrategy.class.getCanonicalName()); - -Mutation rm = new Mutation(KSNAME, key); -for (int i = 1; i < 11; i += 2, testTimeStamp += i * 10) -add(rm, i,
[05/41] cassandra git commit: Revert "Reduce contention getting instances of CompositeType"
Revert "Reduce contention getting instances of CompositeType" This reverts commit fda3d8ee25adc4837bb5754f718062e522c04788. (See thread at https://mail-archives.apache.org/mod_mbox/cassandra-dev/201607.mbox/%3CCALdd-zjg%2Ba73VncPkU2rw_UpFPVsw0yNwO-yBqUQfK8H8FpiKw%40mail.gmail.com%3E) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba068472 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba068472 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba068472 Branch: refs/heads/cassandra-3.9 Commit: ba068472b33dc4e68aeb05deb480811b37582a46 Parents: e865e88 Author: Jonathan EllisAuthored: Thu Jul 21 10:17:31 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:17:31 2016 -0500 -- CHANGES.txt | 1 + .../cassandra/db/marshal/CompositeType.java | 20 2 files changed, 9 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba068472/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b1dcbe1..d29feea 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) + 2.1.15 * Account for partition deletions in tombstone histogram (CASSANDRA-12112) * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba068472/src/java/org/apache/cassandra/db/marshal/CompositeType.java -- diff --git a/src/java/org/apache/cassandra/db/marshal/CompositeType.java b/src/java/org/apache/cassandra/db/marshal/CompositeType.java index d25336d..f8ac22d 100644 --- a/src/java/org/apache/cassandra/db/marshal/CompositeType.java +++ b/src/java/org/apache/cassandra/db/marshal/CompositeType.java @@ -19,18 +19,18 @@ package org.apache.cassandra.db.marshal; import java.io.IOException; import java.nio.ByteBuffer; -import java.util.ArrayList; import java.util.Arrays; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; +import java.util.Map; import com.google.common.collect.ImmutableList; -import org.apache.cassandra.cql3.ColumnIdentifier; -import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.exceptions.SyntaxException; +import org.apache.cassandra.cql3.ColumnIdentifier; +import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.serializers.MarshalException; import org.apache.cassandra.utils.ByteBufferUtil; @@ -67,7 +67,7 @@ public class CompositeType extends AbstractCompositeType public final List types; // interning instances -private static final ConcurrentMap , CompositeType> instances = new ConcurrentHashMap
, CompositeType>(); +private static final Map
, CompositeType> instances = new HashMap
, CompositeType>(); public static CompositeType getInstance(TypeParser parser) throws ConfigurationException, SyntaxException { @@ -97,7 +97,7 @@ public class CompositeType extends AbstractCompositeType return true; } -public static CompositeType getInstance(List
types) +public static synchronized CompositeType getInstance(List types) { assert types != null && !types.isEmpty(); @@ -105,11 +105,7 @@ public class CompositeType extends AbstractCompositeType if (ct == null) { ct = new CompositeType(types); -CompositeType previous = instances.putIfAbsent(types, ct); -if (previous != null) -{ -ct = previous; -} +instances.put(types, ct); } return ct; }
[19/41] cassandra git commit: cannot use cql since upgrading python to 2.7.11+
cannot use cql since upgrading python to 2.7.11+ patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11850 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d3359eb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d3359eb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d3359eb Branch: refs/heads/cassandra-2.1 Commit: 3d3359eb95eebff48c4966e3e23f7efb4af0f535 Parents: ad1dcef Author: Stefania AlborghettiAuthored: Mon Jul 4 12:51:08 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:39:12 2016 +0800 -- CHANGES.txt | 1 + ...ssandra-driver-internal-only-2.7.2-2fc8a2b.zip | Bin 0 -> 226542 bytes ...ssandra-driver-internal-only-2.7.2-5d33cb4.zip | Bin 226546 -> 0 bytes 3 files changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c3afaca..cecf78e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.16 + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip new file mode 100644 index 000..cabe316 Binary files /dev/null and b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip b/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip deleted file mode 100644 index c59208b..000 Binary files a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip and /dev/null differ
[16/41] cassandra git commit: update CHANGES
update CHANGES Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bfa1acd3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bfa1acd3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bfa1acd3 Branch: refs/heads/trunk Commit: bfa1acd311c909ef88ee8133f9e9f9f2edc0749e Parents: a5930af Author: Jonathan EllisAuthored: Thu Jul 21 10:19:47 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:19:47 2016 -0500 -- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bfa1acd3/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index ffd92b5..f35e0a4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -5,8 +5,8 @@ * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) -Merged from 2.1: * Don't write shadowed range tombstone (CASSANDRA-12030) +Merged from 2.1: * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
[06/41] cassandra git commit: Revert "Reduce contention getting instances of CompositeType"
Revert "Reduce contention getting instances of CompositeType" This reverts commit fda3d8ee25adc4837bb5754f718062e522c04788. (See thread at https://mail-archives.apache.org/mod_mbox/cassandra-dev/201607.mbox/%3CCALdd-zjg%2Ba73VncPkU2rw_UpFPVsw0yNwO-yBqUQfK8H8FpiKw%40mail.gmail.com%3E) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ba068472 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba068472 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba068472 Branch: refs/heads/trunk Commit: ba068472b33dc4e68aeb05deb480811b37582a46 Parents: e865e88 Author: Jonathan EllisAuthored: Thu Jul 21 10:17:31 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:17:31 2016 -0500 -- CHANGES.txt | 1 + .../cassandra/db/marshal/CompositeType.java | 20 2 files changed, 9 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba068472/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index b1dcbe1..d29feea 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) + 2.1.15 * Account for partition deletions in tombstone histogram (CASSANDRA-12112) * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba068472/src/java/org/apache/cassandra/db/marshal/CompositeType.java -- diff --git a/src/java/org/apache/cassandra/db/marshal/CompositeType.java b/src/java/org/apache/cassandra/db/marshal/CompositeType.java index d25336d..f8ac22d 100644 --- a/src/java/org/apache/cassandra/db/marshal/CompositeType.java +++ b/src/java/org/apache/cassandra/db/marshal/CompositeType.java @@ -19,18 +19,18 @@ package org.apache.cassandra.db.marshal; import java.io.IOException; import java.nio.ByteBuffer; -import java.util.ArrayList; import java.util.Arrays; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; +import java.util.Map; import com.google.common.collect.ImmutableList; -import org.apache.cassandra.cql3.ColumnIdentifier; -import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.exceptions.SyntaxException; +import org.apache.cassandra.cql3.ColumnIdentifier; +import org.apache.cassandra.cql3.Operator; import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.serializers.MarshalException; import org.apache.cassandra.utils.ByteBufferUtil; @@ -67,7 +67,7 @@ public class CompositeType extends AbstractCompositeType public final List types; // interning instances -private static final ConcurrentMap , CompositeType> instances = new ConcurrentHashMap
, CompositeType>(); +private static final Map
, CompositeType> instances = new HashMap
, CompositeType>(); public static CompositeType getInstance(TypeParser parser) throws ConfigurationException, SyntaxException { @@ -97,7 +97,7 @@ public class CompositeType extends AbstractCompositeType return true; } -public static CompositeType getInstance(List
types) +public static synchronized CompositeType getInstance(List types) { assert types != null && !types.isEmpty(); @@ -105,11 +105,7 @@ public class CompositeType extends AbstractCompositeType if (ct == null) { ct = new CompositeType(types); -CompositeType previous = instances.putIfAbsent(types, ct); -if (previous != null) -{ -ct = previous; -} +instances.put(types, ct); } return ct; }
[02/41] cassandra git commit: Revert "Range tombstones that are masked by row tombstones should not be written out"
Revert "Range tombstones that are masked by row tombstones should not be written out" This reverts commit 98f5f77bb3c5d50e52cbb6f577a463ca8a5134ad. (See thread at https://mail-archives.apache.org/mod_mbox/cassandra-dev/201607.mbox/%3CCALdd-zjg%2Ba73VncPkU2rw_UpFPVsw0yNwO-yBqUQfK8H8FpiKw%40mail.gmail.com%3E) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e865e887 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e865e887 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e865e887 Branch: refs/heads/cassandra-3.9 Commit: e865e8875370db8349f8d836594f45978b855943 Parents: 98f5f77 Author: Jonathan EllisAuthored: Thu Jul 21 10:15:41 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:15:41 2016 -0500 -- CHANGES.txt | 1 - .../db/compaction/LazilyCompactedRow.java | 3 +- .../apache/cassandra/db/RangeTombstoneTest.java | 40 3 files changed, 1 insertion(+), 43 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fa995d..b1dcbe1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,4 @@ 2.1.16 - * Don't write shadowed range tombstone (CASSANDRA-12030) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index dab5eeb..f912da2 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -286,8 +286,7 @@ public class LazilyCompactedRow extends AbstractCompactedRow RangeTombstone t = tombstone; tombstone = null; -if (t.data.isGcAble(controller.gcBefore) && t.timestamp() < getMaxPurgeableTimestamp() || -maxRowTombstone.markedForDeleteAt >= t.timestamp()) +if (t.data.isGcAble(controller.gcBefore) && t.timestamp() < getMaxPurgeableTimestamp()) { indexBuilder.tombstoneTracker().update(t, true); return null; http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index dfd6960..3292422 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -39,7 +39,6 @@ import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.IndexType; import org.apache.cassandra.db.columniterator.OnDiskAtomIterator; import org.apache.cassandra.db.compaction.CompactionManager; -import org.apache.cassandra.db.compaction.LeveledCompactionStrategy; import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy; import org.apache.cassandra.db.composites.CellName; import org.apache.cassandra.db.composites.CellNames; @@ -544,45 +543,6 @@ public class RangeTombstoneTest extends SchemaLoader } @Test -public void testCompactionOfRangeTombstonesCoveredByRowTombstone() throws Exception -{ -long testTimeStamp = 1451606400L; // 01/01/2016 : 00:00:00 GMT -Keyspace table = Keyspace.open(KSNAME); -ColumnFamilyStore cfs = table.getColumnFamilyStore(CFNAME); -ByteBuffer key = ByteBufferUtil.bytes("k4"); - -// remove any existing sstables before starting -cfs.truncateBlocking(); -cfs.disableAutoCompaction(); - cfs.setCompactionStrategyClass(LeveledCompactionStrategy.class.getCanonicalName()); - -Mutation rm = new Mutation(KSNAME, key); -for (int i = 1; i < 11; i += 2, testTimeStamp += i * 10) -add(rm, i, testTimeStamp); -rm.apply(); -cfs.forceBlockingFlush(); - -rm = new Mutation(KSNAME, key); -ColumnFamily cf = rm.addOrGet(CFNAME); - -// Write the covering row tombstone -cf.delete(new DeletionTime(++testTimeStamp, (int) testTimeStamp));
[03/41] cassandra git commit: Revert "Range tombstones that are masked by row tombstones should not be written out"
Revert "Range tombstones that are masked by row tombstones should not be written out" This reverts commit 98f5f77bb3c5d50e52cbb6f577a463ca8a5134ad. (See thread at https://mail-archives.apache.org/mod_mbox/cassandra-dev/201607.mbox/%3CCALdd-zjg%2Ba73VncPkU2rw_UpFPVsw0yNwO-yBqUQfK8H8FpiKw%40mail.gmail.com%3E) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e865e887 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e865e887 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e865e887 Branch: refs/heads/trunk Commit: e865e8875370db8349f8d836594f45978b855943 Parents: 98f5f77 Author: Jonathan EllisAuthored: Thu Jul 21 10:15:41 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:15:41 2016 -0500 -- CHANGES.txt | 1 - .../db/compaction/LazilyCompactedRow.java | 3 +- .../apache/cassandra/db/RangeTombstoneTest.java | 40 3 files changed, 1 insertion(+), 43 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 7fa995d..b1dcbe1 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,5 +1,4 @@ 2.1.16 - * Don't write shadowed range tombstone (CASSANDRA-12030) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java index dab5eeb..f912da2 100644 --- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java +++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java @@ -286,8 +286,7 @@ public class LazilyCompactedRow extends AbstractCompactedRow RangeTombstone t = tombstone; tombstone = null; -if (t.data.isGcAble(controller.gcBefore) && t.timestamp() < getMaxPurgeableTimestamp() || -maxRowTombstone.markedForDeleteAt >= t.timestamp()) +if (t.data.isGcAble(controller.gcBefore) && t.timestamp() < getMaxPurgeableTimestamp()) { indexBuilder.tombstoneTracker().update(t, true); return null; http://git-wip-us.apache.org/repos/asf/cassandra/blob/e865e887/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java -- diff --git a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java index dfd6960..3292422 100644 --- a/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java +++ b/test/unit/org/apache/cassandra/db/RangeTombstoneTest.java @@ -39,7 +39,6 @@ import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.config.IndexType; import org.apache.cassandra.db.columniterator.OnDiskAtomIterator; import org.apache.cassandra.db.compaction.CompactionManager; -import org.apache.cassandra.db.compaction.LeveledCompactionStrategy; import org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy; import org.apache.cassandra.db.composites.CellName; import org.apache.cassandra.db.composites.CellNames; @@ -544,45 +543,6 @@ public class RangeTombstoneTest extends SchemaLoader } @Test -public void testCompactionOfRangeTombstonesCoveredByRowTombstone() throws Exception -{ -long testTimeStamp = 1451606400L; // 01/01/2016 : 00:00:00 GMT -Keyspace table = Keyspace.open(KSNAME); -ColumnFamilyStore cfs = table.getColumnFamilyStore(CFNAME); -ByteBuffer key = ByteBufferUtil.bytes("k4"); - -// remove any existing sstables before starting -cfs.truncateBlocking(); -cfs.disableAutoCompaction(); - cfs.setCompactionStrategyClass(LeveledCompactionStrategy.class.getCanonicalName()); - -Mutation rm = new Mutation(KSNAME, key); -for (int i = 1; i < 11; i += 2, testTimeStamp += i * 10) -add(rm, i, testTimeStamp); -rm.apply(); -cfs.forceBlockingFlush(); - -rm = new Mutation(KSNAME, key); -ColumnFamily cf = rm.addOrGet(CFNAME); - -// Write the covering row tombstone -cf.delete(new DeletionTime(++testTimeStamp, (int) testTimeStamp)); - -
[10/41] cassandra git commit: update CHANGES
update CHANGES Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ad1dcefe Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ad1dcefe Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ad1dcefe Branch: refs/heads/trunk Commit: ad1dcefe8ed06cf2a7e5411e3f8e72f0a318d0cb Parents: ba06847 Author: Jonathan EllisAuthored: Thu Jul 21 10:18:56 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:18:56 2016 -0500 -- CHANGES.txt | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad1dcefe/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d29feea..c3afaca 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,5 @@ 2.1.16 * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) - * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349)
[25/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/bin/cqlsh.py -- diff --cc bin/cqlsh.py index dd0446a,000..a3eacdd mode 100644,00..100644 --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -1,2580 -1,0 +1,2572 @@@ +#!/bin/sh +# -*- mode: Python -*- + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""":" +# bash code here; finds a suitable python interpreter and execs this file. +# prefer unqualified "python" if suitable: +python -c 'import sys; sys.exit(not (0x020700b0 < sys.hexversion < 0x0300))' 2>/dev/null \ +&& exec python "$0" "$@" +for pyver in 2.7; do +which python$pyver > /dev/null 2>&1 && exec python$pyver "$0" "$@" +done +echo "No appropriate python interpreter found." >&2 +exit 1 +":""" + +from __future__ import with_statement + +import cmd +import codecs +import ConfigParser +import csv +import getpass +import optparse +import os +import platform +import sys +import traceback +import warnings +import webbrowser +from StringIO import StringIO +from contextlib import contextmanager +from glob import glob +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") + +UTF8 = 'utf-8' +CP65001 = 'cp65001' # Win utf-8 variant + +description = "CQL Shell for Apache Cassandra" +version = "5.0.1" + +readline = None +try: +# check if tty first, cause readline doesn't check, and only cares +# about $TERM. we don't want the funky escape code stuff to be +# output if not a tty. +if sys.stdin.isatty(): +import readline +except ImportError: +pass + +CQL_LIB_PREFIX = 'cassandra-driver-internal-only-' + +CASSANDRA_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') +CASSANDRA_CQL_HTML_FALLBACK = 'https://cassandra.apache.org/doc/cql3/CQL-2.2.html' + +if os.path.exists(CASSANDRA_PATH + '/doc/cql3/CQL.html'): +# default location of local CQL.html +CASSANDRA_CQL_HTML = 'file://' + CASSANDRA_PATH + '/doc/cql3/CQL.html' +elif os.path.exists('/usr/share/doc/cassandra/CQL.html'): +# fallback to package file +CASSANDRA_CQL_HTML = 'file:///usr/share/doc/cassandra/CQL.html' +else: +# fallback to online version +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK + +# On Linux, the Python webbrowser module uses the 'xdg-open' executable +# to open a file/URL. But that only works, if the current session has been +# opened from _within_ a desktop environment. I.e. 'xdg-open' will fail, +# if the session's been opened via ssh to a remote box. +# +# Use 'python' to get some information about the detected browsers. +# >>> import webbrowser +# >>> webbrowser._tryorder +# >>> webbrowser._browser +# +if len(webbrowser._tryorder) == 0: +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK +elif webbrowser._tryorder[0] == 'xdg-open' and os.environ.get('XDG_DATA_DIRS', '') == '': +# only on Linux (some OS with xdg-open) +webbrowser._tryorder.remove('xdg-open') +webbrowser._tryorder.append('xdg-open') + +# use bundled libs for python-cql and thrift, if available. if there +# is a ../lib dir, use bundled libs there preferentially. +ZIPLIB_DIRS = [os.path.join(CASSANDRA_PATH, 'lib')] +myplatform = platform.system() +is_win = myplatform == 'Windows' + +# Workaround for supporting CP65001 encoding on python < 3.3 (https://bugs.python.org/issue13216) +if is_win and sys.version_info < (3, 3): +codecs.register(lambda name: codecs.lookup(UTF8) if name == CP65001 else None) + +if myplatform == 'Linux': +ZIPLIB_DIRS.append('/usr/share/cassandra/lib') + +if os.environ.get('CQLSH_NO_BUNDLED', ''): +ZIPLIB_DIRS = () + + +def find_zip(libprefix): +for ziplibdir in ZIPLIB_DIRS: +zips = glob(os.path.join(ziplibdir, libprefix + '*.zip')) +if zips: +return max(zips) # probably the highest version, if multiple + +cql_zip = find_zip(CQL_LIB_PREFIX) +if cql_zip: +ver = os.path.splitext(os.path.basename(cql_zip))[0][len(CQL_LIB_PREFIX):] +sys.path.insert(0, os.path.join(cql_zip,
[23/41] cassandra git commit: cannot use cql since upgrading python to 2.7.11+
cannot use cql since upgrading python to 2.7.11+ patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11850 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d3359eb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d3359eb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d3359eb Branch: refs/heads/cassandra-3.9 Commit: 3d3359eb95eebff48c4966e3e23f7efb4af0f535 Parents: ad1dcef Author: Stefania AlborghettiAuthored: Mon Jul 4 12:51:08 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:39:12 2016 +0800 -- CHANGES.txt | 1 + ...ssandra-driver-internal-only-2.7.2-2fc8a2b.zip | Bin 0 -> 226542 bytes ...ssandra-driver-internal-only-2.7.2-5d33cb4.zip | Bin 226546 -> 0 bytes 3 files changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c3afaca..cecf78e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.16 + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip new file mode 100644 index 000..cabe316 Binary files /dev/null and b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip b/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip deleted file mode 100644 index c59208b..000 Binary files a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip and /dev/null differ
[08/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/c7a25972 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7a25972 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7a25972 Branch: refs/heads/cassandra-3.0 Commit: c7a25972e9bab7188fcdf169d537edbc0020f9dd Parents: e8186fe ba06847 Author: Jonathan EllisAuthored: Thu Jul 21 10:17:57 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:17:57 2016 -0500 -- --
[28/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/bin/cqlsh.py -- diff --cc bin/cqlsh.py index dd0446a,000..a3eacdd mode 100644,00..100644 --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -1,2580 -1,0 +1,2572 @@@ +#!/bin/sh +# -*- mode: Python -*- + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""":" +# bash code here; finds a suitable python interpreter and execs this file. +# prefer unqualified "python" if suitable: +python -c 'import sys; sys.exit(not (0x020700b0 < sys.hexversion < 0x0300))' 2>/dev/null \ +&& exec python "$0" "$@" +for pyver in 2.7; do +which python$pyver > /dev/null 2>&1 && exec python$pyver "$0" "$@" +done +echo "No appropriate python interpreter found." >&2 +exit 1 +":""" + +from __future__ import with_statement + +import cmd +import codecs +import ConfigParser +import csv +import getpass +import optparse +import os +import platform +import sys +import traceback +import warnings +import webbrowser +from StringIO import StringIO +from contextlib import contextmanager +from glob import glob +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") + +UTF8 = 'utf-8' +CP65001 = 'cp65001' # Win utf-8 variant + +description = "CQL Shell for Apache Cassandra" +version = "5.0.1" + +readline = None +try: +# check if tty first, cause readline doesn't check, and only cares +# about $TERM. we don't want the funky escape code stuff to be +# output if not a tty. +if sys.stdin.isatty(): +import readline +except ImportError: +pass + +CQL_LIB_PREFIX = 'cassandra-driver-internal-only-' + +CASSANDRA_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') +CASSANDRA_CQL_HTML_FALLBACK = 'https://cassandra.apache.org/doc/cql3/CQL-2.2.html' + +if os.path.exists(CASSANDRA_PATH + '/doc/cql3/CQL.html'): +# default location of local CQL.html +CASSANDRA_CQL_HTML = 'file://' + CASSANDRA_PATH + '/doc/cql3/CQL.html' +elif os.path.exists('/usr/share/doc/cassandra/CQL.html'): +# fallback to package file +CASSANDRA_CQL_HTML = 'file:///usr/share/doc/cassandra/CQL.html' +else: +# fallback to online version +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK + +# On Linux, the Python webbrowser module uses the 'xdg-open' executable +# to open a file/URL. But that only works, if the current session has been +# opened from _within_ a desktop environment. I.e. 'xdg-open' will fail, +# if the session's been opened via ssh to a remote box. +# +# Use 'python' to get some information about the detected browsers. +# >>> import webbrowser +# >>> webbrowser._tryorder +# >>> webbrowser._browser +# +if len(webbrowser._tryorder) == 0: +CASSANDRA_CQL_HTML = CASSANDRA_CQL_HTML_FALLBACK +elif webbrowser._tryorder[0] == 'xdg-open' and os.environ.get('XDG_DATA_DIRS', '') == '': +# only on Linux (some OS with xdg-open) +webbrowser._tryorder.remove('xdg-open') +webbrowser._tryorder.append('xdg-open') + +# use bundled libs for python-cql and thrift, if available. if there +# is a ../lib dir, use bundled libs there preferentially. +ZIPLIB_DIRS = [os.path.join(CASSANDRA_PATH, 'lib')] +myplatform = platform.system() +is_win = myplatform == 'Windows' + +# Workaround for supporting CP65001 encoding on python < 3.3 (https://bugs.python.org/issue13216) +if is_win and sys.version_info < (3, 3): +codecs.register(lambda name: codecs.lookup(UTF8) if name == CP65001 else None) + +if myplatform == 'Linux': +ZIPLIB_DIRS.append('/usr/share/cassandra/lib') + +if os.environ.get('CQLSH_NO_BUNDLED', ''): +ZIPLIB_DIRS = () + + +def find_zip(libprefix): +for ziplibdir in ZIPLIB_DIRS: +zips = glob(os.path.join(ziplibdir, libprefix + '*.zip')) +if zips: +return max(zips) # probably the highest version, if multiple + +cql_zip = find_zip(CQL_LIB_PREFIX) +if cql_zip: +ver = os.path.splitext(os.path.basename(cql_zip))[0][len(CQL_LIB_PREFIX):] +sys.path.insert(0, os.path.join(cql_zip,
[40/41] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9
Merge branch 'cassandra-3.0' into cassandra-3.9 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7ca3e28c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7ca3e28c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7ca3e28c Branch: refs/heads/trunk Commit: 7ca3e28cd562349058752f3095805076f88a303f Parents: ed90148 c3bf2f4 Author: Stefania AlborghettiAuthored: Mon Jul 25 08:42:41 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:45:04 2016 +0800 -- CHANGES.txt | 3 +- bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/run_cqlsh.py| 2 + pylib/cqlshlib/test/test_cqlsh_output.py| 3 +- pylib/cqlshlib/tracing.py | 2 +- 8 files changed, 44 insertions(+), 39 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ca3e28c/CHANGES.txt -- diff --cc CHANGES.txt index 2b86935,15898df..298dd57 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -7,39 -4,6 +7,40 @@@ Merged from 3.0 to connect with too low of a protocol version (CASSANDRA-11464) * NullPointerExpception when reading/compacting table (CASSANDRA-11988) * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144) +Merged from 2.2: + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) - ++Merged from 2.1: ++ * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) + +3.8 + * Fix hdr logging for single operation workloads (CASSANDRA-12145) + * Fix SASI PREFIX search in CONTAINS mode with partial terms (CASSANDRA-12073) + * Increase size of flushExecutor thread pool (CASSANDRA-12071) + * Partial revert of CASSANDRA-11971, cannot recycle buffer in SP.sendMessagesToNonlocalDC (CASSANDRA-11950) + * Upgrade netty to 4.0.39 (CASSANDRA-12032, CASSANDRA-12034) + * Improve details in compaction log message (CASSANDRA-12080) + * Allow unset values in CQLSSTableWriter (CASSANDRA-11911) + * Chunk cache to request compressor-compatible buffers if pool space is exhausted (CASSANDRA-11993) + * Remove DatabaseDescriptor dependencies from SequentialWriter (CASSANDRA-11579) + * Move skip_stop_words filter before stemming (CASSANDRA-12078) + * Support seek() in EncryptedFileSegmentInputStream (CASSANDRA-11957) + * SSTable tools mishandling LocalPartitioner (CASSANDRA-12002) + * When SEPWorker assigned work, set thread name to match pool (CASSANDRA-11966) + * Add cross-DC latency metrics (CASSANDRA-11596) + * Allow terms in selection clause (CASSANDRA-10783) + * Add bind variables to trace (CASSANDRA-11719) + * Switch counter shards' clock to timestamps (CASSANDRA-9811) + * Introduce HdrHistogram and response/service/wait separation to stress tool (CASSANDRA-11853) + * entry-weighers in QueryProcessor should respect partitionKeyBindIndexes field (CASSANDRA-11718) + * Support older ant versions (CASSANDRA-11807) + * Estimate compressed on disk size when deciding if sstable size limit reached (CASSANDRA-11623) + * cassandra-stress profiles should support case sensitive schemas (CASSANDRA-11546) + * Remove DatabaseDescriptor dependency from FileUtils (CASSANDRA-11578) + * Faster streaming (CASSANDRA-9766) + * Add prepared query parameter to trace for "Execute CQL3 prepared query" session (CASSANDRA-11425) + * Add repaired percentage metric (CASSANDRA-11503) + * Add Change-Data-Capture (CASSANDRA-8844) +Merged from 3.0: * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107) * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393) * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147) http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ca3e28c/bin/cqlsh.py -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7ca3e28c/pylib/cqlshlib/copyutil.py -- diff --cc pylib/cqlshlib/copyutil.py index e408c53,85d9cff..768a41a --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@@ -1466,9 -1464,7 +1470,8 @@@ class ExportProcess(ChildProcess) def __init__(self, params): ChildProcess.__init__(self, params=params, target=self.run) options = params['options'] -
[22/41] cassandra git commit: cannot use cql since upgrading python to 2.7.11+
cannot use cql since upgrading python to 2.7.11+ patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11850 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d3359eb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d3359eb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d3359eb Branch: refs/heads/cassandra-2.2 Commit: 3d3359eb95eebff48c4966e3e23f7efb4af0f535 Parents: ad1dcef Author: Stefania AlborghettiAuthored: Mon Jul 4 12:51:08 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:39:12 2016 +0800 -- CHANGES.txt | 1 + ...ssandra-driver-internal-only-2.7.2-2fc8a2b.zip | Bin 0 -> 226542 bytes ...ssandra-driver-internal-only-2.7.2-5d33cb4.zip | Bin 226546 -> 0 bytes 3 files changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c3afaca..cecf78e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.16 + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip new file mode 100644 index 000..cabe316 Binary files /dev/null and b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip b/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip deleted file mode 100644 index c59208b..000 Binary files a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip and /dev/null differ
[17/41] cassandra git commit: update CHANGES
update CHANGES Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bfa1acd3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bfa1acd3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bfa1acd3 Branch: refs/heads/cassandra-3.0 Commit: bfa1acd311c909ef88ee8133f9e9f9f2edc0749e Parents: a5930af Author: Jonathan EllisAuthored: Thu Jul 21 10:19:47 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:19:47 2016 -0500 -- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bfa1acd3/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index ffd92b5..f35e0a4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -5,8 +5,8 @@ * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) -Merged from 2.1: * Don't write shadowed range tombstone (CASSANDRA-12030) +Merged from 2.1: * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
[29/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/3a7cfbd1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3a7cfbd1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3a7cfbd1 Branch: refs/heads/trunk Commit: 3a7cfbd19b697f9cd395aeae395d43f52250a129 Parents: bfa1acd 3d3359e Author: Stefania AlborghettiAuthored: Mon Jul 25 08:39:40 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:40:35 2016 +0800 -- CHANGES.txt | 1 + bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/test_cqlsh_output.py| 2 +- pylib/cqlshlib/tracing.py | 2 +- 7 files changed, 40 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/CHANGES.txt -- diff --cc CHANGES.txt index f35e0a4,cecf78e..cf09719 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,49 -1,11 +1,50 @@@ -2.1.16 +2.2.8 + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) + * Synchronize ThriftServer::stop() (CASSANDRA-12105) + * Use dedicated thread for JMX notifications (CASSANDRA-12146) + * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) + * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) + * Don't write shadowed range tombstone (CASSANDRA-12030) +Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) - * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) + * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) + * Account for partition deletions in tombstone histogram (CASSANDRA-12112) -2.1.15 - * Account for partition deletions in tombstone histogram (CASSANDRA-12112) +2.2.7 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755) + * Validate bloom_filter_fp_chance against lowest supported + value when the table is created (CASSANDRA-11920) + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013) + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038) + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984) + * Persist local metadata earlier in startup sequence (CASSANDRA-11742) + * Run CommitLog tests with different compression settings (CASSANDRA-9039) + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664) + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587) + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743) + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708) + * Possible memory leak in NIODataInputStream (CASSANDRA-11867) + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669) + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753) + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395) + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626) + * Exit JVM if JMX server fails to startup (CASSANDRA-11540) + * Produce a heap dump when exiting on OOM (CASSANDRA-9861) + * Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427) + * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510) + * JSON datetime formatting needs timezone (CASSANDRA-11137) + * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502) + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660) + * Add missing files to debian packages (CASSANDRA-11642) + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621) + * cqlsh: COPY FROM should use regular inserts for single statement batches and + report errors correctly if workers processes crash on initialization (CASSANDRA-11474) + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553) + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988) +Merged from 2.1: * Avoid stalling paxos when the paxos state expires
[27/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/copyutil.py -- diff --cc pylib/cqlshlib/copyutil.py index a1adbaa,0016dfd..c7a0e30 --- a/pylib/cqlshlib/copyutil.py +++ b/pylib/cqlshlib/copyutil.py @@@ -665,11 -647,11 +665,11 @@@ class ExportTask(CopyTask) hosts = [] if replicas: for r in replicas: --if r.is_up and r.datacenter == local_dc: ++if r.is_up is not False and r.datacenter == local_dc: hosts.append(r.address) if not hosts: hosts.append(hostname) # fallback to default host if no replicas in current dc --return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0} ++return {'hosts': tuple(hosts), 'attempts': 0, 'rows': 0, 'workerno': -1} if begin_token and begin_token < min_token: shell.printerr('Begin token %d must be bigger or equal to min token %d' % (begin_token, min_token)) @@@ -736,8 -718,8 +736,11 @@@ return None def send_work(self, ranges, tokens_to_send): --i = 0 ++prev_worker_no = ranges[tokens_to_send[0]]['workerno'] ++i = prev_worker_no + 1 if -1 <= prev_worker_no < (self.num_processes - 1) else 0 ++ for token_range in tokens_to_send: ++ranges[token_range]['workerno'] = i self.outmsg.channels[i].send((token_range, ranges[token_range])) ranges[token_range]['attempts'] += 1 @@@ -1327,6 -1299,6 +1330,7 @@@ class ChildProcess(mp.Process) self.thousands_sep = options.copy['thousandssep'] self.boolean_styles = options.copy['boolstyle'] self.max_attempts = options.copy['maxattempts'] ++self.encoding = options.copy['encoding'] # Here we inject some failures for testing purposes, only if this environment variable is set if os.environ.get('CQLSH_COPY_TEST_FAILURES', ''): self.test_failures = json.loads(os.environ.get('CQLSH_COPY_TEST_FAILURES', '')) @@@ -1442,7 -1414,7 +1446,6 @@@ class ExportProcess(ChildProcess) def __init__(self, params): ChildProcess.__init__(self, params=params, target=self.run) options = params['options'] --self.encoding = options.copy['encoding'] self.float_precision = options.copy['float_precision'] self.nullval = options.copy['nullval'] self.max_requests = options.copy['maxrequests'] @@@ -1692,8 -1664,8 +1695,9 @@@ class ImportConversion(object) self.decimal_sep = parent.decimal_sep self.thousands_sep = parent.thousands_sep self.boolean_styles = parent.boolean_styles -self.time_format = parent.time_format +self.date_time_format = parent.date_time_format.timestamp_format self.debug = parent.debug ++self.encoding = parent.encoding self.table_meta = table_meta self.primary_key_indexes = [self.columns.index(col.name) for col in self.table_meta.primary_key] @@@ -1713,10 -1685,10 +1717,15 @@@ # the cql types for the entire statement, these are the same as the types above but # only when using prepared statements -self.coltypes = [table_meta.columns[name].typestring for name in parent.valid_columns] +self.coltypes = [table_meta.columns[name].cql_type for name in parent.valid_columns] # these functions are used for non-prepared statements to protect values with quotes if required --self.protectors = [protect_value if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet') else lambda v: v -- for t in self.coltypes] ++self.protectors = [self._get_protector(t) for t in self.coltypes] ++ ++def _get_protector(self, t): ++if t in ('ascii', 'text', 'timestamp', 'date', 'time', 'inet'): ++return lambda v: unicode(protect_value(v), self.encoding) ++else: ++return lambda v: v @staticmethod def _get_primary_key_statement(parent, table_meta): @@@ -2043,7 -2019,7 +2052,7 @@@ class TokenMap(object) def filter_replicas(self, hosts): shuffled = tuple(sorted(hosts, key=lambda k: random.random())) --return filter(lambda r: r.is_up and r.datacenter == self.local_dc, shuffled) if hosts else () ++return filter(lambda r: r.is_up is not False and r.datacenter == self.local_dc, shuffled) if hosts else () class FastTokenAwarePolicy(DCAwareRoundRobinPolicy): http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/pylib/cqlshlib/test/test_cqlsh_output.py -- diff --cc pylib/cqlshlib/test/test_cqlsh_output.py index 60699f3,e3af8e8..e47b981 --- a/pylib/cqlshlib/test/test_cqlsh_output.py +++
[36/41] 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/c3bf2f47 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c3bf2f47 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c3bf2f47 Branch: refs/heads/cassandra-3.9 Commit: c3bf2f47b979e14fbd2819741a5e3f63f50f68dc Parents: 864e009 3a7cfbd Author: Stefania AlborghettiAuthored: Mon Jul 25 08:41:17 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:41:55 2016 +0800 -- CHANGES.txt | 1 + bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/test_cqlsh_output.py| 2 +- pylib/cqlshlib/tracing.py | 2 +- 7 files changed, 40 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3bf2f47/CHANGES.txt -- diff --cc CHANGES.txt index eb73da2,cf09719..15898df --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -21,20 -2,18 +21,21 @@@ Merged from 2.2 * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) * Synchronize ThriftServer::stop() (CASSANDRA-12105) * Use dedicated thread for JMX notifications (CASSANDRA-12146) - * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) - * Don't write shadowed range tombstone (CASSANDRA-12030) Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) - * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) - * Account for partition deletions in tombstone histogram (CASSANDRA-12112) -2.2.7 +3.0.8 + * Fix potential race in schema during new table creation (CASSANDRA-12083) + * cqlsh: fix error handling in rare COPY FROM failure scenario (CASSANDRA-12070) + * Disable autocompaction during drain (CASSANDRA-11878) + * Add a metrics timer to MemtablePool and use it to track time spent blocked on memory in MemtableAllocator (CASSANDRA-11327) + * Fix upgrading schema with super columns with non-text subcomparators (CASSANDRA-12023) + * Add TimeWindowCompactionStrategy (CASSANDRA-9666) +Merged from 2.2: * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755) * Validate bloom_filter_fp_chance against lowest supported value when the table is created (CASSANDRA-11920) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3bf2f47/bin/cqlsh.py -- diff --cc bin/cqlsh.py index f770ff1,a3eacdd..70eecfd --- a/bin/cqlsh.py +++ b/bin/cqlsh.py @@@ -1308,25 -1236,30 +1295,30 @@@ class Shell(cmd.Cmd) if not statement: return False, None - while True: + future = self.session.execute_async(statement, trace=self.tracing_enabled) + result = None + try: + result = future.result() + except CQL_ERRORS, err: + self.printerr(unicode(err.__class__.__name__) + u": " + err.message.decode(encoding='utf-8')) + except Exception: + import traceback + self.printerr(traceback.format_exc()) + + # Even if statement failed we try to refresh schema if not agreed (see CASSANDRA-9689) + if not future.is_schema_agreed: try: - future = self.session.execute_async(statement, trace=self.tracing_enabled) - result = future.result() - break - except cassandra.OperationTimedOut, err: - self.refresh_schema_metadata_best_effort() - self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err)) - return False, None - except CQL_ERRORS, err: - self.printerr(unicode(err.__class__.__name__) + u": " + unicode(err)) - return False, None - except Exception, err: - import traceback - self.printerr(traceback.format_exc()) - return False, None + self.conn.refresh_schema_metadata(5) # will throw exception if there is a schema mismatch +
[26/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/3a7cfbd1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3a7cfbd1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3a7cfbd1 Branch: refs/heads/cassandra-3.9 Commit: 3a7cfbd19b697f9cd395aeae395d43f52250a129 Parents: bfa1acd 3d3359e Author: Stefania AlborghettiAuthored: Mon Jul 25 08:39:40 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:40:35 2016 +0800 -- CHANGES.txt | 1 + bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/test_cqlsh_output.py| 2 +- pylib/cqlshlib/tracing.py | 2 +- 7 files changed, 40 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/CHANGES.txt -- diff --cc CHANGES.txt index f35e0a4,cecf78e..cf09719 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,49 -1,11 +1,50 @@@ -2.1.16 +2.2.8 + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) + * Synchronize ThriftServer::stop() (CASSANDRA-12105) + * Use dedicated thread for JMX notifications (CASSANDRA-12146) + * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) + * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) + * Don't write shadowed range tombstone (CASSANDRA-12030) +Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) - * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) + * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) + * Account for partition deletions in tombstone histogram (CASSANDRA-12112) -2.1.15 - * Account for partition deletions in tombstone histogram (CASSANDRA-12112) +2.2.7 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755) + * Validate bloom_filter_fp_chance against lowest supported + value when the table is created (CASSANDRA-11920) + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013) + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038) + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984) + * Persist local metadata earlier in startup sequence (CASSANDRA-11742) + * Run CommitLog tests with different compression settings (CASSANDRA-9039) + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664) + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587) + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743) + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708) + * Possible memory leak in NIODataInputStream (CASSANDRA-11867) + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669) + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753) + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395) + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626) + * Exit JVM if JMX server fails to startup (CASSANDRA-11540) + * Produce a heap dump when exiting on OOM (CASSANDRA-9861) + * Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427) + * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510) + * JSON datetime formatting needs timezone (CASSANDRA-11137) + * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502) + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660) + * Add missing files to debian packages (CASSANDRA-11642) + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621) + * cqlsh: COPY FROM should use regular inserts for single statement batches and + report errors correctly if workers processes crash on initialization (CASSANDRA-11474) + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553) + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988) +Merged from 2.1: * Avoid stalling paxos when the paxos state
[12/41] cassandra git commit: update CHANGES
update CHANGES Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ad1dcefe Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ad1dcefe Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ad1dcefe Branch: refs/heads/cassandra-3.9 Commit: ad1dcefe8ed06cf2a7e5411e3f8e72f0a318d0cb Parents: ba06847 Author: Jonathan EllisAuthored: Thu Jul 21 10:18:56 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:18:56 2016 -0500 -- CHANGES.txt | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ad1dcefe/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index d29feea..c3afaca 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,5 @@ 2.1.16 * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) - * Reduce contention getting instances of CompositeType (CASSANDRA-10433) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349)
[35/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/3a7cfbd1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3a7cfbd1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3a7cfbd1 Branch: refs/heads/cassandra-3.0 Commit: 3a7cfbd19b697f9cd395aeae395d43f52250a129 Parents: bfa1acd 3d3359e Author: Stefania AlborghettiAuthored: Mon Jul 25 08:39:40 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:40:35 2016 +0800 -- CHANGES.txt | 1 + bin/cqlsh.py| 50 --- ...andra-driver-internal-only-3.0.0-6af642d.zip | Bin 228893 -> 0 bytes ...driver-internal-only-3.5.0.post0-d8d0456.zip | Bin 0 -> 245487 bytes pylib/cqlshlib/copyutil.py | 23 ++--- pylib/cqlshlib/test/test_cqlsh_output.py| 2 +- pylib/cqlshlib/tracing.py | 2 +- 7 files changed, 40 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3a7cfbd1/CHANGES.txt -- diff --cc CHANGES.txt index f35e0a4,cecf78e..cf09719 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,49 -1,11 +1,50 @@@ -2.1.16 +2.2.8 + * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214) + * Synchronize ThriftServer::stop() (CASSANDRA-12105) + * Use dedicated thread for JMX notifications (CASSANDRA-12146) + * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) + * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) + * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) + * Don't write shadowed range tombstone (CASSANDRA-12030) +Merged from 2.1: + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) - * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) + * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) + * Account for partition deletions in tombstone histogram (CASSANDRA-12112) -2.1.15 - * Account for partition deletions in tombstone histogram (CASSANDRA-12112) +2.2.7 + * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755) + * Validate bloom_filter_fp_chance against lowest supported + value when the table is created (CASSANDRA-11920) + * RandomAccessReader: call isEOF() only when rebuffering, not for every read operation (CASSANDRA-12013) + * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038) + * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984) + * Persist local metadata earlier in startup sequence (CASSANDRA-11742) + * Run CommitLog tests with different compression settings (CASSANDRA-9039) + * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664) + * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587) + * Fix possible race condition in CommitLog.recover (CASSANDRA-11743) + * Enable client encryption in sstableloader with cli options (CASSANDRA-11708) + * Possible memory leak in NIODataInputStream (CASSANDRA-11867) + * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669) + * Add seconds to cqlsh tracing session duration (CASSANDRA-11753) + * Prohibit Reverse Counter type as part of the PK (CASSANDRA-9395) + * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626) + * Exit JVM if JMX server fails to startup (CASSANDRA-11540) + * Produce a heap dump when exiting on OOM (CASSANDRA-9861) + * Avoid read repairing purgeable tombstones on range slices (CASSANDRA-11427) + * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510) + * JSON datetime formatting needs timezone (CASSANDRA-11137) + * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502) + * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660) + * Add missing files to debian packages (CASSANDRA-11642) + * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621) + * cqlsh: COPY FROM should use regular inserts for single statement batches and + report errors correctly if workers processes crash on initialization (CASSANDRA-11474) + * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553) + * Fix slice queries on ordered COMPACT tables (CASSANDRA-10988) +Merged from 2.1: * Avoid stalling paxos when the paxos state
[18/41] cassandra git commit: update CHANGES
update CHANGES Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bfa1acd3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bfa1acd3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bfa1acd3 Branch: refs/heads/cassandra-3.9 Commit: bfa1acd311c909ef88ee8133f9e9f9f2edc0749e Parents: a5930af Author: Jonathan EllisAuthored: Thu Jul 21 10:19:47 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:19:47 2016 -0500 -- CHANGES.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bfa1acd3/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index ffd92b5..f35e0a4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -5,8 +5,8 @@ * NPE when trying to remove purgable tombstones from result (CASSANDRA-12143) * Improve streaming synchronization and fault tolerance (CASSANDRA-11414) * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973) -Merged from 2.1: * Don't write shadowed range tombstone (CASSANDRA-12030) +Merged from 2.1: * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Account for partition deletions in tombstone histogram (CASSANDRA-12112)
[20/41] cassandra git commit: cannot use cql since upgrading python to 2.7.11+
cannot use cql since upgrading python to 2.7.11+ patch by Stefania Alborghetti; reviewed by Paulo Motta for CASSANDRA-11850 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d3359eb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d3359eb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d3359eb Branch: refs/heads/trunk Commit: 3d3359eb95eebff48c4966e3e23f7efb4af0f535 Parents: ad1dcef Author: Stefania AlborghettiAuthored: Mon Jul 4 12:51:08 2016 +0800 Committer: Stefania Alborghetti Committed: Mon Jul 25 08:39:12 2016 +0800 -- CHANGES.txt | 1 + ...ssandra-driver-internal-only-2.7.2-2fc8a2b.zip | Bin 0 -> 226542 bytes ...ssandra-driver-internal-only-2.7.2-5d33cb4.zip | Bin 226546 -> 0 bytes 3 files changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c3afaca..cecf78e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.1.16 + * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850) * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907) * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip new file mode 100644 index 000..cabe316 Binary files /dev/null and b/lib/cassandra-driver-internal-only-2.7.2-2fc8a2b.zip differ http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d3359eb/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip -- diff --git a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip b/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip deleted file mode 100644 index c59208b..000 Binary files a/lib/cassandra-driver-internal-only-2.7.2-5d33cb4.zip and /dev/null differ
[07/41] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' 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/c7a25972 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7a25972 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7a25972 Branch: refs/heads/trunk Commit: c7a25972e9bab7188fcdf169d537edbc0020f9dd Parents: e8186fe ba06847 Author: Jonathan EllisAuthored: Thu Jul 21 10:17:57 2016 -0500 Committer: Jonathan Ellis Committed: Thu Jul 21 10:17:57 2016 -0500 -- --
[jira] [Commented] (CASSANDRA-12284) Cqlsh not supporting Copy command
[ https://issues.apache.org/jira/browse/CASSANDRA-12284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15391210#comment-15391210 ] Stefania commented on CASSANDRA-12284: -- I don't know who is responsible for the pip cqlsh packages, [~mshuler] any ideas? This call stack makes no sense to me: perform_csv_export was removed before the copy module was renamed to copyutil, so I really don't understand which version it might be. Anyway, [~johri21], can you remove the version of cqlsh that was installed with pip and instead install Cassandra, using the same version as the server, and use the cqlsh that ships with the Cassandra package? > Cqlsh not supporting Copy command > - > > Key: CASSANDRA-12284 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12284 > Project: Cassandra > Issue Type: Bug > Components: CQL > Environment: Debian and OSX(yosemite) >Reporter: Abhinav Johri > Fix For: 3.3 > > > I installed cqlsh for my cassandra server using pip command. > I wanted to copy a table as CSV to my local system so I used COPY TO command > but it threw me the following error. > Traceback (most recent call last): > File "/usr/local/bin/cqlsh", line 1133, in onecmd > self.handle_statement(st, statementtext) > File "/usr/local/bin/cqlsh", line 1170, in handle_statement > return custom_handler(parsed) > File "/usr/local/bin/cqlsh", line 1837, in do_copy > rows = self.perform_csv_export(ks, cf, columns, fname, opts) > File "/usr/local/bin/cqlsh", line 1956, in perform_csv_export > csv_options, dialect_options, unrecognized_options = > copyutil.parse_options(self, opts) > AttributeError: 'module' object has no attribute 'parse_options' -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-12008) Make decommission operations resumable
[ https://issues.apache.org/jira/browse/CASSANDRA-12008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15391154#comment-15391154 ] Kaide Mu commented on CASSANDRA-12008: -- A working skeleton is now available, you check it via https://github.com/apache/cassandra/compare/trunk...kdmu:trunk-12008 Now we can relaunch decommission if it failed previously and {{AvailableRanges}} will be truncated according to {{OperationMode}}, but it seems {{StreamStateStore}} is not recording properly transferred ranges (nothing is recorded), I did a test with 3 nodes, decommissioning node2 and interrupting node1, i.e only node3 stream session will be completed, after partial decommission I manually checked {{AvailableRanges}} with {{SELECT * FROM system.available_ranges;}} which returned an empty result. I guess everything is set-up correctly, would you mind to taking a look? Thanks. > Make decommission operations resumable > -- > > Key: CASSANDRA-12008 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12008 > Project: Cassandra > Issue Type: Improvement > Components: Streaming and Messaging >Reporter: Tom van der Woerdt >Assignee: Kaide Mu >Priority: Minor > > We're dealing with large data sets (multiple terabytes per node) and > sometimes we need to add or remove nodes. These operations are very dependent > on the entire cluster being up, so while we're joining a new node (which > sometimes takes 6 hours or longer) a lot can go wrong and in a lot of cases > something does. > It would be great if the ability to retry streams was implemented. > Example to illustrate the problem : > {code} > 03:18 PM ~ $ nodetool decommission > error: Stream failed > -- StackTrace -- > org.apache.cassandra.streaming.StreamException: Stream failed > at > org.apache.cassandra.streaming.management.StreamEventJMXNotifier.onFailure(StreamEventJMXNotifier.java:85) > at com.google.common.util.concurrent.Futures$6.run(Futures.java:1310) > at > com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:457) > at > com.google.common.util.concurrent.ExecutionList.executeListener(ExecutionList.java:156) > at > com.google.common.util.concurrent.ExecutionList.execute(ExecutionList.java:145) > at > com.google.common.util.concurrent.AbstractFuture.setException(AbstractFuture.java:202) > at > org.apache.cassandra.streaming.StreamResultFuture.maybeComplete(StreamResultFuture.java:210) > at > org.apache.cassandra.streaming.StreamResultFuture.handleSessionComplete(StreamResultFuture.java:186) > at > org.apache.cassandra.streaming.StreamSession.closeSession(StreamSession.java:430) > at > org.apache.cassandra.streaming.StreamSession.complete(StreamSession.java:622) > at > org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:486) > at > org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:274) > at java.lang.Thread.run(Thread.java:745) > 08:04 PM ~ $ nodetool decommission > nodetool: Unsupported operation: Node in LEAVING state; wait for status to > become normal or restart > See 'nodetool help' or 'nodetool help '. > {code} > Streaming failed, probably due to load : > {code} > ERROR [STREAM-IN-/] 2016-06-14 18:05:47,275 StreamSession.java:520 - > [Stream #] Streaming error occurred > java.net.SocketTimeoutException: null > at > sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:211) > ~[na:1.8.0_77] > at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103) > ~[na:1.8.0_77] > at > java.nio.channels.Channels$ReadableByteChannelImpl.read(Channels.java:385) > ~[na:1.8.0_77] > at > org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:54) > ~[apache-cassandra-3.0.6.jar:3.0.6] > at > org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:268) > ~[apache-cassandra-3.0.6.jar:3.0.6] > at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77] > {code} > If implementing retries is not possible, can we have a 'nodetool decommission > resume'? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11726) IndexOutOfBoundsException when selecting (distinct) row ids from counter table.
[ https://issues.apache.org/jira/browse/CASSANDRA-11726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15391081#comment-15391081 ] Andrew Klopper commented on CASSANDRA-11726: We are also experiencing this issue since upgrading to Cassandra 3.7 from 2.x. We make use of a lot of counter tables, and on 3.7 queries like "SELECT entity_id FROM entity_stats" fail immediately while "SELECT * FROM entity_stats" works fine. We are seeing this on four different clusters, all separately upgraded. Dumping the data and recreating the keyspaces from scratch does not help. The error reported by cqlsh is: {code}ReadFailure: code=1300 [Replica(s) failed to execute read] message="Operation failed - received 0 responses and 1 failures" info={'failures': 1, 'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}{code} The error in the logs is: {code}WARN [SharedPool-Worker-3] 2016-07-24 12:46:13,948 AbstractLocalAwareExecutorService.java:169 - Uncaught exception on thread Thread[SharedPool-Worker-3,5,main]: {} java.lang.RuntimeException: java.lang.IndexOutOfBoundsException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2470) ~[apache-cassandra-3.7.jar:3.7] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_92] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136) [apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-3.7.jar:3.7] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_92] Caused by: java.lang.IndexOutOfBoundsException: null at java.nio.Buffer.checkIndex(Buffer.java:546) ~[na:1.8.0_92] at java.nio.HeapByteBuffer.getShort(HeapByteBuffer.java:314) ~[na:1.8.0_92] at org.apache.cassandra.db.context.CounterContext.headerLength(CounterContext.java:141) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.context.CounterContext.access$100(CounterContext.java:76) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.context.CounterContext$ContextState.(CounterContext.java:758) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.context.CounterContext$ContextState.wrap(CounterContext.java:765) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.context.CounterContext.merge(CounterContext.java:271) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.Conflicts.mergeCounterValues(Conflicts.java:76) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.Cells.reconcile(Cells.java:143) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.Row$Merger$ColumnDataReducer.getReduced(Row.java:614) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.Row$Merger$ColumnDataReducer.getReduced(Row.java:572) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:217) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:156) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.Row$Merger.merge(Row.java:549) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator$MergeReducer.getReduced(UnfilteredRowIterators.java:473) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator$MergeReducer.getReduced(UnfilteredRowIterators.java:437) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:217) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:156) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator.computeNext(UnfilteredRowIterators.java:419) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.db.rows.UnfilteredRowIterators$UnfilteredRowMergeIterator.computeNext(UnfilteredRowIterators.java:279) ~[apache-cassandra-3.7.jar:3.7] at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) ~[apache-cassandra-3.7.jar:3.7] at