[jira] [Updated] (CASSANDRA-10888) Tombstone error warning does not log partition key

2016-02-17 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-10888:
---
Assignee: Brett Snyder  (was: Benjamin Lerer)

> Tombstone error warning does not log partition key
> --
>
> Key: CASSANDRA-10888
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10888
> Project: Cassandra
>  Issue Type: Improvement
> Environment: DSE 4.8.2
>Reporter: Ole Pedersen
>Assignee: Brett Snyder
> Attachments: 10888-2.1.txt, 10888-2.2.txt
>
>
> Log partition key if read fails due to the ERROR threshold on read tombstoned 
> cells.
> Right now I can specify a warning and an error threshold for C* when reading 
> from a partition with many tombstones.
> If the query reads more than the “warning threshold” then C* writes a warning 
> to the log with the partition key.
> But if a query reads more than the “error threshold” then C* aborts the query 
> and writes to the log – but not the partition key, this time. 
> What I am missing is: Could C* also please write the partition key in case of 
> query abort due to tombstones?



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


[jira] [Commented] (CASSANDRA-10508) Remove hard-coded SSL cipher suites and protocols

2016-02-17 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10508:
--

Oh - BTW. Does this ticket supersede CASSANDRA-11164 completely? If so, I'm 
fine with resolving that ticket as superseded by this.

> Remove hard-coded SSL cipher suites and protocols
> -
>
> Key: CASSANDRA-10508
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10508
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>  Labels: lhf
> Fix For: 3.x
>
>
> Currently each SSL connections will be initialized using a hard-coded list of 
> protocols ("SSLv2Hello", "TLSv1", "TLSv1.1", "TLSv1.2") and cipher suites. We 
> now require Java 8 which comes with solid defaults for these kind of SSL 
> settings and I'm wondering if the current behavior shouldn't be re-evaluated. 
> In my impression the way cipher suites are currently whitelisted is 
> problematic, as this will prevent the JVM from using more recent and more 
> secure suites that haven't been added to the hard-coded list. JVM updates may 
> also cause issues in case the limited number of ciphers cannot be used, e.g. 
> see CASSANDRA-6613.
> Looking at the source I've also stumbled upon a bug in the 
> {{filterCipherSuites()}} method that would return the filtered list of 
> ciphers in undetermined order where the result is passed to 
> {{setEnabledCipherSuites()}}. However, the list of ciphers will reflect the 
> order of preference 
> ([source|https://bugs.openjdk.java.net/browse/JDK-8087311]) and therefore you 
> may end up with weaker algorithms on the top. Currently it's not that 
> critical, as we only whitelist a couple of ciphers anyway. But it adds to the 
> question if it still really makes sense to work with the cipher list at all 
> in the Cassandra code base.
> Another way to effect used ciphers is by changing the security properties. 
> This is a more versatile way to work with cipher lists instead of relying on 
> hard-coded values, see 
> [here|https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#DisabledAlgorithms]
>  for details.
> The same applies to the protocols. Introduced in CASSANDRA-8265 to prevent 
> SSLv3 attacks, this is not necessary anymore as SSLv3 is now blacklisted 
> anyway and will stop using safer protocol sets on new JVM releases or user 
> request. Again, we should stick with the JVM defaults. Using the 
> {{jdk.tls.client.protocols}} systems property will always allow to restrict 
> the set of protocols in case another emergency fix is needed. 
> You can find a patch with where I ripped out the mentioned options here:
> [Diff 
> trunk|https://github.com/apache/cassandra/compare/trunk...spodkowinski:fix/ssloptions]



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


[jira] [Commented] (CASSANDRA-10508) Remove hard-coded SSL cipher suites and protocols

2016-02-17 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10508:
--

Took a brief look at the diff and the changes look good so far. One question: 
Would it make sense to actually add a new config "allowed_protocols" instead of 
sticking with the system property (in a separate ticket)? It's more about "keep 
things in cassandra.yaml" and being able to differ between server and client 
connections. Frankly, I don't think it's really necessary to separate by client 
and server for the protocols . I'm just asking.

> Remove hard-coded SSL cipher suites and protocols
> -
>
> Key: CASSANDRA-10508
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10508
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>  Labels: lhf
> Fix For: 3.x
>
>
> Currently each SSL connections will be initialized using a hard-coded list of 
> protocols ("SSLv2Hello", "TLSv1", "TLSv1.1", "TLSv1.2") and cipher suites. We 
> now require Java 8 which comes with solid defaults for these kind of SSL 
> settings and I'm wondering if the current behavior shouldn't be re-evaluated. 
> In my impression the way cipher suites are currently whitelisted is 
> problematic, as this will prevent the JVM from using more recent and more 
> secure suites that haven't been added to the hard-coded list. JVM updates may 
> also cause issues in case the limited number of ciphers cannot be used, e.g. 
> see CASSANDRA-6613.
> Looking at the source I've also stumbled upon a bug in the 
> {{filterCipherSuites()}} method that would return the filtered list of 
> ciphers in undetermined order where the result is passed to 
> {{setEnabledCipherSuites()}}. However, the list of ciphers will reflect the 
> order of preference 
> ([source|https://bugs.openjdk.java.net/browse/JDK-8087311]) and therefore you 
> may end up with weaker algorithms on the top. Currently it's not that 
> critical, as we only whitelist a couple of ciphers anyway. But it adds to the 
> question if it still really makes sense to work with the cipher list at all 
> in the Cassandra code base.
> Another way to effect used ciphers is by changing the security properties. 
> This is a more versatile way to work with cipher lists instead of relying on 
> hard-coded values, see 
> [here|https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#DisabledAlgorithms]
>  for details.
> The same applies to the protocols. Introduced in CASSANDRA-8265 to prevent 
> SSLv3 attacks, this is not necessary anymore as SSLv3 is now blacklisted 
> anyway and will stop using safer protocol sets on new JVM releases or user 
> request. Again, we should stick with the JVM defaults. Using the 
> {{jdk.tls.client.protocols}} systems property will always allow to restrict 
> the set of protocols in case another emergency fix is needed. 
> You can find a patch with where I ripped out the mentioned options here:
> [Diff 
> trunk|https://github.com/apache/cassandra/compare/trunk...spodkowinski:fix/ssloptions]



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


[jira] [Commented] (CASSANDRA-10855) Use Caffeine (W-TinyLFU) for on-heap caches

2016-02-17 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10855:
--

No, didn't had a chance to do it now. AFAIU it's not just about setting up a 
new run, it's about setting up a new, realistic workload.

> Use Caffeine (W-TinyLFU) for on-heap caches
> ---
>
> Key: CASSANDRA-10855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10855
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Ben Manes
>  Labels: performance
>
> Cassandra currently uses 
> [ConcurrentLinkedHashMap|https://code.google.com/p/concurrentlinkedhashmap] 
> for performance critical caches (key, counter) and Guava's cache for 
> non-critical (auth, metrics, security). All of these usages have been 
> replaced by [Caffeine|https://github.com/ben-manes/caffeine], written by the 
> author of the previously mentioned libraries.
> The primary incentive is to switch from LRU policy to W-TinyLFU, which 
> provides [near optimal|https://github.com/ben-manes/caffeine/wiki/Efficiency] 
> hit rates. It performs particularly well in database and search traces, is 
> scan resistant, and as adds a very small time/space overhead to LRU.
> Secondarily, Guava's caches never obtained similar 
> [performance|https://github.com/ben-manes/caffeine/wiki/Benchmarks] to CLHM 
> due to some optimizations not being ported over. This change results in 
> faster reads and not creating garbage as a side-effect.



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


[jira] [Assigned] (CASSANDRA-10371) Decommissioned nodes can remain in gossip

2016-02-17 Thread Joel Knighton (JIRA)

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

Joel Knighton reassigned CASSANDRA-10371:
-

Assignee: Joel Knighton  (was: Stefania)

> Decommissioned nodes can remain in gossip
> -
>
> Key: CASSANDRA-10371
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10371
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Brandon Williams
>Assignee: Joel Knighton
>Priority: Minor
>
> This may apply to other dead states as well.  Dead states should be expired 
> after 3 days.  In the case of decom we attach a timestamp to let the other 
> nodes know when it should be expired.  It has been observed that sometimes a 
> subset of nodes in the cluster never expire the state, and through heap 
> analysis of these nodes it is revealed that the epstate.isAlive check returns 
> true when it should return false, which would allow the state to be evicted.  
> This may have been affected by CASSANDRA-8336.



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


[jira] [Comment Edited] (CASSANDRA-10371) Decommissioned nodes can remain in gossip

2016-02-17 Thread Joel Knighton (JIRA)

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

Joel Knighton edited comment on CASSANDRA-10371 at 2/18/16 4:28 AM:


It looks like the bad EndpointState is likely coming from 10.0.2.128 from the 
logs you attached - can you attach logs from this node around the time of the 
decommission?

ETA: Recent TRACE-level logs for this node would also be helpful.


was (Author: jkni):
It looks like the bad EndpointState is likely coming from 10.0.2.128 from the 
logs you attached - can you attach logs from this node around the time of the 
decommission?

> Decommissioned nodes can remain in gossip
> -
>
> Key: CASSANDRA-10371
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10371
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Brandon Williams
>Assignee: Stefania
>Priority: Minor
>
> This may apply to other dead states as well.  Dead states should be expired 
> after 3 days.  In the case of decom we attach a timestamp to let the other 
> nodes know when it should be expired.  It has been observed that sometimes a 
> subset of nodes in the cluster never expire the state, and through heap 
> analysis of these nodes it is revealed that the epstate.isAlive check returns 
> true when it should return false, which would allow the state to be evicted.  
> This may have been affected by CASSANDRA-8336.



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


[jira] [Commented] (CASSANDRA-10371) Decommissioned nodes can remain in gossip

2016-02-17 Thread Joel Knighton (JIRA)

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

Joel Knighton commented on CASSANDRA-10371:
---

It looks like the bad EndpointState is likely coming from 10.0.2.128 from the 
logs you attached - can you attach logs from this node around the time of the 
decommission?

> Decommissioned nodes can remain in gossip
> -
>
> Key: CASSANDRA-10371
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10371
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Brandon Williams
>Assignee: Stefania
>Priority: Minor
>
> This may apply to other dead states as well.  Dead states should be expired 
> after 3 days.  In the case of decom we attach a timestamp to let the other 
> nodes know when it should be expired.  It has been observed that sometimes a 
> subset of nodes in the cluster never expire the state, and through heap 
> analysis of these nodes it is revealed that the epstate.isAlive check returns 
> true when it should return false, which would allow the state to be evicted.  
> This may have been affected by CASSANDRA-8336.



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


[jira] [Commented] (CASSANDRA-11124) Change default cqlsh encoding to utf-8

2016-02-17 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-11124:
--

The patch is +1 but we could read the encoding from config file as well. We 
just need to replace {{optvalues.encoding = UTF8}} with {{optvalues.encoding = 
option_with_default(configs.get, 'ui', 'encoding', UTF8)}}. 

Perhaps we also ought to print out the encoding when {{--debug}} is specified. 
To do this we just need to add a line in the {{main}} method:

{code}
if options.debug:
 sys.stderr.write("Using CQL driver: %s\n" % (cassandra,))
 sys.stderr.write("Using connect timeout: %s seconds\n" % 
(options.connect_timeout,))
+   sys.stderr.write("Using %s encoding\n" % (options.encoding,))
{code}

bq. Do you see any scenario where this can cause problems?
I cannot think of a scenario but I am not an expert in encoding related 
problems. However, up till now we've been telling people with problems to 
change to UTF-8 and so I think we are better off using UTF-8 as the default. 
Besides, if we support changing the encoding both from command line and config 
file it should be easy enough to override the default in case of problems.

> Change default cqlsh encoding to utf-8
> --
>
> Key: CASSANDRA-11124
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11124
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Paulo Motta
>Assignee: Paulo Motta
>Priority: Trivial
>  Labels: cqlsh
>
> Strange things can happen when utf-8 is not the default cqlsh encoding (see 
> CASSANDRA-11030). This ticket proposes changing the default cqlsh encoding to 
> utf-8.



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


[jira] [Updated] (CASSANDRA-11180) APT repo for 3.2 is broken as of 3.2.1 update

2016-02-17 Thread Brandon Williams (JIRA)

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

Brandon Williams updated CASSANDRA-11180:
-
Assignee: T Jake Luciani

> APT repo for 3.2 is broken as of 3.2.1 update
> -
>
> Key: CASSANDRA-11180
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11180
> Project: Cassandra
>  Issue Type: Bug
>  Components: Packaging
> Environment: Debian (Jessie)
>Reporter: Tianon Gravi
>Assignee: T Jake Luciani
>
> Using {{deb http://www.apache.org/dist/cassandra/debian 32x main}}, running 
> {{apt-get update}} fails as of 3.2.1:
> {code}
> W: Failed to fetch 
> http://www.apache.org/dist/cassandra/debian/dists/32x/main/binary-amd64/Packages
>   Hash Sum mismatch
> {code}
> After doing some further digging, it appears that {{Packages}} was updated to 
> include 3.2.1, but {{Packages.gz}} was not:
> {code}
> diff --git a/Packages-gzip b/Packages-nogzip
> index ffb9191..78ea1f7 100644
> --- a/Packages-gzip
> +++ b/Packages-nogzip
> @@ -1,5 +1,5 @@
>  Package: cassandra
> -Version: 3.2.1
> +Version: 3.2
>  Architecture: all
>  Maintainer: Eric Evans 
>  Installed-Size: 32278
> @@ -11,30 +11,30 @@ Replaces: apache-cassandra1
>  Homepage: http://cassandra.apache.org
>  Priority: extra
>  Section: misc
> -Filename: pool/main/c/cassandra/cassandra_3.2.1_all.deb
> -Size: 24302452
> -SHA256: 6b27061815d67a522c0083abbf9cf7e9f59c5a146cd46dc324a281ba990a7cda
> -SHA1: f7db11c83508f8c8c0164cfcab8b1708b34acde1
> -MD5sum: 9a5749a1f63021518fd6f7a7447e7d3e
> +Filename: pool/main/c/cassandra/cassandra_3.2_all.deb
> +Size: 24306192
> +SHA256: 09ea894ac7d1048cf93aa4fa14a619d1225a056c97d9193de59388b3c2624665
> +SHA1: 2e5a50e5dd6b9de9426d588ea9142a0a5d495ea1
> +MD5sum: 9330c576b0ac1613fb6ee4036b336e8c
>  Description: distributed storage system for structured data
>   Cassandra is a distributed (peer-to-peer) system for the management
>   and storage of structured data.
>  Package: cassandra-tools
>  Source: cassandra
> -Version: 3.2.1
> +Version: 3.2
>  Architecture: all
>  Maintainer: Eric Evans 
>  Installed-Size: 22
> -Depends: cassandra (= 3.2.1)
> +Depends: cassandra (= 3.2)
>  Homepage: http://cassandra.apache.org
>  Priority: extra
>  Section: misc
> -Filename: pool/main/c/cassandra/cassandra-tools_3.2.1_all.deb
> -Size: 4308
> -SHA256: 85f76c0139258ed3a4a869c2f697d126665f4fbf7469478881daddc43aa05479
> -SHA1: 737620b27f4480b710e0b3637435f4181c39f4b0
> -MD5sum: 8f53ad4bf442d17f9177ba720e582641
> +Filename: pool/main/c/cassandra/cassandra-tools_3.2_all.deb
> +Size: 4298
> +SHA256: ed348b51644e2fa308bf49a65f4f1e72392516fa70bf9e0566013fdc2fccb58d
> +SHA1: 29469092cbaa7c12b2a4b6058a46a77bbdcfbe05
> +MD5sum: d9d71e517c812e9967cfa4b420b5610b
>  Description: distributed storage system for structured data
>   Cassandra is a distributed (peer-to-peer) system for the management
>   and storage of structured data.
> {code}
> Apologies if I'm filing this in the wrong place!
> This is something we're running into for the Docker {{cassandra}} image 
> (https://github.com/docker-library/cassandra/pull/50; which as a shameless 
> plug we'd be happy to have upstream get involved in helping maintain if 
> you're interested).  We've considered switching to the DataStax repo, but it 
> felt more "correct" to be using the packages built and provided via the ASF 
> -- if we ought to switch, we're happy to do so, but I figured we should let 
> someone know that the 3.2 repo is currently broken. :)



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


[jira] [Created] (CASSANDRA-11181) Add broadcast_rpc_address to system.local

2016-02-17 Thread Nick Bailey (JIRA)
Nick Bailey created CASSANDRA-11181:
---

 Summary: Add broadcast_rpc_address to system.local
 Key: CASSANDRA-11181
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11181
 Project: Cassandra
  Issue Type: Improvement
Reporter: Nick Bailey
 Fix For: 3.4


Right now it's impossible to get the broadcast_rpc_address of the node you are 
connected to via the drivers.



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


[jira] [Created] (CASSANDRA-11180) APT repo for 3.2 is broken as of 3.2.1 update

2016-02-17 Thread Tianon Gravi (JIRA)
Tianon Gravi created CASSANDRA-11180:


 Summary: APT repo for 3.2 is broken as of 3.2.1 update
 Key: CASSANDRA-11180
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11180
 Project: Cassandra
  Issue Type: Bug
  Components: Packaging
 Environment: Debian (Jessie)
Reporter: Tianon Gravi


Using {{deb http://www.apache.org/dist/cassandra/debian 32x main}}, running 
{{apt-get update}} fails as of 3.2.1:
{code}
W: Failed to fetch 
http://www.apache.org/dist/cassandra/debian/dists/32x/main/binary-amd64/Packages
  Hash Sum mismatch
{code}

After doing some further digging, it appears that {{Packages}} was updated to 
include 3.2.1, but {{Packages.gz}} was not:
{code}
diff --git a/Packages-gzip b/Packages-nogzip
index ffb9191..78ea1f7 100644
--- a/Packages-gzip
+++ b/Packages-nogzip
@@ -1,5 +1,5 @@
 Package: cassandra
-Version: 3.2.1
+Version: 3.2
 Architecture: all
 Maintainer: Eric Evans 
 Installed-Size: 32278
@@ -11,30 +11,30 @@ Replaces: apache-cassandra1
 Homepage: http://cassandra.apache.org
 Priority: extra
 Section: misc
-Filename: pool/main/c/cassandra/cassandra_3.2.1_all.deb
-Size: 24302452
-SHA256: 6b27061815d67a522c0083abbf9cf7e9f59c5a146cd46dc324a281ba990a7cda
-SHA1: f7db11c83508f8c8c0164cfcab8b1708b34acde1
-MD5sum: 9a5749a1f63021518fd6f7a7447e7d3e
+Filename: pool/main/c/cassandra/cassandra_3.2_all.deb
+Size: 24306192
+SHA256: 09ea894ac7d1048cf93aa4fa14a619d1225a056c97d9193de59388b3c2624665
+SHA1: 2e5a50e5dd6b9de9426d588ea9142a0a5d495ea1
+MD5sum: 9330c576b0ac1613fb6ee4036b336e8c
 Description: distributed storage system for structured data
  Cassandra is a distributed (peer-to-peer) system for the management
  and storage of structured data.

 Package: cassandra-tools
 Source: cassandra
-Version: 3.2.1
+Version: 3.2
 Architecture: all
 Maintainer: Eric Evans 
 Installed-Size: 22
-Depends: cassandra (= 3.2.1)
+Depends: cassandra (= 3.2)
 Homepage: http://cassandra.apache.org
 Priority: extra
 Section: misc
-Filename: pool/main/c/cassandra/cassandra-tools_3.2.1_all.deb
-Size: 4308
-SHA256: 85f76c0139258ed3a4a869c2f697d126665f4fbf7469478881daddc43aa05479
-SHA1: 737620b27f4480b710e0b3637435f4181c39f4b0
-MD5sum: 8f53ad4bf442d17f9177ba720e582641
+Filename: pool/main/c/cassandra/cassandra-tools_3.2_all.deb
+Size: 4298
+SHA256: ed348b51644e2fa308bf49a65f4f1e72392516fa70bf9e0566013fdc2fccb58d
+SHA1: 29469092cbaa7c12b2a4b6058a46a77bbdcfbe05
+MD5sum: d9d71e517c812e9967cfa4b420b5610b
 Description: distributed storage system for structured data
  Cassandra is a distributed (peer-to-peer) system for the management
  and storage of structured data.
{code}

Apologies if I'm filing this in the wrong place!

This is something we're running into for the Docker {{cassandra}} image 
(https://github.com/docker-library/cassandra/pull/50; which as a shameless plug 
we'd be happy to have upstream get involved in helping maintain if you're 
interested).  We've considered switching to the DataStax repo, but it felt more 
"correct" to be using the packages built and provided via the ASF -- if we 
ought to switch, we're happy to do so, but I figured we should let someone know 
that the 3.2 repo is currently broken. :)



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


[5/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-17 Thread jmckenzie
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/5dbab320
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5dbab320
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5dbab320

Branch: refs/heads/cassandra-3.0
Commit: 5dbab32042924787d333053baa5e4af2d31b475a
Parents: 39e966d 128d144
Author: Joshua McKenzie 
Authored: Wed Feb 17 19:23:10 2016 -0500
Committer: Joshua McKenzie 
Committed: Wed Feb 17 19:23:10 2016 -0500

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 38 ++-
 conf/cqlshrc.sample  |  3 +++
 pylib/cqlshlib/formatting.py | 14 ++
 pylib/cqlshlib/test/test_cqlsh_output.py | 18 +
 5 files changed, 68 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5dbab320/CHANGES.txt
--
diff --cc CHANGES.txt
index 4bb5a5e,904a913..a1125f5
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -32,45 -18,10 +32,46 @@@ Merged from 2.1
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
   * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 - * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
+  * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
  
  
 +3.0.3
 + * Remove double initialization of newly added tables (CASSANDRA-11027)
 + * Filter keys searcher results by target range (CASSANDRA-11104)
 + * Fix deserialization of legacy read commands (CASSANDRA-11087)
 + * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)
 + * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
 + * Mutations do not block for completion under view lock contention 
(CASSANDRA-10779)
 + * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
 + * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
 +   (CASSANDRA-11003)
 + * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
 + * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
 + * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
 + * Added support for IBM zSystems architecture (CASSANDRA-11054)
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation 
(CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
   * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
   * Apply change to compaction throughput in real time (CASSANDRA-10025)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5dbab320/bin/cqlsh.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5dbab320/pylib/cqlshlib/test/test_cqlsh_output.py
--



[3/6] cassandra git commit: cqlsh: Add local timezone support to cqlsh

2016-02-17 Thread jmckenzie
cqlsh: Add local timezone support to cqlsh

patch by Stefan Podkowinski; reviewed by Paulo Motta for CASSANDRA-10397


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

Branch: refs/heads/trunk
Commit: 128d144c0d22238a9045cc697daf880452be974b
Parents: 15b0bd6
Author: Stefan Podkowinski 
Authored: Thu Feb 11 15:00:24 2016 +0100
Committer: Joshua McKenzie 
Committed: Wed Feb 17 19:22:17 2016 -0500

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 38 ++-
 conf/cqlshrc.sample  |  3 +++
 pylib/cqlshlib/formatting.py | 14 ++
 pylib/cqlshlib/test/test_cqlsh_output.py | 18 +
 5 files changed, 68 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/128d144c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 968c8b1..904a913 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -19,6 +19,7 @@ Merged from 2.1:
  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
+ * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
 
 
 2.2.5

http://git-wip-us.apache.org/repos/asf/cassandra/blob/128d144c/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index 08cc6f4..6a464b0 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -666,6 +666,7 @@ class Shell(cmd.Cmd):
  display_timestamp_format=DEFAULT_TIMESTAMP_FORMAT,
  display_date_format=DEFAULT_DATE_FORMAT,
  display_float_precision=DEFAULT_FLOAT_PRECISION,
+ display_timezone=None,
  max_trace_wait=DEFAULT_MAX_TRACE_WAIT,
  ssl=False,
  single_statement=None,
@@ -715,6 +716,8 @@ class Shell(cmd.Cmd):
 
 self.display_float_precision = display_float_precision
 
+self.display_timezone = display_timezone
+
 # If there is no schema metadata present (due to a schema mismatch), 
force schema refresh
 if not self.conn.metadata.keyspaces:
 self.refresh_schema_metadata_best_effort()
@@ -801,7 +804,8 @@ class Shell(cmd.Cmd):
 self.decoding_errors.append(val)
 try:
 dtformats = 
DateTimeFormat(timestamp_format=self.display_timestamp_format,
-   date_format=self.display_date_format, 
nanotime_format=self.display_nanotime_format)
+   date_format=self.display_date_format, 
nanotime_format=self.display_nanotime_format,
+   timezone=self.display_timezone)
 return format_value(val, self.output_codec.name,
 addcolor=self.color, 
date_time_format=dtformats,
 float_precision=self.display_float_precision, 
**kwargs)
@@ -2349,6 +2353,7 @@ def read_options(cmdlineargs, environment):
 optvalues.field_size_limit = option_with_default(configs.getint, 'csv', 
'field_size_limit', csv.field_size_limit())
 optvalues.max_trace_wait = option_with_default(configs.getfloat, 
'tracing', 'max_trace_wait',
DEFAULT_MAX_TRACE_WAIT)
+optvalues.timezone = option_with_default(configs.get, 'ui', 'timezone', 
None)
 
 optvalues.debug = False
 optvalues.file = None
@@ -2467,6 +2472,36 @@ def main(options, hostname, port):
 sys.stderr.write("Using CQL driver: %s\n" % (cassandra,))
 sys.stderr.write("Using connect timeout: %s seconds\n" % 
(options.connect_timeout,))
 
+# create timezone based on settings, environment or auto-detection
+timezone = None
+if options.timezone or 'TZ' in os.environ:
+try:
+import pytz
+if options.timezone:
+try:
+timezone = pytz.timezone(options.timezone)
+except:
+sys.stderr.write("Warning: could not recognize timezone 
'%s' specified in cqlshrc\n\n" % (options.timezone))
+if 'TZ' in os.environ:
+try:
+timezone = pytz.timezone(os.environ['TZ'])
+except:
+sys.stderr.write("Warning: could not recognize timezone 
'%s' from environment value 

[1/6] cassandra git commit: cqlsh: Add local timezone support to cqlsh

2016-02-17 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 15b0bd6d0 -> 128d144c0
  refs/heads/cassandra-3.0 39e966d85 -> 5dbab3204
  refs/heads/trunk 81ffa524b -> 9492efb3c


cqlsh: Add local timezone support to cqlsh

patch by Stefan Podkowinski; reviewed by Paulo Motta for CASSANDRA-10397


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

Branch: refs/heads/cassandra-2.2
Commit: 128d144c0d22238a9045cc697daf880452be974b
Parents: 15b0bd6
Author: Stefan Podkowinski 
Authored: Thu Feb 11 15:00:24 2016 +0100
Committer: Joshua McKenzie 
Committed: Wed Feb 17 19:22:17 2016 -0500

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 38 ++-
 conf/cqlshrc.sample  |  3 +++
 pylib/cqlshlib/formatting.py | 14 ++
 pylib/cqlshlib/test/test_cqlsh_output.py | 18 +
 5 files changed, 68 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/128d144c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 968c8b1..904a913 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -19,6 +19,7 @@ Merged from 2.1:
  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
+ * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
 
 
 2.2.5

http://git-wip-us.apache.org/repos/asf/cassandra/blob/128d144c/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index 08cc6f4..6a464b0 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -666,6 +666,7 @@ class Shell(cmd.Cmd):
  display_timestamp_format=DEFAULT_TIMESTAMP_FORMAT,
  display_date_format=DEFAULT_DATE_FORMAT,
  display_float_precision=DEFAULT_FLOAT_PRECISION,
+ display_timezone=None,
  max_trace_wait=DEFAULT_MAX_TRACE_WAIT,
  ssl=False,
  single_statement=None,
@@ -715,6 +716,8 @@ class Shell(cmd.Cmd):
 
 self.display_float_precision = display_float_precision
 
+self.display_timezone = display_timezone
+
 # If there is no schema metadata present (due to a schema mismatch), 
force schema refresh
 if not self.conn.metadata.keyspaces:
 self.refresh_schema_metadata_best_effort()
@@ -801,7 +804,8 @@ class Shell(cmd.Cmd):
 self.decoding_errors.append(val)
 try:
 dtformats = 
DateTimeFormat(timestamp_format=self.display_timestamp_format,
-   date_format=self.display_date_format, 
nanotime_format=self.display_nanotime_format)
+   date_format=self.display_date_format, 
nanotime_format=self.display_nanotime_format,
+   timezone=self.display_timezone)
 return format_value(val, self.output_codec.name,
 addcolor=self.color, 
date_time_format=dtformats,
 float_precision=self.display_float_precision, 
**kwargs)
@@ -2349,6 +2353,7 @@ def read_options(cmdlineargs, environment):
 optvalues.field_size_limit = option_with_default(configs.getint, 'csv', 
'field_size_limit', csv.field_size_limit())
 optvalues.max_trace_wait = option_with_default(configs.getfloat, 
'tracing', 'max_trace_wait',
DEFAULT_MAX_TRACE_WAIT)
+optvalues.timezone = option_with_default(configs.get, 'ui', 'timezone', 
None)
 
 optvalues.debug = False
 optvalues.file = None
@@ -2467,6 +2472,36 @@ def main(options, hostname, port):
 sys.stderr.write("Using CQL driver: %s\n" % (cassandra,))
 sys.stderr.write("Using connect timeout: %s seconds\n" % 
(options.connect_timeout,))
 
+# create timezone based on settings, environment or auto-detection
+timezone = None
+if options.timezone or 'TZ' in os.environ:
+try:
+import pytz
+if options.timezone:
+try:
+timezone = pytz.timezone(options.timezone)
+except:
+sys.stderr.write("Warning: could not recognize timezone 
'%s' specified in cqlshrc\n\n" % (options.timezone))
+if 'TZ' in os.environ:
+try:
+ 

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

2016-02-17 Thread jmckenzie
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 9492efb3c4ff2cbcdae5944ffd442cda7c50a6c6
Parents: 81ffa52 5dbab32
Author: Joshua McKenzie 
Authored: Wed Feb 17 19:23:32 2016 -0500
Committer: Joshua McKenzie 
Committed: Wed Feb 17 19:24:06 2016 -0500

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 39 +--
 conf/cqlshrc.sample  |  3 +++
 pylib/cqlshlib/formatting.py | 14 +++---
 pylib/cqlshlib/test/test_cqlsh_output.py | 18 +
 5 files changed, 69 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9492efb3/CHANGES.txt
--
diff --cc CHANGES.txt
index e6d4c42,a1125f5..b5d0564
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -52,6 -23,6 +52,7 @@@ Merged from 2.2
   * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
   * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 (CASSANDRA-10010)
++ * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
  Merged from 2.1:
   * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
   * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9492efb3/bin/cqlsh.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9492efb3/pylib/cqlshlib/formatting.py
--
diff --cc pylib/cqlshlib/formatting.py
index ef7e3fd,dcd08da..6b88bc7
--- a/pylib/cqlshlib/formatting.py
+++ b/pylib/cqlshlib/formatting.py
@@@ -101,16 -99,16 +101,16 @@@ def color_text(bval, colormap, displayw
  
  DEFAULT_NANOTIME_FORMAT = '%H:%M:%S.%N'
  DEFAULT_DATE_FORMAT = '%Y-%m-%d'
 -DEFAULT_TIMESTAMP_FORMAT = '%Y-%m-%d %H:%M:%S%z'
  
 -if platform.system() == 'Windows':
 -DEFAULT_TIME_FORMAT = '%Y-%m-%d %H:%M:%S %Z'
 +DEFAULT_TIMESTAMP_FORMAT = os.environ.get('CQLSH_DEFAULT_TIMESTAMP_FORMAT', 
'')
 +if not DEFAULT_TIMESTAMP_FORMAT:
 +DEFAULT_TIMESTAMP_FORMAT = '%Y-%m-%d %H:%M:%S.%f%z'
  
  
 -class DateTimeFormat():
 +class DateTimeFormat:
  
  def __init__(self, timestamp_format=DEFAULT_TIMESTAMP_FORMAT, 
date_format=DEFAULT_DATE_FORMAT,
-  nanotime_format=DEFAULT_NANOTIME_FORMAT):
+  nanotime_format=DEFAULT_NANOTIME_FORMAT, timezone=None):
  self.timestamp_format = timestamp_format
  self.date_format = date_format
  self.nanotime_format = nanotime_format

http://git-wip-us.apache.org/repos/asf/cassandra/blob/9492efb3/pylib/cqlshlib/test/test_cqlsh_output.py
--
diff --cc pylib/cqlshlib/test/test_cqlsh_output.py
index c398f69,f867312..c54792d
--- a/pylib/cqlshlib/test/test_cqlsh_output.py
+++ b/pylib/cqlshlib/test/test_cqlsh_output.py
@@@ -370,6 -370,24 +370,24 @@@ class TestCqlshOutput(BaseTestCase)
  
  """),
  ), env={'TZ': 'Etc/UTC'})
+ try:
+ import pytz  # test only if pytz is available on PYTHONPATH
+ self.assertQueriesGiveColoredOutput((
+ ('''select timestampcol from has_all_types where num = 0;''', 
"""
+  timestampcol
+  
 ---
++-
+ 
 - 2012-05-14 09:53:20-0300
 - 
++ 2012-05-14 09:53:20.00-0300
++ GGG
+ 
+ 
+ (1 rows)
+ 
+ """),
+ ), env={'TZ': 'America/Sao_Paulo'})
+ except ImportError:
+ pass
  
  def test_boolean_output(self):
  self.assertCqlverQueriesGiveColoredOutput((



[2/6] cassandra git commit: cqlsh: Add local timezone support to cqlsh

2016-02-17 Thread jmckenzie
cqlsh: Add local timezone support to cqlsh

patch by Stefan Podkowinski; reviewed by Paulo Motta for CASSANDRA-10397


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

Branch: refs/heads/cassandra-3.0
Commit: 128d144c0d22238a9045cc697daf880452be974b
Parents: 15b0bd6
Author: Stefan Podkowinski 
Authored: Thu Feb 11 15:00:24 2016 +0100
Committer: Joshua McKenzie 
Committed: Wed Feb 17 19:22:17 2016 -0500

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 38 ++-
 conf/cqlshrc.sample  |  3 +++
 pylib/cqlshlib/formatting.py | 14 ++
 pylib/cqlshlib/test/test_cqlsh_output.py | 18 +
 5 files changed, 68 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/128d144c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 968c8b1..904a913 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -19,6 +19,7 @@ Merged from 2.1:
  * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
  * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
+ * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
 
 
 2.2.5

http://git-wip-us.apache.org/repos/asf/cassandra/blob/128d144c/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index 08cc6f4..6a464b0 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -666,6 +666,7 @@ class Shell(cmd.Cmd):
  display_timestamp_format=DEFAULT_TIMESTAMP_FORMAT,
  display_date_format=DEFAULT_DATE_FORMAT,
  display_float_precision=DEFAULT_FLOAT_PRECISION,
+ display_timezone=None,
  max_trace_wait=DEFAULT_MAX_TRACE_WAIT,
  ssl=False,
  single_statement=None,
@@ -715,6 +716,8 @@ class Shell(cmd.Cmd):
 
 self.display_float_precision = display_float_precision
 
+self.display_timezone = display_timezone
+
 # If there is no schema metadata present (due to a schema mismatch), 
force schema refresh
 if not self.conn.metadata.keyspaces:
 self.refresh_schema_metadata_best_effort()
@@ -801,7 +804,8 @@ class Shell(cmd.Cmd):
 self.decoding_errors.append(val)
 try:
 dtformats = 
DateTimeFormat(timestamp_format=self.display_timestamp_format,
-   date_format=self.display_date_format, 
nanotime_format=self.display_nanotime_format)
+   date_format=self.display_date_format, 
nanotime_format=self.display_nanotime_format,
+   timezone=self.display_timezone)
 return format_value(val, self.output_codec.name,
 addcolor=self.color, 
date_time_format=dtformats,
 float_precision=self.display_float_precision, 
**kwargs)
@@ -2349,6 +2353,7 @@ def read_options(cmdlineargs, environment):
 optvalues.field_size_limit = option_with_default(configs.getint, 'csv', 
'field_size_limit', csv.field_size_limit())
 optvalues.max_trace_wait = option_with_default(configs.getfloat, 
'tracing', 'max_trace_wait',
DEFAULT_MAX_TRACE_WAIT)
+optvalues.timezone = option_with_default(configs.get, 'ui', 'timezone', 
None)
 
 optvalues.debug = False
 optvalues.file = None
@@ -2467,6 +2472,36 @@ def main(options, hostname, port):
 sys.stderr.write("Using CQL driver: %s\n" % (cassandra,))
 sys.stderr.write("Using connect timeout: %s seconds\n" % 
(options.connect_timeout,))
 
+# create timezone based on settings, environment or auto-detection
+timezone = None
+if options.timezone or 'TZ' in os.environ:
+try:
+import pytz
+if options.timezone:
+try:
+timezone = pytz.timezone(options.timezone)
+except:
+sys.stderr.write("Warning: could not recognize timezone 
'%s' specified in cqlshrc\n\n" % (options.timezone))
+if 'TZ' in os.environ:
+try:
+timezone = pytz.timezone(os.environ['TZ'])
+except:
+sys.stderr.write("Warning: could not recognize timezone 
'%s' from environment 

[4/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-17 Thread jmckenzie
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/5dbab320
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5dbab320
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5dbab320

Branch: refs/heads/trunk
Commit: 5dbab32042924787d333053baa5e4af2d31b475a
Parents: 39e966d 128d144
Author: Joshua McKenzie 
Authored: Wed Feb 17 19:23:10 2016 -0500
Committer: Joshua McKenzie 
Committed: Wed Feb 17 19:23:10 2016 -0500

--
 CHANGES.txt  |  1 +
 bin/cqlsh.py | 38 ++-
 conf/cqlshrc.sample  |  3 +++
 pylib/cqlshlib/formatting.py | 14 ++
 pylib/cqlshlib/test/test_cqlsh_output.py | 18 +
 5 files changed, 68 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5dbab320/CHANGES.txt
--
diff --cc CHANGES.txt
index 4bb5a5e,904a913..a1125f5
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -32,45 -18,10 +32,46 @@@ Merged from 2.1
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)
   * Avoid major compaction mixing repaired and unrepaired sstables in DTCS 
(CASSANDRA-3)
   * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 - * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
+  * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
  
  
 +3.0.3
 + * Remove double initialization of newly added tables (CASSANDRA-11027)
 + * Filter keys searcher results by target range (CASSANDRA-11104)
 + * Fix deserialization of legacy read commands (CASSANDRA-11087)
 + * Fix incorrect computation of deletion time in sstable metadata 
(CASSANDRA-11102)
 + * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
 + * Mutations do not block for completion under view lock contention 
(CASSANDRA-10779)
 + * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
 + * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
 +   (CASSANDRA-11003)
 + * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
 + * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
 + * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
 + * Added support for IBM zSystems architecture (CASSANDRA-11054)
 + * Update CQL documentation (CASSANDRA-10899)
 + * Check the column name, not cell name, for dropped columns when reading
 +   legacy sstables (CASSANDRA-11018)
 + * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 + * Remove checksum files after replaying hints (CASSANDRA-10947)
 + * Support passing base table metadata to custom 2i validation 
(CASSANDRA-10924)
 + * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 + * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 + * Fix UnsupportedOperationException when reading old sstable with range
 +   tombstone (CASSANDRA-10743)
 + * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 + * Fix potential assertion error during compaction (CASSANDRA-10944)
 + * Fix counting of received sstables in streaming (CASSANDRA-10949)
 + * Implement hints compression (CASSANDRA-9428)
 + * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 + * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 + * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 + * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 + * Add back support for 3rd party auth providers to bulk loader 
(CASSANDRA-10873)
 + * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 + * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes 
(CASSANDRA-10837)
 + * Fix sstableloader not working with upper case keyspace name 
(CASSANDRA-10806)
 +Merged from 2.2:
  2.2.5
   * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
   * Apply change to compaction throughput in real time (CASSANDRA-10025)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5dbab320/bin/cqlsh.py
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5dbab320/pylib/cqlshlib/test/test_cqlsh_output.py
--



cassandra git commit: test_timestamp_output in the cqlshlib tests is failing

2016-02-17 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/trunk 29d556872 -> 81ffa524b


test_timestamp_output in the cqlshlib tests is failing

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


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

Branch: refs/heads/trunk
Commit: 81ffa524bdab35dcd62947fcff1599f5f707d202
Parents: 29d5568
Author: Stefania Alborghetti 
Authored: Mon Feb 8 09:43:23 2016 +0800
Committer: Joshua McKenzie 
Committed: Wed Feb 17 19:05:30 2016 -0500

--
 pylib/cqlshlib/test/test_cqlsh_output.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/81ffa524/pylib/cqlshlib/test/test_cqlsh_output.py
--
diff --git a/pylib/cqlshlib/test/test_cqlsh_output.py 
b/pylib/cqlshlib/test/test_cqlsh_output.py
index b5224df..c398f69 100644
--- a/pylib/cqlshlib/test/test_cqlsh_output.py
+++ b/pylib/cqlshlib/test/test_cqlsh_output.py
@@ -360,10 +360,10 @@ class TestCqlshOutput(BaseTestCase):
 ('''select timestampcol from has_all_types where num = 0;''', """
  timestampcol
  
---
+-
 
- 2012-05-14 12:53:20+
- 
+ 2012-05-14 12:53:20.00+
+ GGG
 
 
 (1 rows)



[jira] [Updated] (CASSANDRA-11124) Change default cqlsh encoding to utf-8

2016-02-17 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-11124:
-
Reviewer: Stefania  (was: Stefania Alborghetti)

> Change default cqlsh encoding to utf-8
> --
>
> Key: CASSANDRA-11124
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11124
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Paulo Motta
>Assignee: Paulo Motta
>Priority: Trivial
>  Labels: cqlsh
>
> Strange things can happen when utf-8 is not the default cqlsh encoding (see 
> CASSANDRA-11030). This ticket proposes changing the default cqlsh encoding to 
> utf-8.



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


[jira] [Comment Edited] (CASSANDRA-11179) Parallel cleanup can lead to disk space exhaustion

2016-02-17 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-11179 at 2/17/16 11:38 PM:
--

Also true of scrub. 

One other side-effect of parallelization worth noting is that source files are 
not immediately freed upon completion of each individual sstable - if you have 
n concurrent compactors, and 1 sstable is significantly smaller than the 
others, it will be finished very quickly, but there will exist a significant 
period of time when both the original source and resulting cleaned sstable will 
co-exist on disk (until all n are done?).

That is, it appears that current parallel code waits for all in-flight tasks to 
complete before finalizing, and because those tasks run at different speed, 
operators are that much more likely to run out of disk during cleanup.



was (Author: jjirsa):
Also true of scrub. 

One other side-effect of parallelization worth noting is that source files are 
not immediately freed upon completion of each individual sstable - if you have 
8 concurrent compactors, and 1 sstable is significantly smaller than the 
others, it will be finished very quickly, but there will exist a significant 
period of time when both the original source and resulting cleaned sstable will 
co-exist on disk. 

That is, it appears that current parallel code waits for all in-flight tasks to 
complete before finalizing, and because those tasks run at different speed, 
operators are that much more likely to run out of disk during cleanup.


> Parallel cleanup can lead to disk space exhaustion
> --
>
> Key: CASSANDRA-11179
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11179
> Project: Cassandra
>  Issue Type: Bug
>  Components: Compaction, Tools
>Reporter: Tyler Hobbs
>
> In CASSANDRA-5547, we made cleanup (among other things) run in parallel 
> across multiple sstables.  There have been reports on IRC of this leading to 
> disk space exhaustion, because multiple sstables are (almost entirely) 
> rewritten at the same time.  This seems particularly problematic because 
> cleanup is frequently run after a cluster is expanded due to low disk space.
> I'm not really familiar with how we perform free disk space checks now, but 
> it sounds like we can make some improvements here.  It would be good to 
> reduce the concurrency of cleanup operations if there isn't enough free disk 
> space to support this.



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


cassandra git commit: fix TrackerTest to handle new notifications

2016-02-17 Thread xedin
Repository: cassandra
Updated Branches:
  refs/heads/trunk 27ac6a836 -> 29d556872


fix TrackerTest to handle new notifications

patch by xedin; reviewed by yukim for CASSANDRA-11178


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

Branch: refs/heads/trunk
Commit: 29d5568724a5ba80642cb58ed829d5c961fff41d
Parents: 27ac6a8
Author: Pavel Yaskevich 
Authored: Wed Feb 17 15:07:31 2016 -0800
Committer: Pavel Yaskevich 
Committed: Wed Feb 17 15:33:04 2016 -0800

--
 CHANGES.txt|  1 +
 .../apache/cassandra/db/lifecycle/TrackerTest.java | 17 +++--
 2 files changed, 12 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/29d55687/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index df97bbd..e6d4c42 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.4
+ * fix TrackerTest to handle new notifications (CASSANDRA-11178)
  * add SASI validation for partitioner and complex columns (CASSANDRA-11169)
  * Add caching of encrypted credentials in PasswordAuthenticator 
(CASSANDRA-7715)
  * fix SASI memtable switching on flush (CASSANDRA-11159)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/29d55687/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java 
b/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java
index 4f49389..b3dc3d9 100644
--- a/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java
+++ b/test/unit/org/apache/cassandra/db/lifecycle/TrackerTest.java
@@ -280,8 +280,9 @@ public class TrackerTest
 Assert.assertEquals(prev1, tracker.getMemtableFor(write1, 
ReplayPosition.NONE));
 Assert.assertEquals(prev2, tracker.getMemtableFor(write2, 
ReplayPosition.NONE));
 Assert.assertEquals(cur, tracker.getMemtableFor(writecur, 
ReplayPosition.NONE));
-Assert.assertEquals(1, listener.received.size());
+Assert.assertEquals(2, listener.received.size());
 Assert.assertTrue(listener.received.get(0) instanceof 
MemtableRenewedNotification);
+Assert.assertTrue(listener.received.get(1) instanceof 
MemtableSwitchedNotification);
 listener.received.clear();
 
 tracker.markFlushing(prev2);
@@ -299,8 +300,9 @@ public class TrackerTest
 SSTableReader reader = MockSchema.sstable(0, 10, false, cfs);
 tracker.replaceFlushed(prev2, singleton(reader));
 Assert.assertEquals(1, tracker.getView().sstables.size());
-Assert.assertEquals(1, listener.received.size());
+Assert.assertEquals(2, listener.received.size());
 Assert.assertEquals(singleton(reader), ((SSTableAddedNotification) 
listener.received.get(0)).added);
+Assert.assertEquals(prev2, ((MemtableDiscardedNotification) 
listener.received.get(1)).memtable);
 listener.received.clear();
 Assert.assertTrue(reader.isKeyCacheSetup());
 Assert.assertEquals(10, cfs.metric.liveDiskSpaceUsed.getCount());
@@ -318,10 +320,13 @@ public class TrackerTest
 Assert.assertEquals(0, tracker.getView().sstables.size());
 Assert.assertEquals(0, tracker.getView().flushingMemtables.size());
 Assert.assertEquals(0, cfs.metric.liveDiskSpaceUsed.getCount());
-Assert.assertEquals(3, listener.received.size());
-Assert.assertEquals(singleton(reader), ((SSTableAddedNotification) 
listener.received.get(0)).added);
-Assert.assertTrue(listener.received.get(1) instanceof 
SSTableDeletingNotification);
-Assert.assertEquals(1, ((SSTableListChangedNotification) 
listener.received.get(2)).removed.size());
+System.out.println(listener.received);
+Assert.assertEquals(5, listener.received.size());
+Assert.assertEquals(prev1, ((MemtableSwitchedNotification) 
listener.received.get(0)).memtable);
+Assert.assertEquals(singleton(reader), ((SSTableAddedNotification) 
listener.received.get(1)).added);
+Assert.assertEquals(prev1, ((MemtableDiscardedNotification) 
listener.received.get(2)).memtable);
+Assert.assertTrue(listener.received.get(3) instanceof 
SSTableDeletingNotification);
+Assert.assertEquals(1, ((SSTableListChangedNotification) 
listener.received.get(4)).removed.size());
 DatabaseDescriptor.setIncrementalBackupsEnabled(backups);
 }
 



[jira] [Commented] (CASSANDRA-11179) Parallel cleanup can lead to disk space exhaustion

2016-02-17 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa commented on CASSANDRA-11179:


Also true of scrub. 

One other side-effect of parallelization worth noting is that source files are 
not immediately freed upon completion of each individual sstable - if you have 
8 concurrent compactors, and 1 sstable is significantly smaller than the 
others, it will be finished very quickly, but there will exist a significant 
period of time when both the original source and resulting cleaned sstable will 
co-exist on disk. 

That is, it appears that current parallel code waits for all in-flight tasks to 
complete before finalizing, and because those tasks run at different speed, 
operators are that much more likely to run out of disk during cleanup.


> Parallel cleanup can lead to disk space exhaustion
> --
>
> Key: CASSANDRA-11179
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11179
> Project: Cassandra
>  Issue Type: Bug
>  Components: Compaction, Tools
>Reporter: Tyler Hobbs
>
> In CASSANDRA-5547, we made cleanup (among other things) run in parallel 
> across multiple sstables.  There have been reports on IRC of this leading to 
> disk space exhaustion, because multiple sstables are (almost entirely) 
> rewritten at the same time.  This seems particularly problematic because 
> cleanup is frequently run after a cluster is expanded due to low disk space.
> I'm not really familiar with how we perform free disk space checks now, but 
> it sounds like we can make some improvements here.  It would be good to 
> reduce the concurrency of cleanup operations if there isn't enough free disk 
> space to support this.



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


[jira] [Updated] (CASSANDRA-11179) Parallel cleanup can lead to disk space exhaustion

2016-02-17 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-11179:

Description: 
In CASSANDRA-5547, we made cleanup (among other things) run in parallel across 
multiple sstables.  There have been reports on IRC of this leading to disk 
space exhaustion, because multiple sstables are (almost entirely) rewritten at 
the same time.  This seems particularly problematic because cleanup is 
frequently run after a cluster is expanded due to low disk space.

I'm not really familiar with how we perform free disk space checks now, but it 
sounds like we can make some improvements here.  It would be good to reduce the 
concurrency of cleanup operations if there isn't enough free disk space to 
support this.

  was:
In CASSANDRA-5366, we made cleanup (among other things) run in parallel across 
multiple sstables.  There have been reports on IRC of this leading to disk 
space exhaustion, because multiple sstables are (almost entirely) rewritten at 
the same time.  This seems particularly problematic because cleanup is 
frequently run after a cluster is expanded due to low disk space.

I'm not really familiar with how we perform free disk space checks now, but it 
sounds like we can make some improvements here.  It would be good to reduce the 
concurrency of cleanup operations if there isn't enough free disk space to 
support this.


> Parallel cleanup can lead to disk space exhaustion
> --
>
> Key: CASSANDRA-11179
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11179
> Project: Cassandra
>  Issue Type: Bug
>  Components: Compaction, Tools
>Reporter: Tyler Hobbs
>
> In CASSANDRA-5547, we made cleanup (among other things) run in parallel 
> across multiple sstables.  There have been reports on IRC of this leading to 
> disk space exhaustion, because multiple sstables are (almost entirely) 
> rewritten at the same time.  This seems particularly problematic because 
> cleanup is frequently run after a cluster is expanded due to low disk space.
> I'm not really familiar with how we perform free disk space checks now, but 
> it sounds like we can make some improvements here.  It would be good to 
> reduce the concurrency of cleanup operations if there isn't enough free disk 
> space to support this.



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


[jira] [Created] (CASSANDRA-11179) Parallel cleanup can lead to disk space exhaustion

2016-02-17 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-11179:
---

 Summary: Parallel cleanup can lead to disk space exhaustion
 Key: CASSANDRA-11179
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11179
 Project: Cassandra
  Issue Type: Bug
  Components: Compaction, Tools
Reporter: Tyler Hobbs


In CASSANDRA-5366, we made cleanup (among other things) run in parallel across 
multiple sstables.  There have been reports on IRC of this leading to disk 
space exhaustion, because multiple sstables are (almost entirely) rewritten at 
the same time.  This seems particularly problematic because cleanup is 
frequently run after a cluster is expanded due to low disk space.

I'm not really familiar with how we perform free disk space checks now, but it 
sounds like we can make some improvements here.  It would be good to reduce the 
concurrency of cleanup operations if there isn't enough free disk space to 
support this.



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


[jira] [Commented] (CASSANDRA-11178) TrackerTest is failing on trunk after CASSANDRA-11159

2016-02-17 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-11178:


+1

> TrackerTest is failing on trunk after CASSANDRA-11159
> -
>
> Key: CASSANDRA-11178
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11178
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Yuki Morishita
>Assignee: Pavel Yaskevich
>  Labels: test
> Fix For: 3.4
>
>
> TrackerTest.testMemtableReplacement is failing after CASSANDRA-11159. It 
> looks like 11159 added more notification points so MockListener gets called 
> more than expected.



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


[jira] [Commented] (CASSANDRA-11178) TrackerTest is failing on trunk after CASSANDRA-11159

2016-02-17 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11178:
-

[~yukim] I've pushed changes to 
[CASSANDRA-11178|https://github.com/xedin/cassandra/tree/CASSANDRA-11178], 
TrackerTest now supports all of the new notifications.

> TrackerTest is failing on trunk after CASSANDRA-11159
> -
>
> Key: CASSANDRA-11178
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11178
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Yuki Morishita
>Assignee: Pavel Yaskevich
>  Labels: test
> Fix For: 3.4
>
>
> TrackerTest.testMemtableReplacement is failing after CASSANDRA-11159. It 
> looks like 11159 added more notification points so MockListener gets called 
> more than expected.



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


[jira] [Commented] (CASSANDRA-11178) TrackerTest is failing on trunk after CASSANDRA-11159

2016-02-17 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11178:
-

[~yukim] Oh, I'm sorry, will fix this right away...

> TrackerTest is failing on trunk after CASSANDRA-11159
> -
>
> Key: CASSANDRA-11178
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11178
> Project: Cassandra
>  Issue Type: Bug
>  Components: Testing
>Reporter: Yuki Morishita
>Assignee: Pavel Yaskevich
>
> TrackerTest.testMemtableReplacement is failing after CASSANDRA-11159. It 
> looks like 11159 added more notification points so MockListener gets called 
> more than expected.



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


[jira] [Commented] (CASSANDRA-11169) add SASI validation for partitioner and complex columns

2016-02-17 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich commented on CASSANDRA-11169:
-

[~jkrupan] It's in the TODO list for me, feel free to create a ticket for it if 
you want, it's just a matter of integration really, since index format is not 
going to change.

> add SASI validation for partitioner and complex columns
> ---
>
> Key: CASSANDRA-11169
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11169
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
>Reporter: Jon Haddad
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I have a brand new cluster, built off 1944bf507d66b5c103c136319caeb4a9e3767a69
> I created a new table with a set, then a SASI index on the set.  I 
> tried to insert a row with a set, Cassandra throws an exception and becomes 
> unavailable.
> {code}
> cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> cqlsh> use test;
> cqlsh:test> create table a (id int PRIMARY KEY , s set );
> cqlsh:test> create CUSTOM INDEX on a(s) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> cqlsh:test> insert into a (id, s) values (1, {'jon', 'haddad'});
> WriteTimeout: code=1100 [Coordinator node timed out waiting for replica 
> nodes' responses] message="Operation timed out - received only 0 responses." 
> info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
> {code}
> Cassandra stacktrace:
> {code}
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.BTreeRow.getCell(BTreeRow.java:212) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.getValueOf(ColumnIndex.java:194)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.index(ColumnIndex.java:95) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.SASIIndex$1.insertRow(SASIIndex.java:247) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:808)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:335)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:295)
>  ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.buildInternal(BTree.java:136) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.build(BTree.java:118) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.update(BTree.java:177) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:156)
>  ~[main/:na]
>   at org.apache.cassandra.db.Memtable.put(Memtable.java:244) ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1216) 
> ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:531) ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:399) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:202) 
> ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:228) ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$$Lambda$201/413275033.run(Unknown 
> Source) ~[na:na]
>   at 
> org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1343)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2520)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_45]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[main/:na]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [main/:na]
>   at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [main/:na]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {code}



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


[jira] [Updated] (CASSANDRA-11169) add SASI validation for partitioner and complex columns

2016-02-17 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich updated CASSANDRA-11169:

Summary: add SASI validation for partitioner and complex columns  (was: 
[sasi] exception thrown when trying to index row with index on set)

> add SASI validation for partitioner and complex columns
> ---
>
> Key: CASSANDRA-11169
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11169
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
>Reporter: Jon Haddad
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I have a brand new cluster, built off 1944bf507d66b5c103c136319caeb4a9e3767a69
> I created a new table with a set, then a SASI index on the set.  I 
> tried to insert a row with a set, Cassandra throws an exception and becomes 
> unavailable.
> {code}
> cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> cqlsh> use test;
> cqlsh:test> create table a (id int PRIMARY KEY , s set );
> cqlsh:test> create CUSTOM INDEX on a(s) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> cqlsh:test> insert into a (id, s) values (1, {'jon', 'haddad'});
> WriteTimeout: code=1100 [Coordinator node timed out waiting for replica 
> nodes' responses] message="Operation timed out - received only 0 responses." 
> info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
> {code}
> Cassandra stacktrace:
> {code}
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.BTreeRow.getCell(BTreeRow.java:212) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.getValueOf(ColumnIndex.java:194)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.index(ColumnIndex.java:95) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.SASIIndex$1.insertRow(SASIIndex.java:247) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:808)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:335)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:295)
>  ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.buildInternal(BTree.java:136) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.build(BTree.java:118) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.update(BTree.java:177) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:156)
>  ~[main/:na]
>   at org.apache.cassandra.db.Memtable.put(Memtable.java:244) ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1216) 
> ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:531) ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:399) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:202) 
> ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:228) ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$$Lambda$201/413275033.run(Unknown 
> Source) ~[na:na]
>   at 
> org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1343)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2520)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_45]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[main/:na]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [main/:na]
>   at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [main/:na]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {code}



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


[jira] [Commented] (CASSANDRA-11169) [sasi] exception thrown when trying to index row with index on set

2016-02-17 Thread Jack Krupansky (JIRA)

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

Jack Krupansky commented on CASSANDRA-11169:


To be clear, "Fixed" means that a plain English error is given for the CQL 
statement rather than a nasty-looking exception.

Is it still the intent to eventually/soon implement indexing of the column 
values of collection columns? Is there a Jira for that? Is it like a 3.x 
improvement or more like 4.x?

> [sasi] exception thrown when trying to index row with index on set
> 
>
> Key: CASSANDRA-11169
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11169
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
>Reporter: Jon Haddad
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I have a brand new cluster, built off 1944bf507d66b5c103c136319caeb4a9e3767a69
> I created a new table with a set, then a SASI index on the set.  I 
> tried to insert a row with a set, Cassandra throws an exception and becomes 
> unavailable.
> {code}
> cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> cqlsh> use test;
> cqlsh:test> create table a (id int PRIMARY KEY , s set );
> cqlsh:test> create CUSTOM INDEX on a(s) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> cqlsh:test> insert into a (id, s) values (1, {'jon', 'haddad'});
> WriteTimeout: code=1100 [Coordinator node timed out waiting for replica 
> nodes' responses] message="Operation timed out - received only 0 responses." 
> info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
> {code}
> Cassandra stacktrace:
> {code}
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.BTreeRow.getCell(BTreeRow.java:212) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.getValueOf(ColumnIndex.java:194)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.index(ColumnIndex.java:95) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.SASIIndex$1.insertRow(SASIIndex.java:247) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:808)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:335)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:295)
>  ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.buildInternal(BTree.java:136) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.build(BTree.java:118) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.update(BTree.java:177) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:156)
>  ~[main/:na]
>   at org.apache.cassandra.db.Memtable.put(Memtable.java:244) ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1216) 
> ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:531) ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:399) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:202) 
> ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:228) ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$$Lambda$201/413275033.run(Unknown 
> Source) ~[na:na]
>   at 
> org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1343)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2520)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_45]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[main/:na]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [main/:na]
>   at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [main/:na]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {code}



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


[jira] [Resolved] (CASSANDRA-11169) [sasi] exception thrown when trying to index row with index on set

2016-02-17 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich resolved CASSANDRA-11169.
-
Resolution: Fixed

Committed.

> [sasi] exception thrown when trying to index row with index on set
> 
>
> Key: CASSANDRA-11169
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11169
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
>Reporter: Jon Haddad
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I have a brand new cluster, built off 1944bf507d66b5c103c136319caeb4a9e3767a69
> I created a new table with a set, then a SASI index on the set.  I 
> tried to insert a row with a set, Cassandra throws an exception and becomes 
> unavailable.
> {code}
> cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> cqlsh> use test;
> cqlsh:test> create table a (id int PRIMARY KEY , s set );
> cqlsh:test> create CUSTOM INDEX on a(s) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> cqlsh:test> insert into a (id, s) values (1, {'jon', 'haddad'});
> WriteTimeout: code=1100 [Coordinator node timed out waiting for replica 
> nodes' responses] message="Operation timed out - received only 0 responses." 
> info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
> {code}
> Cassandra stacktrace:
> {code}
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.BTreeRow.getCell(BTreeRow.java:212) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.getValueOf(ColumnIndex.java:194)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.index(ColumnIndex.java:95) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.SASIIndex$1.insertRow(SASIIndex.java:247) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:808)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:335)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:295)
>  ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.buildInternal(BTree.java:136) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.build(BTree.java:118) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.update(BTree.java:177) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:156)
>  ~[main/:na]
>   at org.apache.cassandra.db.Memtable.put(Memtable.java:244) ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1216) 
> ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:531) ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:399) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:202) 
> ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:228) ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$$Lambda$201/413275033.run(Unknown 
> Source) ~[na:na]
>   at 
> org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1343)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2520)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_45]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[main/:na]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [main/:na]
>   at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [main/:na]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {code}



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


cassandra git commit: add SASI validation for partitioner and complex columns

2016-02-17 Thread xedin
Repository: cassandra
Updated Branches:
  refs/heads/trunk 186777aac -> 27ac6a836


add SASI validation for partitioner and complex columns

patch by xedin; reviewed by jasobrown for CASSANDRA-11169


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

Branch: refs/heads/trunk
Commit: 27ac6a836228d66c32ade3c7ba9da3483ff31f27
Parents: 186777a
Author: Pavel Yaskevich 
Authored: Tue Feb 16 19:17:38 2016 -0800
Committer: Pavel Yaskevich 
Committed: Wed Feb 17 13:52:59 2016 -0800

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/index/sasi/SASIIndex.java | 7 +++
 2 files changed, 8 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/27ac6a83/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index f3248df..df97bbd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.4
+ * add SASI validation for partitioner and complex columns (CASSANDRA-11169)
  * Add caching of encrypted credentials in PasswordAuthenticator 
(CASSANDRA-7715)
  * fix SASI memtable switching on flush (CASSANDRA-11159)
  * Remove duplicate offline compaction tracking (CASSANDRA-11148)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/27ac6a83/src/java/org/apache/cassandra/index/sasi/SASIIndex.java
--
diff --git a/src/java/org/apache/cassandra/index/sasi/SASIIndex.java 
b/src/java/org/apache/cassandra/index/sasi/SASIIndex.java
index 90cc72e..0b9d900 100644
--- a/src/java/org/apache/cassandra/index/sasi/SASIIndex.java
+++ b/src/java/org/apache/cassandra/index/sasi/SASIIndex.java
@@ -35,6 +35,7 @@ import org.apache.cassandra.db.marshal.AbstractType;
 import org.apache.cassandra.db.partitions.PartitionIterator;
 import org.apache.cassandra.db.partitions.PartitionUpdate;
 import org.apache.cassandra.db.rows.Row;
+import org.apache.cassandra.dht.Murmur3Partitioner;
 import org.apache.cassandra.exceptions.ConfigurationException;
 import org.apache.cassandra.exceptions.InvalidRequestException;
 import org.apache.cassandra.index.Index;
@@ -121,6 +122,9 @@ public class SASIIndex implements Index, 
INotificationConsumer
 
 public static Map validateOptions(Map 
options, CFMetaData cfm)
 {
+if (!(cfm.partitioner instanceof Murmur3Partitioner))
+throw new ConfigurationException("SASI only supports 
Murmur3Partitioner.");
+
 String targetColumn = options.get("target");
 if (targetColumn == null)
 throw new ConfigurationException("unknown target column");
@@ -129,6 +133,9 @@ public class SASIIndex implements Index, 
INotificationConsumer
 if (target == null)
 throw new ConfigurationException("failed to retrieve target column 
for: " + targetColumn);
 
+if (target.left.isComplex())
+throw new ConfigurationException("complex columns are not yet 
supported by SASI");
+
 IndexMode.validateAnalyzer(options);
 
 IndexMode mode = IndexMode.getMode(target.left, options);



[jira] [Updated] (CASSANDRA-11169) [sasi] exception thrown when trying to index row with index on set

2016-02-17 Thread Pavel Yaskevich (JIRA)

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

Pavel Yaskevich updated CASSANDRA-11169:

Reviewer: Jason Brown  (was: Sam Tunnicliffe)

> [sasi] exception thrown when trying to index row with index on set
> 
>
> Key: CASSANDRA-11169
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11169
> Project: Cassandra
>  Issue Type: Bug
>  Components: sasi
>Reporter: Jon Haddad
>Assignee: Pavel Yaskevich
> Fix For: 3.4
>
>
> I have a brand new cluster, built off 1944bf507d66b5c103c136319caeb4a9e3767a69
> I created a new table with a set, then a SASI index on the set.  I 
> tried to insert a row with a set, Cassandra throws an exception and becomes 
> unavailable.
> {code}
> cqlsh> create KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> cqlsh> use test;
> cqlsh:test> create table a (id int PRIMARY KEY , s set );
> cqlsh:test> create CUSTOM INDEX on a(s) USING 
> 'org.apache.cassandra.index.sasi.SASIIndex';
> cqlsh:test> insert into a (id, s) values (1, {'jon', 'haddad'});
> WriteTimeout: code=1100 [Coordinator node timed out waiting for replica 
> nodes' responses] message="Operation timed out - received only 0 responses." 
> info={'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
> {code}
> Cassandra stacktrace:
> {code}
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.BTreeRow.getCell(BTreeRow.java:212) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.getValueOf(ColumnIndex.java:194)
>  ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.conf.ColumnIndex.index(ColumnIndex.java:95) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.sasi.SASIIndex$1.insertRow(SASIIndex.java:247) 
> ~[main/:na]
>   at 
> org.apache.cassandra.index.SecondaryIndexManager$WriteTimeTransaction.onInserted(SecondaryIndexManager.java:808)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:335)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition$RowUpdater.apply(AtomicBTreePartition.java:295)
>  ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.buildInternal(BTree.java:136) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.build(BTree.java:118) 
> ~[main/:na]
>   at org.apache.cassandra.utils.btree.BTree.update(BTree.java:177) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.AtomicBTreePartition.addAllWithSizeDelta(AtomicBTreePartition.java:156)
>  ~[main/:na]
>   at org.apache.cassandra.db.Memtable.put(Memtable.java:244) ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:1216) 
> ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:531) ~[main/:na]
>   at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:399) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.applyFuture(Mutation.java:202) 
> ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[main/:na]
>   at org.apache.cassandra.db.Mutation.apply(Mutation.java:228) ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$$Lambda$201/413275033.run(Unknown 
> Source) ~[na:na]
>   at 
> org.apache.cassandra.service.StorageProxy$8.runMayThrow(StorageProxy.java:1343)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$LocalMutationRunnable.run(StorageProxy.java:2520)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_45]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164)
>  ~[main/:na]
>   at 
> org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136)
>  [main/:na]
>   at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [main/:na]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> {code}



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


[jira] [Commented] (CASSANDRA-11177) CQLSH causes slowdown when creating table using multiline statement

2016-02-17 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian commented on CASSANDRA-11177:


cqlsh is trying to provide completion info for the first create table command 
because of the tab character; this is what is causing the extreme slowdown. 
Removing the tab characters resulted in the same result as the one line query, 
and I can also reproduce the same performance if I try tab completion at the 
end of the one line query.

> CQLSH causes slowdown when creating table using multiline statement
> ---
>
> Key: CASSANDRA-11177
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11177
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: Centos 7, 16gb memory, 4 cores
>Reporter: Jim Wright
>Priority: Critical
>  Labels: cqlsh
> Fix For: 3.x
>
> Attachments: mofaPqX.png
>
>
> I'm running a 3 node cluster, each with 4 cores and 16gb memory.
> When creating the following table (by copying and pasting into cqlsh) each 
> line is pasted in one at a time, and the time between each line being pasted 
> in seems to grow exponentially, especially once the counter columns were 
> reached.
> {noformat}
> CREATE TABLE stats_by_site_tracking_hourly (
>   d_tally text, -- 2016-02
>   d_date timestamp, -- 2016-02-01 13
>   site_id int,
>   is_new_member int, -- 1/0
>   device text, -- desktop/tablet/mobile/unknown
>   tracking_medium text,
>   tracking_source text,
>   tracking_campaign text,
>   tracking_term text,
>   accepted counter,
>   adjusted_accepted counter,
>   rejected counter,
>   adjusted_rejected counter,
>   error counter,
>   impressions_positive counter,
>   adjusted_impressions_positive counter,
>   impressions_negative counter,
>   adjusted_impressions_negative counter,
>   revenue counter,
>   adjusted_revenue counter,
>   reversals_rejected counter,
>   reversals_revenue counter,
>   PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, 
> tracking_medium, tracking_source, tracking_campaign, tracking_term)
> );
> {noformat}
> While I left the create table to run memory usage crept up to 70%, and CPU 
> usage went up to 107%.
> I have attached a screenshot of what cqlsh looked like after ~20 minutes.
> I tried the query again but in 1 line (as below) and it executed instantly.
> {noformat}
> CREATE TABLE stats_by_site_tracking_hourly ( d_tally text, d_date timestamp, 
> site_id int, is_new_member int, device text, tracking_medium text, 
> tracking_source text, tracking_campaign text, tracking_term text, accepted 
> counter, adjusted_accepted counter, rejected counter, adjusted_rejected 
> counter, error counter, impressions_positive counter, 
> adjusted_impressions_positive counter, impressions_negative counter, 
> adjusted_impressions_negative counter, revenue counter, adjusted_revenue 
> counter, reversals_rejected counter, reversals_revenue counter, PRIMARY KEY 
> ((d_tally), site_id, d_date, is_new_member, device, tracking_medium, 
> tracking_source, tracking_campaign, tracking_term) );
> {noformat}



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


[jira] [Updated] (CASSANDRA-11177) CQLSH causes slowdown when creating table using multiline statement

2016-02-17 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian updated CASSANDRA-11177:
---
Description: 
I'm running a 3 node cluster, each with 4 cores and 16gb memory.

When creating the following table (by copying and pasting into cqlsh) each line 
is pasted in one at a time, and the time between each line being pasted in 
seems to grow exponentially, especially once the counter columns were reached.

{noformat}
CREATE TABLE stats_by_site_tracking_hourly (
d_tally text, -- 2016-02
d_date timestamp, -- 2016-02-01 13
site_id int,
is_new_member int, -- 1/0
device text, -- desktop/tablet/mobile/unknown
tracking_medium text,
tracking_source text,
tracking_campaign text,
tracking_term text,
accepted counter,
adjusted_accepted counter,
rejected counter,
adjusted_rejected counter,
error counter,
impressions_positive counter,
adjusted_impressions_positive counter,
impressions_negative counter,
adjusted_impressions_negative counter,
revenue counter,
adjusted_revenue counter,
reversals_rejected counter,
reversals_revenue counter,
PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, 
tracking_medium, tracking_source, tracking_campaign, tracking_term)
);
{noformat}

While I left the create table to run memory usage crept up to 70%, and CPU 
usage went up to 107%.

I have attached a screenshot of what cqlsh looked like after ~20 minutes.

I tried the query again but in 1 line (as below) and it executed instantly.

{noformat}
CREATE TABLE stats_by_site_tracking_hourly ( d_tally text, d_date timestamp, 
site_id int, is_new_member int, device text, tracking_medium text, 
tracking_source text, tracking_campaign text, tracking_term text, accepted 
counter, adjusted_accepted counter, rejected counter, adjusted_rejected 
counter, error counter, impressions_positive counter, 
adjusted_impressions_positive counter, impressions_negative counter, 
adjusted_impressions_negative counter, revenue counter, adjusted_revenue 
counter, reversals_rejected counter, reversals_revenue counter, PRIMARY KEY 
((d_tally), site_id, d_date, is_new_member, device, tracking_medium, 
tracking_source, tracking_campaign, tracking_term) );
{noformat}

  was:
I'm running a 3 node cluster, each with 4 cores and 16gb memory.

When creating the following table (by copying and pasting into cqlsh) each line 
is pasted in one at a time, and the time between each line being pasted in 
seems to grow exponentially, especially once the counter columns were reached.

CREATE TABLE stats_by_site_tracking_hourly (
d_tally text, -- 2016-02
d_date timestamp, -- 2016-02-01 13
site_id int,
is_new_member int, -- 1/0
device text, -- desktop/tablet/mobile/unknown
tracking_medium text,
tracking_source text,
tracking_campaign text,
tracking_term text,
accepted counter,
adjusted_accepted counter,
rejected counter,
adjusted_rejected counter,
error counter,
impressions_positive counter,
adjusted_impressions_positive counter,
impressions_negative counter,
adjusted_impressions_negative counter,
revenue counter,
adjusted_revenue counter,
reversals_rejected counter,
reversals_revenue counter,
PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, 
tracking_medium, tracking_source, tracking_campaign, tracking_term)
);

While I left the create table to run memory usage crept up to 70%, and CPU 
usage went up to 107%.

I have attached a screenshot of what cqlsh looked like after ~20 minutes.

I tried the query again but in 1 line (as below) and it executed instantly.

CREATE TABLE stats_by_site_tracking_hourly ( d_tally text, d_date timestamp, 
site_id int, is_new_member int, device text, tracking_medium text, 
tracking_source text, tracking_campaign text, tracking_term text, accepted 
counter, adjusted_accepted counter, rejected counter, adjusted_rejected 
counter, error counter, impressions_positive counter, 
adjusted_impressions_positive counter, impressions_negative counter, 
adjusted_impressions_negative counter, revenue counter, adjusted_revenue 
counter, reversals_rejected counter, reversals_revenue counter, PRIMARY KEY 
((d_tally), site_id, d_date, is_new_member, device, tracking_medium, 
tracking_source, tracking_campaign, tracking_term) );


> CQLSH causes slowdown when creating table using multiline statement
> ---
>
> Key: CASSANDRA-11177
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11177
> Project: Cassandra
>  Issue Type: Bug
>  

[jira] [Commented] (CASSANDRA-10389) Repair session exception Validation failed

2016-02-17 Thread Dominik Keil (JIRA)

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

Dominik Keil commented on CASSANDRA-10389:
--

I think we're seeing this issue as well. Running Cassandra 2.2.5. Haven't tried 
restarting all nodes but will do that now.

We're running incremental repairs (now default, eh?) and while testing this 
before we put that into production we already found that repairing a whole 
keyspace will create a massive amount of open filehandles / "anti-compacted" 
sstables even though the repair will still only work one CF at a time. This 
caused some problems so we're now running repairs one CF at a time and on only 
one node at a time.

We did not have this issue in our testing but seing it in production now, 
nevertheless. What's interesting is that the node, on which the repair runs, at 
some point suddenly thrashes its heap (i.e. full heap usage, 65%-85% GC!!!) 
while at the same time produces huge amounts of tiny, concurrent reads, leading 
to really bad read latency from disk and a lot of I/O wait.

The bad thing is: This (Cassandra) node becomes so unresponsive that it 
significantly impacts the performance of the whole cluster (a total of 9 
machines, rf 5 / quorum for most reads/writes, rf 2 / one for less important 
bulk data). So neither the java driver nor the other nodes, when being 
coordinator, manage to just leave this node alone for a while. As soon as I 
disable gossip on this node, the rest of the cluster is fine again.

[~slebresne]: I applaud you for your very useful comment.

> Repair session exception Validation failed
> --
>
> Key: CASSANDRA-10389
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10389
> Project: Cassandra
>  Issue Type: Bug
> Environment: Debian 8, Java 1.8.0_60, Cassandra 2.2.1 (datastax 
> compilation)
>Reporter: Jędrzej Sieracki
> Fix For: 2.2.x
>
>
> I'm running a repair on a ring of nodes, that was recently extented from 3 to 
> 13 nodes. The extension was done two days ago, the repair was attempted 
> yesterday.
> {quote}
> [2015-09-22 11:55:55,266] Starting repair command #9, repairing keyspace 
> perspectiv with repair options (parallelism: parallel, primary range: false, 
> incremental: true, job threads: 1, ColumnFamilies: [], dataCenters: [], 
> hosts: [], # of ranges: 517)
> [2015-09-22 11:55:58,043] Repair session 1f7c50c0-6110-11e5-b992-9f13fa8664c8 
> for range (-5927186132136652665,-5917344746039874798] failed with error 
> [repair #1f7c50c0-6110-11e5-b992-9f13fa8664c8 on 
> perspectiv/stock_increment_agg, (-5927186132136652665,-5917344746039874798]] 
> Validation failed in cblade1.XXX/XXX (progress: 0%)
> {quote}
> BTW, I am ignoring the LEAK errors for now, that's outside of the scope of 
> the main issue:
> {quote}
> ERROR [Reference-Reaper:1] 2015-09-22 11:58:27,843 Ref.java:187 - LEAK 
> DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@4d25ad8f) to class 
> org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@896826067:/var/lib/cassandra/data/perspectiv/stock_increment_agg-840cad405de711e5b9929f13fa8664c8/la-73-big
>  was not released before the reference was garbage collected
> {quote}
> I scrubbed the sstable with failed validation on cblade1 with nodetool scrub 
> perspectiv stock_increment_agg:
> {quote}
> INFO  [CompactionExecutor:1704] 2015-09-22 12:05:31,615 OutputHandler.java:42 
> - Scrubbing 
> BigTableReader(path='/var/lib/cassandra/data/perspectiv/stock_increment_agg-840cad405de711e5b9929f13fa8664c8/la-83-big-Data.db')
>  (345466609 bytes)
> INFO  [CompactionExecutor:1703] 2015-09-22 12:05:31,615 OutputHandler.java:42 
> - Scrubbing 
> BigTableReader(path='/var/lib/cassandra/data/perspectiv/stock_increment_agg-840cad405de711e5b9929f13fa8664c8/la-82-big-Data.db')
>  (60496378 bytes)
> ERROR [Reference-Reaper:1] 2015-09-22 12:05:31,676 Ref.java:187 - LEAK 
> DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@4ca8951e) to class 
> org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@114161559:/var/lib/cassandra/data/perspectiv/receipt_agg_total-76abb0625de711e59f6e0b7d98a25b6e/la-48-big
>  was not released before the reference was garbage collected
> ERROR [Reference-Reaper:1] 2015-09-22 12:05:31,676 Ref.java:187 - LEAK 
> DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@eeb6383) to class 
> org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@1612685364:/var/lib/cassandra/data/perspectiv/stock_increment_agg-840cad405de711e5b9929f13fa8664c8/la-83-big
>  was not released before the reference was garbage collected
> ERROR [Reference-Reaper:1] 2015-09-22 12:05:31,676 Ref.java:187 - LEAK 
> DETECTED: a reference 
> 

[jira] [Assigned] (CASSANDRA-10888) Tombstone error warning does not log partition key

2016-02-17 Thread Brett Snyder (JIRA)

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

Brett Snyder reassigned CASSANDRA-10888:


Assignee: Benjamin Lerer  (was: Brett Snyder)

Attached a patch against 2.2.x ...what you suggested was correct about removing 
setKey, etc.  The patch will NOT apply to 3.0, but the issue is also not 
displayed in the 3.0 series as far as I can tell because the code is completely 
different and the partition key is already logged.

Thanks!

> Tombstone error warning does not log partition key
> --
>
> Key: CASSANDRA-10888
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10888
> Project: Cassandra
>  Issue Type: Improvement
> Environment: DSE 4.8.2
>Reporter: Ole Pedersen
>Assignee: Benjamin Lerer
> Attachments: 10888-2.1.txt, 10888-2.2.txt
>
>
> Log partition key if read fails due to the ERROR threshold on read tombstoned 
> cells.
> Right now I can specify a warning and an error threshold for C* when reading 
> from a partition with many tombstones.
> If the query reads more than the “warning threshold” then C* writes a warning 
> to the log with the partition key.
> But if a query reads more than the “error threshold” then C* aborts the query 
> and writes to the log – but not the partition key, this time. 
> What I am missing is: Could C* also please write the partition key in case of 
> query abort due to tombstones?



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


[jira] [Updated] (CASSANDRA-10888) Tombstone error warning does not log partition key

2016-02-17 Thread Brett Snyder (JIRA)

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

Brett Snyder updated CASSANDRA-10888:
-
Attachment: 10888-2.2.txt

patch against 2.2.x

> Tombstone error warning does not log partition key
> --
>
> Key: CASSANDRA-10888
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10888
> Project: Cassandra
>  Issue Type: Improvement
> Environment: DSE 4.8.2
>Reporter: Ole Pedersen
>Assignee: Brett Snyder
> Attachments: 10888-2.1.txt, 10888-2.2.txt
>
>
> Log partition key if read fails due to the ERROR threshold on read tombstoned 
> cells.
> Right now I can specify a warning and an error threshold for C* when reading 
> from a partition with many tombstones.
> If the query reads more than the “warning threshold” then C* writes a warning 
> to the log with the partition key.
> But if a query reads more than the “error threshold” then C* aborts the query 
> and writes to the log – but not the partition key, this time. 
> What I am missing is: Could C* also please write the partition key in case of 
> query abort due to tombstones?



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


[jira] [Commented] (CASSANDRA-11151) Remove unused method introduced in CASSANDRA-6696

2016-02-17 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian commented on CASSANDRA-11151:


+1

> Remove unused method introduced in CASSANDRA-6696
> -
>
> Key: CASSANDRA-11151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11151
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Minor
> Fix For: 3.x
>
>
> We introduced an abstract method {{finish(long repairedAt)}} in 
> CompactionAwareWriter in CASSANDRA-6696 which we don't use, remove it.



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


[jira] [Commented] (CASSANDRA-10991) Cleanup OpsCenter keyspace fails - node thinks that didn't joined the ring yet

2016-02-17 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian commented on CASSANDRA-10991:


+1; not sure if this should still go in 2.1 since it's just cleaning up the 
error message.

> Cleanup OpsCenter keyspace fails - node thinks that didn't joined the ring yet
> --
>
> Key: CASSANDRA-10991
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10991
> Project: Cassandra
>  Issue Type: Bug
> Environment: C* 2.1.12, Debian Wheezy
>Reporter: mlowicki
>Assignee: Marcus Eriksson
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> I've C* cluster spread across 3 DCs. Running {{cleanup}} on all nodes in one 
> DC always fails:
> {code}
> root@db1:~# nt cleanup system
> root@db1:~# nt cleanup sync
> root@db1:~# nt cleanup OpsCenter
> Aborted cleaning up atleast one column family in keyspace OpsCenter, check 
> server logs for more information.
> error: nodetool failed, check server logs
> -- StackTrace --
> java.lang.RuntimeException: nodetool failed, check server logs
> at 
> org.apache.cassandra.tools.NodeTool$NodeToolCmd.run(NodeTool.java:292)
> at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:204)
> root@db1:~# 
> {code}
> Checked two other DCs and running cleanup there works fine (it didn't fail 
> immediately).
> Output from {{nodetool status}} from one node in problematic DC:
> {code}
> root@db1:~# nt status
> Datacenter: Amsterdam
> =
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  AddressLoad   Tokens  OwnsHost ID 
>   Rack
> UN  10.210.3.162   518.54 GB  256 ?   
> 50e606f5-e893-4a3b-86d3-1e5986dceea9  RAC1
> UN  10.210.3.230   532.63 GB  256 ?   
> 7b8fc988-8a6a-4d94-ae84-ab9da9ab01e8  RAC1
> UN  10.210.3.161   538.82 GB  256 ?   
> d44b0f6d-7933-4a7c-ba7b-f8648e038f85  RAC1
> UN  10.210.3.160   497.6 GB   256 ?   
> e7332179-a47e-471d-bcd4-08c638ab9ea4  RAC1
> UN  10.210.3.224   334.25 GB  256 ?   
> 92b0bd8c-0a5a-446a-83ea-2feea4988fe3  RAC1
> UN  10.210.3.118   518.34 GB  256 ?   
> ebddeaf3-1433-4372-a4ca-9c7ba3d4a26b  RAC1
> UN  10.210.3.221   516.57 GB  256 ?   
> 44d67a49-5310-4ab5-b448-a44be350abf5  RAC1
> UN  10.210.3.117   493.83 GB  256 ?   
> aae92956-82d6-421e-8f3f-22393ac7e5f7  RAC1
> Datacenter: Analytics
> =
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  AddressLoad   Tokens  OwnsHost ID 
>   Rack
> UN  10.210.59.124  392.83 GB  320 ?   
> f770a8cc-b7bf-44ac-8cc0-214d9228dfcd  RAC1
> UN  10.210.59.151  411.9 GB   320 ?   
> 3cc87422-0e43-4cd1-91bf-484f121be072  RAC1
> UN  10.210.58.132  309.8 GB   256 ?   
> 84d94d13-28d3-4b49-a3d9-557ab47e79b9  RAC1
> UN  10.210.58.133  281.82 GB  256 ?   
> 02bd2d02-41c5-4193-81b0-dee434adb0da  RAC1
> UN  10.210.59.86   285.84 GB  256 ?   
> bc6422ea-22e9-431a-ac16-c4c040f0c4e5  RAC1
> UN  10.210.59.84   331.06 GB  256 ?   
> a798e6b0-3a84-4ec2-82bb-8474086cb315  RAC1
> UN  10.210.59.85   366.26 GB  256 ?   
> 52699077-56cf-4c1e-b308-bf79a1644b7e  RAC1
> Datacenter: Ashburn
> ===
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  AddressLoad   Tokens  OwnsHost ID 
>   Rack
> UN  10.195.15.176  534.51 GB  256 ?   
> c6ac22df-c43a-4b25-b3b5-5e12ce9c69da  RAC1
> UN  10.195.15.177  313.73 GB  256 ?   
> eafa2a72-84a2-4cdc-a634-3c660acc6af8  RAC1
> UN  10.195.15.163  470.92 GB  256 ?   
> bcd2a534-94c4-4406-8d16-c1fc26b41844  RAC1
> UN  10.195.15.162  539.82 GB  256 ?   
> bb649cef-21de-4077-a35f-994319011a06  RAC1
> UN  10.195.15.182  499.64 GB  256 ?   
> 6ce2d14d-9fb8-4494-8e97-3add05bd35de  RAC1
> UN  10.195.15.167  508.48 GB  256 ?   
> 6f359675-852a-4842-9ff2-bdc69e6b04a2  RAC1
> UN  10.195.15.166  490.28 GB  256 ?   
> 1ec5d0c5-e8bd-4973-96d9-523de91d08c5  RAC1
> UN  10.195.15.183  447.78 GB  256 ?   
> 824165b0-1f1b-40e8-9695-e2f596cb8611  RAC1
> Note: Non-system keyspaces don't have the same replication settings, 
> effective ownership information is meaningless
> {code}
> Logs from one of the nodes where {{cleanup}} fails:
> {code}
> INFO  [RMI TCP Connection(158004)-10.210.59.86] 2016-01-09 15:58:33,942 
> CompactionManager.java:388 - Cleanup cannot run before a node has joined the 
> ring
> INFO  [RMI TCP Connection(158004)-10.210.59.86] 2016-01-09 15:58:33,970 
> CompactionManager.java:388 - Cleanup cannot run before a node has joined the 
> ring
> INFO  [RMI TCP 

[jira] [Updated] (CASSANDRA-11177) CQLSH causes slowdown when creating table using multiline statement

2016-02-17 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-11177:

Fix Version/s: (was: 3.3)
   3.x

> CQLSH causes slowdown when creating table using multiline statement
> ---
>
> Key: CASSANDRA-11177
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11177
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: Centos 7, 16gb memory, 4 cores
>Reporter: Jim Wright
>Priority: Critical
>  Labels: cqlsh
> Fix For: 3.x
>
> Attachments: mofaPqX.png
>
>
> I'm running a 3 node cluster, each with 4 cores and 16gb memory.
> When creating the following table (by copying and pasting into cqlsh) each 
> line is pasted in one at a time, and the time between each line being pasted 
> in seems to grow exponentially, especially once the counter columns were 
> reached.
> CREATE TABLE stats_by_site_tracking_hourly (
>   d_tally text, -- 2016-02
>   d_date timestamp, -- 2016-02-01 13
>   site_id int,
>   is_new_member int, -- 1/0
>   device text, -- desktop/tablet/mobile/unknown
>   tracking_medium text,
>   tracking_source text,
>   tracking_campaign text,
>   tracking_term text,
>   accepted counter,
>   adjusted_accepted counter,
>   rejected counter,
>   adjusted_rejected counter,
>   error counter,
>   impressions_positive counter,
>   adjusted_impressions_positive counter,
>   impressions_negative counter,
>   adjusted_impressions_negative counter,
>   revenue counter,
>   adjusted_revenue counter,
>   reversals_rejected counter,
>   reversals_revenue counter,
>   PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, 
> tracking_medium, tracking_source, tracking_campaign, tracking_term)
> );
> While I left the create table to run memory usage crept up to 70%, and CPU 
> usage went up to 107%.
> I have attached a screenshot of what cqlsh looked like after ~20 minutes.
> I tried the query again but in 1 line (as below) and it executed instantly.
> CREATE TABLE stats_by_site_tracking_hourly ( d_tally text, d_date timestamp, 
> site_id int, is_new_member int, device text, tracking_medium text, 
> tracking_source text, tracking_campaign text, tracking_term text, accepted 
> counter, adjusted_accepted counter, rejected counter, adjusted_rejected 
> counter, error counter, impressions_positive counter, 
> adjusted_impressions_positive counter, impressions_negative counter, 
> adjusted_impressions_negative counter, revenue counter, adjusted_revenue 
> counter, reversals_rejected counter, reversals_revenue counter, PRIMARY KEY 
> ((d_tally), site_id, d_date, is_new_member, device, tracking_medium, 
> tracking_source, tracking_campaign, tracking_term) );



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


[jira] [Updated] (CASSANDRA-11177) CQLSH causes slowdown when creating table using multiline statement

2016-02-17 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-11177:

Labels: cqlsh  (was: )

> CQLSH causes slowdown when creating table using multiline statement
> ---
>
> Key: CASSANDRA-11177
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11177
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: Centos 7, 16gb memory, 4 cores
>Reporter: Jim Wright
>Priority: Critical
>  Labels: cqlsh
> Fix For: 3.x
>
> Attachments: mofaPqX.png
>
>
> I'm running a 3 node cluster, each with 4 cores and 16gb memory.
> When creating the following table (by copying and pasting into cqlsh) each 
> line is pasted in one at a time, and the time between each line being pasted 
> in seems to grow exponentially, especially once the counter columns were 
> reached.
> CREATE TABLE stats_by_site_tracking_hourly (
>   d_tally text, -- 2016-02
>   d_date timestamp, -- 2016-02-01 13
>   site_id int,
>   is_new_member int, -- 1/0
>   device text, -- desktop/tablet/mobile/unknown
>   tracking_medium text,
>   tracking_source text,
>   tracking_campaign text,
>   tracking_term text,
>   accepted counter,
>   adjusted_accepted counter,
>   rejected counter,
>   adjusted_rejected counter,
>   error counter,
>   impressions_positive counter,
>   adjusted_impressions_positive counter,
>   impressions_negative counter,
>   adjusted_impressions_negative counter,
>   revenue counter,
>   adjusted_revenue counter,
>   reversals_rejected counter,
>   reversals_revenue counter,
>   PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, 
> tracking_medium, tracking_source, tracking_campaign, tracking_term)
> );
> While I left the create table to run memory usage crept up to 70%, and CPU 
> usage went up to 107%.
> I have attached a screenshot of what cqlsh looked like after ~20 minutes.
> I tried the query again but in 1 line (as below) and it executed instantly.
> CREATE TABLE stats_by_site_tracking_hourly ( d_tally text, d_date timestamp, 
> site_id int, is_new_member int, device text, tracking_medium text, 
> tracking_source text, tracking_campaign text, tracking_term text, accepted 
> counter, adjusted_accepted counter, rejected counter, adjusted_rejected 
> counter, error counter, impressions_positive counter, 
> adjusted_impressions_positive counter, impressions_negative counter, 
> adjusted_impressions_negative counter, revenue counter, adjusted_revenue 
> counter, reversals_rejected counter, reversals_revenue counter, PRIMARY KEY 
> ((d_tally), site_id, d_date, is_new_member, device, tracking_medium, 
> tracking_source, tracking_campaign, tracking_term) );



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


[jira] [Updated] (CASSANDRA-10458) cqlshrc: add option to always use ssl

2016-02-17 Thread Paulo Motta (JIRA)

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

Paulo Motta updated CASSANDRA-10458:

Reviewer: Paulo Motta

> cqlshrc: add option to always use ssl
> -
>
> Key: CASSANDRA-10458
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10458
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Matt Wringe
>Assignee: Stefan Podkowinski
>  Labels: lhf
>
> I am currently running on a system in which my cassandra cluster is only 
> accessible over tls.
> The cqlshrc file is used to specify the host, the certificates and other 
> configurations, but one option its missing is to always connect over ssl.
> I would like to be able to call 'cqlsh' instead of always having to specify 
> 'cqlsh --ssl'



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


[jira] [Commented] (CASSANDRA-11124) Change default cqlsh encoding to utf-8

2016-02-17 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-11124:
-

Thanks for your interest! It's such a minor change it's probably not worth the 
overhead (I actually just created it to not forget doing it later, that's why I 
assigned it to myself).

Tasks labeled as 
[lhf|https://issues.apache.org/jira/browse/CASSANDRA-10968?jql=status%20%3D%20Open%20AND%20labels%20%3D%20lhf]
 (low-hanging fruit) are probably a good place to start if you want to start 
contributing to Cassandra. I'd be happy to review if you want to choose a lhf 
ticket to work on.

I will submit a patch shortly for this ticket.

> Change default cqlsh encoding to utf-8
> --
>
> Key: CASSANDRA-11124
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11124
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Paulo Motta
>Assignee: Paulo Motta
>Priority: Trivial
>  Labels: cqlsh
>
> Strange things can happen when utf-8 is not the default cqlsh encoding (see 
> CASSANDRA-11030). This ticket proposes changing the default cqlsh encoding to 
> utf-8.



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


[jira] [Created] (CASSANDRA-11177) CQLSH causes slowdown when creating table using multiline statement

2016-02-17 Thread Jim Wright (JIRA)
Jim Wright created CASSANDRA-11177:
--

 Summary: CQLSH causes slowdown when creating table using multiline 
statement
 Key: CASSANDRA-11177
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11177
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
 Environment: Centos 7, 16gb memory, 4 cores
Reporter: Jim Wright
Priority: Critical
 Fix For: 3.3
 Attachments: mofaPqX.png

I'm running a 3 node cluster, each with 4 cores and 16gb memory.

When creating the following table (by copying and pasting into cqlsh) each line 
is pasted in one at a time, and the time between each line being pasted in 
seems to grow exponentially, especially once the counter columns were reached.

CREATE TABLE stats_by_site_tracking_hourly (
d_tally text, -- 2016-02
d_date timestamp, -- 2016-02-01 13
site_id int,
is_new_member int, -- 1/0
device text, -- desktop/tablet/mobile/unknown
tracking_medium text,
tracking_source text,
tracking_campaign text,
tracking_term text,
accepted counter,
adjusted_accepted counter,
rejected counter,
adjusted_rejected counter,
error counter,
impressions_positive counter,
adjusted_impressions_positive counter,
impressions_negative counter,
adjusted_impressions_negative counter,
revenue counter,
adjusted_revenue counter,
reversals_rejected counter,
reversals_revenue counter,
PRIMARY KEY ((d_tally), site_id, d_date, is_new_member, device, 
tracking_medium, tracking_source, tracking_campaign, tracking_term)
);

While I left the create table to run memory usage crept up to 70%, and CPU 
usage went up to 107%.

I have attached a screenshot of what cqlsh looked like after ~20 minutes.

I tried the query again but in 1 line (as below) and it executed instantly.

CREATE TABLE stats_by_site_tracking_hourly ( d_tally text, d_date timestamp, 
site_id int, is_new_member int, device text, tracking_medium text, 
tracking_source text, tracking_campaign text, tracking_term text, accepted 
counter, adjusted_accepted counter, rejected counter, adjusted_rejected 
counter, error counter, impressions_positive counter, 
adjusted_impressions_positive counter, impressions_negative counter, 
adjusted_impressions_negative counter, revenue counter, adjusted_revenue 
counter, reversals_rejected counter, reversals_revenue counter, PRIMARY KEY 
((d_tally), site_id, d_date, is_new_member, device, tracking_medium, 
tracking_source, tracking_campaign, tracking_term) );



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


cassandra git commit: Refactor auth caches and add credentials cache

2016-02-17 Thread samt
Repository: cassandra
Updated Branches:
  refs/heads/trunk 7871c36e3 -> 186777aac


Refactor auth caches and add credentials cache

Patch by Sam Tunnicliffe; reviewed by Mike Adamson for CASSANDRA-7715


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

Branch: refs/heads/trunk
Commit: 186777aac55b1aa95c5c9e9cdaff2b981cf9d5af
Parents: 7871c36
Author: Sam Tunnicliffe 
Authored: Wed Feb 17 13:41:18 2016 +
Committer: Sam Tunnicliffe 
Committed: Wed Feb 17 17:03:11 2016 +

--
 CHANGES.txt |   1 +
 NEWS.txt|  24 +++
 conf/cassandra.yaml |  33 ++-
 conf/jvm.options|   5 +
 .../org/apache/cassandra/auth/AuthCache.java| 207 +++
 .../apache/cassandra/auth/AuthCacheMBean.java   |  36 
 .../cassandra/auth/PasswordAuthenticator.java   | 111 --
 .../apache/cassandra/auth/PermissionsCache.java | 125 ++-
 .../cassandra/auth/PermissionsCacheMBean.java   |  15 +-
 .../org/apache/cassandra/auth/RolesCache.java   | 124 ++-
 .../apache/cassandra/auth/RolesCacheMBean.java  |  17 +-
 .../org/apache/cassandra/config/Config.java |   7 +-
 .../cassandra/config/DatabaseDescriptor.java|  77 ++-
 13 files changed, 495 insertions(+), 287 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/186777aa/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 978f20a..f3248df 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.4
+ * Add caching of encrypted credentials in PasswordAuthenticator 
(CASSANDRA-7715)
  * fix SASI memtable switching on flush (CASSANDRA-11159)
  * Remove duplicate offline compaction tracking (CASSANDRA-11148)
  * fix EQ semantics of analyzed SASI indexes (CASSANDRA-11130)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/186777aa/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 9dd4e25..68ccefb 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,30 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+3.4
+===
+
+New features
+
+- Internal authentication now supports caching of encrypted credentials.
+  Reference cassandra.yaml:credentials_validity_in_ms
+- Remote configuration of auth caches via JMX can be disabled using the
+  the system property cassandra.disable_auth_caches_remote_configuration
+
+Upgrading
+-
+- Nothing specific to 3.4 but please see previous versions upgrading 
section,
+  especially if you are upgrading from 2.2.
+
+Deprecation
+---
+- The mbean interfaces org.apache.cassandra.auth.PermissionsCacheMBean and
+  org.apache.cassandra.auth.RolesCacheMBean are deprecated in favor of
+  org.apache.cassandra.auth.AuthCacheMBean. This generalized interface is
+  common across all caches in the auth subsystem. The specific mbean 
interfaces
+  for each individual cache will be removed in a subsequent major version.
+
+
 3.2
 ===
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/186777aa/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index d6bcace..5663113 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -120,11 +120,11 @@ authorizer: AllowAllAuthorizer
 #   increase system_auth keyspace replication factor if you use this role 
manager.
 role_manager: CassandraRoleManager
 
-# Validity period for roles cache (fetching permissions can be an
-# expensive operation depending on the authorizer). Granted roles are cached 
for
-# authenticated sessions in AuthenticatedUser and after the period specified
-# here, become eligible for (async) reload.
-# Defaults to 2000, set to 0 to disable.
+# Validity period for roles cache (fetching granted roles can be an expensive
+# operation depending on the role manager, CassandraRoleManager is one example)
+# Granted roles are cached for authenticated sessions in AuthenticatedUser and
+# after the period specified here, become eligible for (async) reload.
+# Defaults to 2000, set to 0 to disable caching entirely.
 # Will be disabled automatically for AllowAllAuthenticator.
 roles_validity_in_ms: 2000
 
@@ -134,7 +134,7 @@ roles_validity_in_ms: 2000
 # completes. If roles_validity_in_ms 

[jira] [Created] (CASSANDRA-11176) SSTableRewriter.InvalidateKeys should have a weak reference to cache

2016-02-17 Thread Jeremiah Jordan (JIRA)
Jeremiah Jordan created CASSANDRA-11176:
---

 Summary: SSTableRewriter.InvalidateKeys should have a weak 
reference to cache
 Key: CASSANDRA-11176
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11176
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Jeremiah Jordan
 Fix For: 3.0.x


>From [~aweisberg]

bq. The SSTableReader.DropPageCache runnable references 
SSTableRewriter.InvalidateKeys which references the cache. The cache reference 
should be a WeakReference.

{noformat}
ERROR [Strong-Reference-Leak-Detector:1] 2016-02-17 14:51:52,111  
NoSpamLogger.java:97 - Strong self-ref loop detected 
[/var/lib/cassandra/data/keyspace1/standard1-990bc741d56411e591d5590d7a7ad312/ma-20-big,
private java.lang.Runnable 
org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier.runOnClose-org.apache.cassandra.io.sstable.format.SSTableReader$DropPageCache,
final java.lang.Runnable 
org.apache.cassandra.io.sstable.format.SSTableReader$DropPageCache.andThen-org.apache.cassandra.io.sstable.SSTableRewriter$InvalidateKeys,
final org.apache.cassandra.cache.InstrumentingCache 
org.apache.cassandra.io.sstable.SSTableRewriter$InvalidateKeys.cache-org.apache.cassandra.cache.AutoSavingCache,
protected volatile java.util.concurrent.ScheduledFuture 
org.apache.cassandra.cache.AutoSavingCache.saveTask-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
final java.util.concurrent.ScheduledThreadPoolExecutor 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.this$0-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor,
private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue,
private final java.util.concurrent.BlockingQueue 
java.util.concurrent.ThreadPoolExecutor.workQueue-java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask,
private java.util.concurrent.Callable 
java.util.concurrent.FutureTask.callable-java.util.concurrent.Executors$RunnableAdapter,
final java.lang.Runnable 
java.util.concurrent.Executors$RunnableAdapter.task-org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable,
private final java.lang.Runnable 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.runnable-org.apache.cassandra.db.ColumnFamilyStore$3,
final org.apache.cassandra.db.ColumnFamilyStore 
org.apache.cassandra.db.ColumnFamilyStore$3.this$0-org.apache.cassandra.db.ColumnFamilyStore,
public final org.apache.cassandra.db.Keyspace 
org.apache.cassandra.db.ColumnFamilyStore.keyspace-org.apache.cassandra.db.Keyspace,
private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-java.util.concurrent.ConcurrentHashMap,
private final java.util.concurrent.ConcurrentMap 
org.apache.cassandra.db.Keyspace.columnFamilyStores-org.apache.cassandra.db.ColumnFamilyStore,
private final org.apache.cassandra.db.lifecycle.Tracker 
org.apache.cassandra.db.ColumnFamilyStore.data-org.apache.cassandra.db.lifecycle.Tracker,
final java.util.concurrent.atomic.AtomicReference 
org.apache.cassandra.db.lifecycle.Tracker.view-java.util.concurrent.atomic.AtomicReference,
private volatile java.lang.Object 
java.util.concurrent.atomic.AtomicReference.value-org.apache.cassandra.db.lifecycle.View,
public final java.util.List 
org.apache.cassandra.db.lifecycle.View.liveMemtables-com.google.common.collect.SingletonImmutableList,
final transient java.lang.Object 
com.google.common.collect.SingletonImmutableList.element-org.apache.cassandra.db.Memtable,
private final org.apache.cassandra.utils.memory.MemtableAllocator 
org.apache.cassandra.db.Memtable.allocator-org.apache.cassandra.utils.memory.SlabAllocator,
private final org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator 
org.apache.cassandra.utils.memory.MemtableAllocator.onHeap-org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator,
private final org.apache.cassandra.utils.memory.MemtablePool$SubPool 
org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent-org.apache.cassandra.utils.memory.MemtablePool$SubPool,
final org.apache.cassandra.utils.memory.MemtablePool 
org.apache.cassandra.utils.memory.MemtablePool$SubPool.this$0-org.apache.cassandra.utils.memory.SlabPool,
final org.apache.cassandra.utils.memory.MemtableCleanerThread 
org.apache.cassandra.utils.memory.MemtablePool.cleaner-org.apache.cassandra.utils.memory.MemtableCleanerThread,
private java.lang.ThreadGroup java.lang.Thread.group-java.lang.ThreadGroup,
private final java.lang.ThreadGroup 
java.lang.ThreadGroup.parent-java.lang.ThreadGroup,
java.lang.Thread[] java.lang.ThreadGroup.threads-
[Ljava.lang.Thread;,
java.lang.Thread[] java.lang.ThreadGroup.threads-java.lang.Thread,
private 

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

2016-02-17 Thread yukim
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/15b0bd6d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15b0bd6d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15b0bd6d

Branch: refs/heads/cassandra-3.0
Commit: 15b0bd6d0369ec8d461996c1249dd8921c75d036
Parents: 78f46de 757e314
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:48 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:48 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/CHANGES.txt
--
diff --cc CHANGES.txt
index 2a3854b,c40c3ce..968c8b1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -2.1.14
 +2.2.6
 + * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 + * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 +   (CASSANDRA-10736)
 + * Always persist upsampled index summaries (CASSANDRA-10512)
 + * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
 + * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
 + * Fix SELECT on tuple relations for mixed ASC/DESC clustering order 
(CASSANDRA-7281)
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 +   (CASSANDRA-10010)
 +Merged from 2.1:
+  * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
   * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
   * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/bin/cassandra
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/bin/cassandra.ps1
--



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

2016-02-17 Thread yukim
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 7871c36e36522b3c9b62d689b94b52b416f886e5
Parents: 9f322ac 39e966d
Author: Yuki Morishita 
Authored: Wed Feb 17 10:27:01 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:27:01 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7871c36e/bin/cassandra
--
diff --cc bin/cassandra
index 98de893,c968c35..d8daa5e
--- a/bin/cassandra
+++ b/bin/cassandra
@@@ -231,13 -231,9 +231,13 @@@ while true; d
  exit 0
  ;;
  -v)
- "$JAVA" -cp "$CLASSPATH" org.apache.cassandra.tools.GetVersion
+ "$JAVA" -cp "$CLASSPATH" 
"-Dlogback.configurationFile=logback-tools.xml" 
org.apache.cassandra.tools.GetVersion
  exit 0
  ;;
 +-R)
 +allow_root="yes"
 +shift
 +;;
  -D)
  properties="$properties -D$2"
  shift 2



[04/10] cassandra git commit: Use logback setting for 'cassandra -v' command

2016-02-17 Thread yukim
Use logback setting for 'cassandra -v' command

patch by yukim; reviewed by Paulo Motta for CASSANDRA-10767


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

Branch: refs/heads/trunk
Commit: 757e314cefd53d5f0d6a459be6f7e511a1a6fea0
Parents: 434dfc9
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:08 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:08 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 55f806c..c40c3ce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra
--
diff --git a/bin/cassandra b/bin/cassandra
index 8d7b14f..4dca73e 100755
--- a/bin/cassandra
+++ b/bin/cassandra
@@ -182,7 +182,7 @@ while true; do
 exit 0
 ;;
 -v)
-"$JAVA" -cp "$CLASSPATH" org.apache.cassandra.tools.GetVersion
+"$JAVA" -cp "$CLASSPATH" 
"-Dlogback.configurationFile=logback-tools.xml" 
org.apache.cassandra.tools.GetVersion
 exit 0
 ;;
 -D)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra.ps1
--
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 41ea7c1..d9af6e6 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -184,7 +184,7 @@ Function PrintVersion()
 $pinfo = New-Object System.Diagnostics.ProcessStartInfo
 $pinfo.FileName = "$env:JAVA_BIN"
 $pinfo.UseShellExecute = $false
-$pinfo.Arguments = "-cp $env:CLASSPATH 
org.apache.cassandra.tools.GetVersion"
+$pinfo.Arguments = "-Dlogback.configurationFile=logback-tools.xml -cp 
$env:CLASSPATH org.apache.cassandra.tools.GetVersion"
 $p = New-Object System.Diagnostics.Process
 $p.StartInfo = $pinfo
 $p.Start() | Out-Null



[03/10] cassandra git commit: Use logback setting for 'cassandra -v' command

2016-02-17 Thread yukim
Use logback setting for 'cassandra -v' command

patch by yukim; reviewed by Paulo Motta for CASSANDRA-10767


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

Branch: refs/heads/cassandra-3.0
Commit: 757e314cefd53d5f0d6a459be6f7e511a1a6fea0
Parents: 434dfc9
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:08 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:08 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 55f806c..c40c3ce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra
--
diff --git a/bin/cassandra b/bin/cassandra
index 8d7b14f..4dca73e 100755
--- a/bin/cassandra
+++ b/bin/cassandra
@@ -182,7 +182,7 @@ while true; do
 exit 0
 ;;
 -v)
-"$JAVA" -cp "$CLASSPATH" org.apache.cassandra.tools.GetVersion
+"$JAVA" -cp "$CLASSPATH" 
"-Dlogback.configurationFile=logback-tools.xml" 
org.apache.cassandra.tools.GetVersion
 exit 0
 ;;
 -D)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra.ps1
--
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 41ea7c1..d9af6e6 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -184,7 +184,7 @@ Function PrintVersion()
 $pinfo = New-Object System.Diagnostics.ProcessStartInfo
 $pinfo.FileName = "$env:JAVA_BIN"
 $pinfo.UseShellExecute = $false
-$pinfo.Arguments = "-cp $env:CLASSPATH 
org.apache.cassandra.tools.GetVersion"
+$pinfo.Arguments = "-Dlogback.configurationFile=logback-tools.xml -cp 
$env:CLASSPATH org.apache.cassandra.tools.GetVersion"
 $p = New-Object System.Diagnostics.Process
 $p.StartInfo = $pinfo
 $p.Start() | Out-Null



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

2016-02-17 Thread yukim
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/39e966d8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/39e966d8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/39e966d8

Branch: refs/heads/trunk
Commit: 39e966d852b26ce8de9c0a0793b4de3668e48352
Parents: ee81b46 15b0bd6
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:56 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:56 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


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



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

2016-02-17 Thread yukim
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/39e966d8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/39e966d8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/39e966d8

Branch: refs/heads/cassandra-3.0
Commit: 39e966d852b26ce8de9c0a0793b4de3668e48352
Parents: ee81b46 15b0bd6
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:56 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:56 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


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



[02/10] cassandra git commit: Use logback setting for 'cassandra -v' command

2016-02-17 Thread yukim
Use logback setting for 'cassandra -v' command

patch by yukim; reviewed by Paulo Motta for CASSANDRA-10767


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

Branch: refs/heads/cassandra-2.2
Commit: 757e314cefd53d5f0d6a459be6f7e511a1a6fea0
Parents: 434dfc9
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:08 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:08 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 55f806c..c40c3ce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra
--
diff --git a/bin/cassandra b/bin/cassandra
index 8d7b14f..4dca73e 100755
--- a/bin/cassandra
+++ b/bin/cassandra
@@ -182,7 +182,7 @@ while true; do
 exit 0
 ;;
 -v)
-"$JAVA" -cp "$CLASSPATH" org.apache.cassandra.tools.GetVersion
+"$JAVA" -cp "$CLASSPATH" 
"-Dlogback.configurationFile=logback-tools.xml" 
org.apache.cassandra.tools.GetVersion
 exit 0
 ;;
 -D)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra.ps1
--
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 41ea7c1..d9af6e6 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -184,7 +184,7 @@ Function PrintVersion()
 $pinfo = New-Object System.Diagnostics.ProcessStartInfo
 $pinfo.FileName = "$env:JAVA_BIN"
 $pinfo.UseShellExecute = $false
-$pinfo.Arguments = "-cp $env:CLASSPATH 
org.apache.cassandra.tools.GetVersion"
+$pinfo.Arguments = "-Dlogback.configurationFile=logback-tools.xml -cp 
$env:CLASSPATH org.apache.cassandra.tools.GetVersion"
 $p = New-Object System.Diagnostics.Process
 $p.StartInfo = $pinfo
 $p.Start() | Out-Null



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

2016-02-17 Thread yukim
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/15b0bd6d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15b0bd6d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15b0bd6d

Branch: refs/heads/cassandra-2.2
Commit: 15b0bd6d0369ec8d461996c1249dd8921c75d036
Parents: 78f46de 757e314
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:48 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:48 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/CHANGES.txt
--
diff --cc CHANGES.txt
index 2a3854b,c40c3ce..968c8b1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -2.1.14
 +2.2.6
 + * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 + * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 +   (CASSANDRA-10736)
 + * Always persist upsampled index summaries (CASSANDRA-10512)
 + * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
 + * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
 + * Fix SELECT on tuple relations for mixed ASC/DESC clustering order 
(CASSANDRA-7281)
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 +   (CASSANDRA-10010)
 +Merged from 2.1:
+  * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
   * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
   * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/bin/cassandra
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/bin/cassandra.ps1
--



[01/10] cassandra git commit: Use logback setting for 'cassandra -v' command

2016-02-17 Thread yukim
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 434dfc97a -> 757e314ce
  refs/heads/cassandra-2.2 78f46ded7 -> 15b0bd6d0
  refs/heads/cassandra-3.0 ee81b462b -> 39e966d85
  refs/heads/trunk 9f322ac60 -> 7871c36e3


Use logback setting for 'cassandra -v' command

patch by yukim; reviewed by Paulo Motta for CASSANDRA-10767


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

Branch: refs/heads/cassandra-2.1
Commit: 757e314cefd53d5f0d6a459be6f7e511a1a6fea0
Parents: 434dfc9
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:08 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:08 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 55f806c..c40c3ce 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra
--
diff --git a/bin/cassandra b/bin/cassandra
index 8d7b14f..4dca73e 100755
--- a/bin/cassandra
+++ b/bin/cassandra
@@ -182,7 +182,7 @@ while true; do
 exit 0
 ;;
 -v)
-"$JAVA" -cp "$CLASSPATH" org.apache.cassandra.tools.GetVersion
+"$JAVA" -cp "$CLASSPATH" 
"-Dlogback.configurationFile=logback-tools.xml" 
org.apache.cassandra.tools.GetVersion
 exit 0
 ;;
 -D)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/757e314c/bin/cassandra.ps1
--
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 41ea7c1..d9af6e6 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -184,7 +184,7 @@ Function PrintVersion()
 $pinfo = New-Object System.Diagnostics.ProcessStartInfo
 $pinfo.FileName = "$env:JAVA_BIN"
 $pinfo.UseShellExecute = $false
-$pinfo.Arguments = "-cp $env:CLASSPATH 
org.apache.cassandra.tools.GetVersion"
+$pinfo.Arguments = "-Dlogback.configurationFile=logback-tools.xml -cp 
$env:CLASSPATH org.apache.cassandra.tools.GetVersion"
 $p = New-Object System.Diagnostics.Process
 $p.StartInfo = $pinfo
 $p.Start() | Out-Null



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

2016-02-17 Thread yukim
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/15b0bd6d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/15b0bd6d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/15b0bd6d

Branch: refs/heads/trunk
Commit: 15b0bd6d0369ec8d461996c1249dd8921c75d036
Parents: 78f46de 757e314
Author: Yuki Morishita 
Authored: Wed Feb 17 10:26:48 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 10:26:48 2016 -0600

--
 CHANGES.txt   | 1 +
 bin/cassandra | 2 +-
 bin/cassandra.ps1 | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/CHANGES.txt
--
diff --cc CHANGES.txt
index 2a3854b,c40c3ce..968c8b1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -2.1.14
 +2.2.6
 + * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 + * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 +   (CASSANDRA-10736)
 + * Always persist upsampled index summaries (CASSANDRA-10512)
 + * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
 + * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
 + * Fix SELECT on tuple relations for mixed ASC/DESC clustering order 
(CASSANDRA-7281)
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 +   (CASSANDRA-10010)
 +Merged from 2.1:
+  * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
   * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
   * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/bin/cassandra
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/15b0bd6d/bin/cassandra.ps1
--



[jira] [Commented] (CASSANDRA-10855) Use Caffeine (W-TinyLFU) for on-heap caches

2016-02-17 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10855:


[~snazy] did you had the chance to schedule a run on cstar?

> Use Caffeine (W-TinyLFU) for on-heap caches
> ---
>
> Key: CASSANDRA-10855
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10855
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Ben Manes
>  Labels: performance
>
> Cassandra currently uses 
> [ConcurrentLinkedHashMap|https://code.google.com/p/concurrentlinkedhashmap] 
> for performance critical caches (key, counter) and Guava's cache for 
> non-critical (auth, metrics, security). All of these usages have been 
> replaced by [Caffeine|https://github.com/ben-manes/caffeine], written by the 
> author of the previously mentioned libraries.
> The primary incentive is to switch from LRU policy to W-TinyLFU, which 
> provides [near optimal|https://github.com/ben-manes/caffeine/wiki/Efficiency] 
> hit rates. It performs particularly well in database and search traces, is 
> scan resistant, and as adds a very small time/space overhead to LRU.
> Secondarily, Guava's caches never obtained similar 
> [performance|https://github.com/ben-manes/caffeine/wiki/Benchmarks] to CLHM 
> due to some optimizations not being ported over. This change results in 
> faster reads and not creating garbage as a side-effect.



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


[02/10] cassandra git commit: Fix sstableloader to unthrottle streaming by default

2016-02-17 Thread yukim
Fix sstableloader to unthrottle streaming by default

patch by yukim; reviewed by marcuse for CASSANDRA-9714


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

Branch: refs/heads/cassandra-2.2
Commit: 434dfc97a72e5d3ab4350b87dba787e105a6805d
Parents: f4b21f5
Author: Yuki Morishita 
Authored: Wed Feb 17 09:51:58 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:51:58 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9a9c4f7..55f806c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/src/java/org/apache/cassandra/tools/BulkLoader.java
--
diff --git a/src/java/org/apache/cassandra/tools/BulkLoader.java 
b/src/java/org/apache/cassandra/tools/BulkLoader.java
index 37317d5..0b1a1d4 100644
--- a/src/java/org/apache/cassandra/tools/BulkLoader.java
+++ b/src/java/org/apache/cassandra/tools/BulkLoader.java
@@ -528,6 +528,9 @@ public class BulkLoader
 else
 {
 config = new Config();
+// unthrottle stream by default
+config.stream_throughput_outbound_megabits_per_sec = 0;
+
config.inter_dc_stream_throughput_outbound_megabits_per_sec = 0;
 }
 opts.storagePort = config.storage_port;
 opts.sslStoragePort = config.ssl_storage_port;



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

2016-02-17 Thread yukim
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 9f322ac600d8cbd8d06427a0b11cea59991ba5ee
Parents: 097ce38 ee81b46
Author: Yuki Morishita 
Authored: Wed Feb 17 09:53:28 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:53:28 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


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



[04/10] cassandra git commit: Fix sstableloader to unthrottle streaming by default

2016-02-17 Thread yukim
Fix sstableloader to unthrottle streaming by default

patch by yukim; reviewed by marcuse for CASSANDRA-9714


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

Branch: refs/heads/trunk
Commit: 434dfc97a72e5d3ab4350b87dba787e105a6805d
Parents: f4b21f5
Author: Yuki Morishita 
Authored: Wed Feb 17 09:51:58 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:51:58 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9a9c4f7..55f806c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/src/java/org/apache/cassandra/tools/BulkLoader.java
--
diff --git a/src/java/org/apache/cassandra/tools/BulkLoader.java 
b/src/java/org/apache/cassandra/tools/BulkLoader.java
index 37317d5..0b1a1d4 100644
--- a/src/java/org/apache/cassandra/tools/BulkLoader.java
+++ b/src/java/org/apache/cassandra/tools/BulkLoader.java
@@ -528,6 +528,9 @@ public class BulkLoader
 else
 {
 config = new Config();
+// unthrottle stream by default
+config.stream_throughput_outbound_megabits_per_sec = 0;
+
config.inter_dc_stream_throughput_outbound_megabits_per_sec = 0;
 }
 opts.storagePort = config.storage_port;
 opts.sslStoragePort = config.ssl_storage_port;



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

2016-02-17 Thread yukim
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/ee81b462
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ee81b462
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ee81b462

Branch: refs/heads/cassandra-3.0
Commit: ee81b462b08eed45726a07193734450b31fea23f
Parents: fcc40e5 78f46de
Author: Yuki Morishita 
Authored: Wed Feb 17 09:53:20 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:53:20 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee81b462/src/java/org/apache/cassandra/tools/BulkLoader.java
--



[03/10] cassandra git commit: Fix sstableloader to unthrottle streaming by default

2016-02-17 Thread yukim
Fix sstableloader to unthrottle streaming by default

patch by yukim; reviewed by marcuse for CASSANDRA-9714


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

Branch: refs/heads/cassandra-3.0
Commit: 434dfc97a72e5d3ab4350b87dba787e105a6805d
Parents: f4b21f5
Author: Yuki Morishita 
Authored: Wed Feb 17 09:51:58 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:51:58 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9a9c4f7..55f806c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/src/java/org/apache/cassandra/tools/BulkLoader.java
--
diff --git a/src/java/org/apache/cassandra/tools/BulkLoader.java 
b/src/java/org/apache/cassandra/tools/BulkLoader.java
index 37317d5..0b1a1d4 100644
--- a/src/java/org/apache/cassandra/tools/BulkLoader.java
+++ b/src/java/org/apache/cassandra/tools/BulkLoader.java
@@ -528,6 +528,9 @@ public class BulkLoader
 else
 {
 config = new Config();
+// unthrottle stream by default
+config.stream_throughput_outbound_megabits_per_sec = 0;
+
config.inter_dc_stream_throughput_outbound_megabits_per_sec = 0;
 }
 opts.storagePort = config.storage_port;
 opts.sslStoragePort = config.ssl_storage_port;



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

2016-02-17 Thread yukim
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/78f46ded
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/78f46ded
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/78f46ded

Branch: refs/heads/cassandra-2.2
Commit: 78f46ded7fdac473c4cbb0391a13090e8eb51324
Parents: 97f3aa6 434dfc9
Author: Yuki Morishita 
Authored: Wed Feb 17 09:53:12 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:53:12 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/78f46ded/CHANGES.txt
--
diff --cc CHANGES.txt
index 288f204,55f806c..2a3854b
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -2.1.14
 +2.2.6
 + * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 + * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 +   (CASSANDRA-10736)
 + * Always persist upsampled index summaries (CASSANDRA-10512)
 + * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
 + * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
 + * Fix SELECT on tuple relations for mixed ASC/DESC clustering order 
(CASSANDRA-7281)
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 +   (CASSANDRA-10010)
 +Merged from 2.1:
+  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
   * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
   * Improve nodetool status performance for large cluster (CASSANDRA-7238)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/78f46ded/src/java/org/apache/cassandra/tools/BulkLoader.java
--



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

2016-02-17 Thread yukim
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/78f46ded
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/78f46ded
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/78f46ded

Branch: refs/heads/cassandra-3.0
Commit: 78f46ded7fdac473c4cbb0391a13090e8eb51324
Parents: 97f3aa6 434dfc9
Author: Yuki Morishita 
Authored: Wed Feb 17 09:53:12 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:53:12 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/78f46ded/CHANGES.txt
--
diff --cc CHANGES.txt
index 288f204,55f806c..2a3854b
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -2.1.14
 +2.2.6
 + * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 + * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 +   (CASSANDRA-10736)
 + * Always persist upsampled index summaries (CASSANDRA-10512)
 + * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
 + * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
 + * Fix SELECT on tuple relations for mixed ASC/DESC clustering order 
(CASSANDRA-7281)
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 +   (CASSANDRA-10010)
 +Merged from 2.1:
+  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
   * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
   * Improve nodetool status performance for large cluster (CASSANDRA-7238)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/78f46ded/src/java/org/apache/cassandra/tools/BulkLoader.java
--



[01/10] cassandra git commit: Fix sstableloader to unthrottle streaming by default

2016-02-17 Thread yukim
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 f4b21f5ff -> 434dfc97a
  refs/heads/cassandra-2.2 97f3aa681 -> 78f46ded7
  refs/heads/cassandra-3.0 fcc40e588 -> ee81b462b
  refs/heads/trunk 097ce3873 -> 9f322ac60


Fix sstableloader to unthrottle streaming by default

patch by yukim; reviewed by marcuse for CASSANDRA-9714


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

Branch: refs/heads/cassandra-2.1
Commit: 434dfc97a72e5d3ab4350b87dba787e105a6805d
Parents: f4b21f5
Author: Yuki Morishita 
Authored: Wed Feb 17 09:51:58 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:51:58 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9a9c4f7..55f806c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
  * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/434dfc97/src/java/org/apache/cassandra/tools/BulkLoader.java
--
diff --git a/src/java/org/apache/cassandra/tools/BulkLoader.java 
b/src/java/org/apache/cassandra/tools/BulkLoader.java
index 37317d5..0b1a1d4 100644
--- a/src/java/org/apache/cassandra/tools/BulkLoader.java
+++ b/src/java/org/apache/cassandra/tools/BulkLoader.java
@@ -528,6 +528,9 @@ public class BulkLoader
 else
 {
 config = new Config();
+// unthrottle stream by default
+config.stream_throughput_outbound_megabits_per_sec = 0;
+
config.inter_dc_stream_throughput_outbound_megabits_per_sec = 0;
 }
 opts.storagePort = config.storage_port;
 opts.sslStoragePort = config.ssl_storage_port;



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

2016-02-17 Thread yukim
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/ee81b462
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ee81b462
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ee81b462

Branch: refs/heads/trunk
Commit: ee81b462b08eed45726a07193734450b31fea23f
Parents: fcc40e5 78f46de
Author: Yuki Morishita 
Authored: Wed Feb 17 09:53:20 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:53:20 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ee81b462/src/java/org/apache/cassandra/tools/BulkLoader.java
--



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

2016-02-17 Thread yukim
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/78f46ded
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/78f46ded
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/78f46ded

Branch: refs/heads/trunk
Commit: 78f46ded7fdac473c4cbb0391a13090e8eb51324
Parents: 97f3aa6 434dfc9
Author: Yuki Morishita 
Authored: Wed Feb 17 09:53:12 2016 -0600
Committer: Yuki Morishita 
Committed: Wed Feb 17 09:53:12 2016 -0600

--
 CHANGES.txt | 1 +
 src/java/org/apache/cassandra/tools/BulkLoader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/78f46ded/CHANGES.txt
--
diff --cc CHANGES.txt
index 288f204,55f806c..2a3854b
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 -2.1.14
 +2.2.6
 + * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 + * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 +   (CASSANDRA-10736)
 + * Always persist upsampled index summaries (CASSANDRA-10512)
 + * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
 + * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
 + * Fix SELECT on tuple relations for mixed ASC/DESC clustering order 
(CASSANDRA-7281)
 + * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 + * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 +   (CASSANDRA-10010)
 +Merged from 2.1:
+  * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
   * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
   * Improve nodetool status performance for large cluster (CASSANDRA-7238)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/78f46ded/src/java/org/apache/cassandra/tools/BulkLoader.java
--



[jira] [Commented] (CASSANDRA-10956) Enable authentication of native protocol users via client certificates

2016-02-17 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski commented on CASSANDRA-10956:


This looks really useful, thanks! I've added some comments 
[here|https://github.com/spodkowinski/cassandra/commit/a8c95b62bfe0b0e3b692ec5c175c045cdcedb860]
 while looking at the code.  

However, I'm not sure if the user should be automatically authenticated as 
anonymous in case no client cert was presented. After all, the 
{{ICertificateAuthenticator}} was explicitly configured for the cluster, so 
this behavior is rather unexpected. We also don't do this for the 
{{PasswordAuthenticator}}, i.e. using anonymous in case the user decides not to 
login.

> Enable authentication of native protocol users via client certificates
> --
>
> Key: CASSANDRA-10956
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10956
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Samuel Klock
>Assignee: Samuel Klock
> Attachments: 10956.patch
>
>
> Currently, the native protocol only supports user authentication via SASL.  
> While this is adequate for many use cases, it may be superfluous in scenarios 
> where clients are required to present an SSL certificate to connect to the 
> server.  If the certificate presented by a client is sufficient by itself to 
> specify a user, then an additional (series of) authentication step(s) via 
> SASL merely add overhead.  Worse, for uses wherein it's desirable to obtain 
> the identity from the client's certificate, it's necessary to implement a 
> custom SASL mechanism to do so, which increases the effort required to 
> maintain both client and server and which also duplicates functionality 
> already provided via SSL/TLS.
> Cassandra should provide a means of using certificates for user 
> authentication in the native protocol without any effort above configuring 
> SSL on the client and server.  Here's a possible strategy:
> * Add a new authenticator interface that returns {{AuthenticatedUser}} 
> objects based on the certificate chain presented by the client.
> * If this interface is in use, the user is authenticated immediately after 
> the server receives the {{STARTUP}} message.  It then responds with a 
> {{READY}} message.
> * Otherwise, the existing flow of control is used (i.e., if the authenticator 
> requires authentication, then an {{AUTHENTICATE}} message is sent to the 
> client).
> One advantage of this strategy is that it is backwards-compatible with 
> existing schemes; current users of SASL/{{IAuthenticator}} are not impacted.  
> Moreover, it can function as a drop-in replacement for SASL schemes without 
> requiring code changes (or even config changes) on the client side.



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


[1/6] cassandra git commit: cqlsh pg-style-strings broken if line ends with '; '

2016-02-17 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 f7c75857d -> 97f3aa681
  refs/heads/cassandra-3.0 7a3c3abe1 -> fcc40e588
  refs/heads/trunk 0d8e853d9 -> 097ce3873


cqlsh pg-style-strings broken if line ends with ';'

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-11123


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

Branch: refs/heads/cassandra-2.2
Commit: 97f3aa681d83a46b83593f79a7c2d15fb89be3c2
Parents: f7c7585
Author: Robert Stupp 
Authored: Wed Feb 17 13:42:02 2016 +0100
Committer: Robert Stupp 
Committed: Wed Feb 17 13:42:02 2016 +0100

--
 CHANGES.txt| 1 +
 bin/cqlsh.py   | 4 ++--
 pylib/cqlshlib/cqlhandling.py  | 3 ++-
 pylib/cqlshlib/test/cassconnect.py | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5c912a1..288f204 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.6
+ * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
  * Use cloned TokenMetadata in size estimates to avoid race against membership 
check
(CASSANDRA-10736)
  * Always persist upsampled index summaries (CASSANDRA-10512)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index 630c92b..08cc6f4 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -1108,7 +1108,7 @@ class Shell(cmd.Cmd):
 """
 
 try:
-statements, in_batch = 
cqlruleset.cql_split_statements(statementtext)
+statements, endtoken_escaped = 
cqlruleset.cql_split_statements(statementtext)
 except pylexotron.LexingError, e:
 if self.show_line_nums:
 self.printerr('Invalid syntax at char %d' % (e.charnum,))
@@ -1124,7 +1124,7 @@ class Shell(cmd.Cmd):
 statements = statements[:-1]
 if not statements:
 return True
-if in_batch or statements[-1][-1][0] != 'endtoken':
+if endtoken_escaped or statements[-1][-1][0] != 'endtoken':
 self.set_continue_prompt()
 return
 for st in statements:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/pylib/cqlshlib/cqlhandling.py
--
diff --git a/pylib/cqlshlib/cqlhandling.py b/pylib/cqlshlib/cqlhandling.py
index c17dc6b..a8a0ba8 100644
--- a/pylib/cqlshlib/cqlhandling.py
+++ b/pylib/cqlshlib/cqlhandling.py
@@ -142,6 +142,7 @@ class CqlParsingRuleSet(pylexotron.ParsingRuleSet):
 stmts = util.split_list(tokens, lambda t: t[0] == 'endtoken')
 output = []
 in_batch = False
+in_pg_string = len([st for st in tokens if len(st) > 0 and st[0] == 
'unclosedPgString']) == 1
 for stmt in stmts:
 if in_batch:
 output[-1].extend(stmt)
@@ -152,7 +153,7 @@ class CqlParsingRuleSet(pylexotron.ParsingRuleSet):
 in_batch = False
 elif stmt[0][1].upper() == 'BEGIN':
 in_batch = True
-return output, in_batch
+return output, in_batch or in_pg_string
 
 def cql_complete_single(self, text, partial, init_bindings={}, 
ignore_case=True,
 startsymbol='Start'):

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/pylib/cqlshlib/test/cassconnect.py
--
diff --git a/pylib/cqlshlib/test/cassconnect.py 
b/pylib/cqlshlib/test/cassconnect.py
index a93647a..94910a6 100644
--- a/pylib/cqlshlib/test/cassconnect.py
+++ b/pylib/cqlshlib/test/cassconnect.py
@@ -57,8 +57,8 @@ def create_test_keyspace(cursor):
 
 def split_cql_commands(source):
 ruleset = cql_rule_set()
-statements, in_batch = ruleset.cql_split_statements(source)
-if in_batch:
+statements, endtoken_escaped = ruleset.cql_split_statements(source)
+if endtoken_escaped:
 raise ValueError("CQL source ends unexpectedly")
 
 return [ruleset.cql_extract_orig(toks, source) for toks in statements if 
toks]



[3/6] cassandra git commit: cqlsh pg-style-strings broken if line ends with '; '

2016-02-17 Thread snazy
cqlsh pg-style-strings broken if line ends with ';'

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-11123


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

Branch: refs/heads/trunk
Commit: 97f3aa681d83a46b83593f79a7c2d15fb89be3c2
Parents: f7c7585
Author: Robert Stupp 
Authored: Wed Feb 17 13:42:02 2016 +0100
Committer: Robert Stupp 
Committed: Wed Feb 17 13:42:02 2016 +0100

--
 CHANGES.txt| 1 +
 bin/cqlsh.py   | 4 ++--
 pylib/cqlshlib/cqlhandling.py  | 3 ++-
 pylib/cqlshlib/test/cassconnect.py | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5c912a1..288f204 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.6
+ * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
  * Use cloned TokenMetadata in size estimates to avoid race against membership 
check
(CASSANDRA-10736)
  * Always persist upsampled index summaries (CASSANDRA-10512)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index 630c92b..08cc6f4 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -1108,7 +1108,7 @@ class Shell(cmd.Cmd):
 """
 
 try:
-statements, in_batch = 
cqlruleset.cql_split_statements(statementtext)
+statements, endtoken_escaped = 
cqlruleset.cql_split_statements(statementtext)
 except pylexotron.LexingError, e:
 if self.show_line_nums:
 self.printerr('Invalid syntax at char %d' % (e.charnum,))
@@ -1124,7 +1124,7 @@ class Shell(cmd.Cmd):
 statements = statements[:-1]
 if not statements:
 return True
-if in_batch or statements[-1][-1][0] != 'endtoken':
+if endtoken_escaped or statements[-1][-1][0] != 'endtoken':
 self.set_continue_prompt()
 return
 for st in statements:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/pylib/cqlshlib/cqlhandling.py
--
diff --git a/pylib/cqlshlib/cqlhandling.py b/pylib/cqlshlib/cqlhandling.py
index c17dc6b..a8a0ba8 100644
--- a/pylib/cqlshlib/cqlhandling.py
+++ b/pylib/cqlshlib/cqlhandling.py
@@ -142,6 +142,7 @@ class CqlParsingRuleSet(pylexotron.ParsingRuleSet):
 stmts = util.split_list(tokens, lambda t: t[0] == 'endtoken')
 output = []
 in_batch = False
+in_pg_string = len([st for st in tokens if len(st) > 0 and st[0] == 
'unclosedPgString']) == 1
 for stmt in stmts:
 if in_batch:
 output[-1].extend(stmt)
@@ -152,7 +153,7 @@ class CqlParsingRuleSet(pylexotron.ParsingRuleSet):
 in_batch = False
 elif stmt[0][1].upper() == 'BEGIN':
 in_batch = True
-return output, in_batch
+return output, in_batch or in_pg_string
 
 def cql_complete_single(self, text, partial, init_bindings={}, 
ignore_case=True,
 startsymbol='Start'):

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/pylib/cqlshlib/test/cassconnect.py
--
diff --git a/pylib/cqlshlib/test/cassconnect.py 
b/pylib/cqlshlib/test/cassconnect.py
index a93647a..94910a6 100644
--- a/pylib/cqlshlib/test/cassconnect.py
+++ b/pylib/cqlshlib/test/cassconnect.py
@@ -57,8 +57,8 @@ def create_test_keyspace(cursor):
 
 def split_cql_commands(source):
 ruleset = cql_rule_set()
-statements, in_batch = ruleset.cql_split_statements(source)
-if in_batch:
+statements, endtoken_escaped = ruleset.cql_split_statements(source)
+if endtoken_escaped:
 raise ValueError("CQL source ends unexpectedly")
 
 return [ruleset.cql_extract_orig(toks, source) for toks in statements if 
toks]



[4/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-17 Thread snazy
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/fcc40e58
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fcc40e58
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fcc40e58

Branch: refs/heads/trunk
Commit: fcc40e58869df76cf8f6c6e066f9aef2bd9d4b1a
Parents: 7a3c3ab 97f3aa6
Author: Robert Stupp 
Authored: Wed Feb 17 13:42:54 2016 +0100
Committer: Robert Stupp 
Committed: Wed Feb 17 13:42:54 2016 +0100

--
 CHANGES.txt| 1 +
 bin/cqlsh.py   | 4 ++--
 pylib/cqlshlib/cqlhandling.py  | 3 ++-
 pylib/cqlshlib/test/cassconnect.py | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcc40e58/CHANGES.txt
--
diff --cc CHANGES.txt
index f1a9719,288f204..1d89446
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,18 -1,7 +1,19 @@@
 -2.2.6
 +3.0.4
 + * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
 + * Add query time validation method on Index (CASSANDRA-11043)
 + * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
 + * Properly handle hinted handoff after topology changes (CASSANDRA-5902)
 + * AssertionError when listing sstable files on inconsistent disk state 
(CASSANDRA-11156)
 + * Fix wrong rack counting and invalid conditions check for TokenAllocation
 +   (CASSANDRA-11139)
 + * Avoid creating empty hint files (CASSANDRA-11090)
 + * Fix leak detection strong reference loop using weak reference 
(CASSANDRA-11120)
 + * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 + * Add dropped_columns to the list of schema table so it gets handled
 +   properly (CASSANDRA-11050)
 +Merged from 2.2:
+  * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 - * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 -   (CASSANDRA-10736)
   * Always persist upsampled index summaries (CASSANDRA-10512)
   * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
   * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcc40e58/bin/cqlsh.py
--



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

2016-02-17 Thread snazy
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 097ce3873f2a1e6474ecca4b11eda9ae5d2b274d
Parents: 0d8e853 fcc40e5
Author: Robert Stupp 
Authored: Wed Feb 17 13:43:00 2016 +0100
Committer: Robert Stupp 
Committed: Wed Feb 17 13:43:00 2016 +0100

--
 CHANGES.txt| 1 +
 bin/cqlsh.py   | 4 ++--
 pylib/cqlshlib/cqlhandling.py  | 3 ++-
 pylib/cqlshlib/test/cassconnect.py | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/097ce387/bin/cqlsh.py
--



[2/6] cassandra git commit: cqlsh pg-style-strings broken if line ends with '; '

2016-02-17 Thread snazy
cqlsh pg-style-strings broken if line ends with ';'

patch by Robert Stupp; reviewed by Stefania for CASSANDRA-11123


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

Branch: refs/heads/cassandra-3.0
Commit: 97f3aa681d83a46b83593f79a7c2d15fb89be3c2
Parents: f7c7585
Author: Robert Stupp 
Authored: Wed Feb 17 13:42:02 2016 +0100
Committer: Robert Stupp 
Committed: Wed Feb 17 13:42:02 2016 +0100

--
 CHANGES.txt| 1 +
 bin/cqlsh.py   | 4 ++--
 pylib/cqlshlib/cqlhandling.py  | 3 ++-
 pylib/cqlshlib/test/cassconnect.py | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5c912a1..288f204 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.6
+ * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
  * Use cloned TokenMetadata in size estimates to avoid race against membership 
check
(CASSANDRA-10736)
  * Always persist upsampled index summaries (CASSANDRA-10512)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/bin/cqlsh.py
--
diff --git a/bin/cqlsh.py b/bin/cqlsh.py
index 630c92b..08cc6f4 100644
--- a/bin/cqlsh.py
+++ b/bin/cqlsh.py
@@ -1108,7 +1108,7 @@ class Shell(cmd.Cmd):
 """
 
 try:
-statements, in_batch = 
cqlruleset.cql_split_statements(statementtext)
+statements, endtoken_escaped = 
cqlruleset.cql_split_statements(statementtext)
 except pylexotron.LexingError, e:
 if self.show_line_nums:
 self.printerr('Invalid syntax at char %d' % (e.charnum,))
@@ -1124,7 +1124,7 @@ class Shell(cmd.Cmd):
 statements = statements[:-1]
 if not statements:
 return True
-if in_batch or statements[-1][-1][0] != 'endtoken':
+if endtoken_escaped or statements[-1][-1][0] != 'endtoken':
 self.set_continue_prompt()
 return
 for st in statements:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/pylib/cqlshlib/cqlhandling.py
--
diff --git a/pylib/cqlshlib/cqlhandling.py b/pylib/cqlshlib/cqlhandling.py
index c17dc6b..a8a0ba8 100644
--- a/pylib/cqlshlib/cqlhandling.py
+++ b/pylib/cqlshlib/cqlhandling.py
@@ -142,6 +142,7 @@ class CqlParsingRuleSet(pylexotron.ParsingRuleSet):
 stmts = util.split_list(tokens, lambda t: t[0] == 'endtoken')
 output = []
 in_batch = False
+in_pg_string = len([st for st in tokens if len(st) > 0 and st[0] == 
'unclosedPgString']) == 1
 for stmt in stmts:
 if in_batch:
 output[-1].extend(stmt)
@@ -152,7 +153,7 @@ class CqlParsingRuleSet(pylexotron.ParsingRuleSet):
 in_batch = False
 elif stmt[0][1].upper() == 'BEGIN':
 in_batch = True
-return output, in_batch
+return output, in_batch or in_pg_string
 
 def cql_complete_single(self, text, partial, init_bindings={}, 
ignore_case=True,
 startsymbol='Start'):

http://git-wip-us.apache.org/repos/asf/cassandra/blob/97f3aa68/pylib/cqlshlib/test/cassconnect.py
--
diff --git a/pylib/cqlshlib/test/cassconnect.py 
b/pylib/cqlshlib/test/cassconnect.py
index a93647a..94910a6 100644
--- a/pylib/cqlshlib/test/cassconnect.py
+++ b/pylib/cqlshlib/test/cassconnect.py
@@ -57,8 +57,8 @@ def create_test_keyspace(cursor):
 
 def split_cql_commands(source):
 ruleset = cql_rule_set()
-statements, in_batch = ruleset.cql_split_statements(source)
-if in_batch:
+statements, endtoken_escaped = ruleset.cql_split_statements(source)
+if endtoken_escaped:
 raise ValueError("CQL source ends unexpectedly")
 
 return [ruleset.cql_extract_orig(toks, source) for toks in statements if 
toks]



[5/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2016-02-17 Thread snazy
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/fcc40e58
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fcc40e58
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fcc40e58

Branch: refs/heads/cassandra-3.0
Commit: fcc40e58869df76cf8f6c6e066f9aef2bd9d4b1a
Parents: 7a3c3ab 97f3aa6
Author: Robert Stupp 
Authored: Wed Feb 17 13:42:54 2016 +0100
Committer: Robert Stupp 
Committed: Wed Feb 17 13:42:54 2016 +0100

--
 CHANGES.txt| 1 +
 bin/cqlsh.py   | 4 ++--
 pylib/cqlshlib/cqlhandling.py  | 3 ++-
 pylib/cqlshlib/test/cassconnect.py | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcc40e58/CHANGES.txt
--
diff --cc CHANGES.txt
index f1a9719,288f204..1d89446
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,18 -1,7 +1,19 @@@
 -2.2.6
 +3.0.4
 + * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
 + * Add query time validation method on Index (CASSANDRA-11043)
 + * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
 + * Properly handle hinted handoff after topology changes (CASSANDRA-5902)
 + * AssertionError when listing sstable files on inconsistent disk state 
(CASSANDRA-11156)
 + * Fix wrong rack counting and invalid conditions check for TokenAllocation
 +   (CASSANDRA-11139)
 + * Avoid creating empty hint files (CASSANDRA-11090)
 + * Fix leak detection strong reference loop using weak reference 
(CASSANDRA-11120)
 + * Configurie BatchlogManager to stop delayed tasks on shutdown 
(CASSANDRA-11062)
 + * Hadoop integration is incompatible with Cassandra Driver 3.0.0 
(CASSANDRA-11001)
 + * Add dropped_columns to the list of schema table so it gets handled
 +   properly (CASSANDRA-11050)
 +Merged from 2.2:
+  * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 - * Use cloned TokenMetadata in size estimates to avoid race against 
membership check
 -   (CASSANDRA-10736)
   * Always persist upsampled index summaries (CASSANDRA-10512)
   * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
   * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/fcc40e58/bin/cqlsh.py
--



[jira] [Updated] (CASSANDRA-11154) CassandraDaemon in Managed mode fails to be restartable

2016-02-17 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-11154:
--
Fix Version/s: (was: 3.4)
   3.x

> CassandraDaemon in Managed mode fails to be restartable
> ---
>
> Key: CASSANDRA-11154
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11154
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Achim Nierbeck
> Fix For: 3.x
>
> Attachments: CASSANDRA-11154_patch.txt
>
>
> Restarting the CassandraDeamon in managed mode fails to restart due to 
> duplicate migration of already migrated keyspaces. 
> To reproduce this, just do something like in this test class: 
> https://github.com/ANierbeck/Karaf-Cassandra/blob/master/Karaf-Cassandra-Embedded/src/test/java/de/nierbeck/cassandra/embedded/TestEmbedded.java



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


[jira] [Updated] (CASSANDRA-11173) Add extension points in storage and streaming classes

2016-02-17 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-11173:
--
Fix Version/s: (was: 3.4)
   3.x

> Add extension points in storage and streaming classes
> -
>
> Key: CASSANDRA-11173
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11173
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
> Fix For: 3.x
>
>
> It would be useful if 3rd party classes could be notified when reads and 
> writes occur on a table+partition, when sstables are being streamed out/in, 
> and could also intercept the creation of row iterators from sstables. I have 
> a [v1 branch here|https://github.com/bdeggleston/cassandra/tree/hooksV1]. It 
> illustrates the extension points I'm looking for, but is not necessarily the 
> best api.



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


[jira] [Commented] (CASSANDRA-11175) Extend support for post-reconcilliation processing to all read commands

2016-02-17 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe commented on CASSANDRA-11175:
-

Well, one thing at a time. The intent of this ticket is to put the hooks in 
place to support the behaviour programatically, adding support at the syntax 
level would be something to think about later IMO.

> Extend support for post-reconcilliation processing to all read commands
> ---
>
> Key: CASSANDRA-11175
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11175
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
>Priority: Minor
> Fix For: 3.x
>
>
> CASSANDRA-8717 introduced limited support for processing or transformation of 
> query results on the coordinator, which occurs after the results from 
> individual replicas have been reconciled. At the moment this is limited to 
> queries which utilise secondary indexes and the post-processing function 
> itself is provided by the index implementation. It would be useful if this 
> were expanded so that any read command may include a post-reconcilliation 
> processing step. A straightforward way to control this would be via a custom 
> {{QueryHandler}}. 



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


[jira] [Comment Edited] (CASSANDRA-11175) Extend support for post-reconcilliation processing to all read commands

2016-02-17 Thread DOAN DuyHai (JIRA)

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

DOAN DuyHai edited comment on CASSANDRA-11175 at 2/17/16 11:33 AM:
---

Idea: user can push reconciliation logic through the UDF API ?

{code:sql}
CREATE TABLE  (
pk int PRIMARY KEY,
val text RECONCILE WITH my_keyspace.my_function
) ;
{code}


was (Author: doanduyhai):
Idea: user can push reconciliation logic through the UDF API ?

> Extend support for post-reconcilliation processing to all read commands
> ---
>
> Key: CASSANDRA-11175
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11175
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
>Priority: Minor
> Fix For: 3.x
>
>
> CASSANDRA-8717 introduced limited support for processing or transformation of 
> query results on the coordinator, which occurs after the results from 
> individual replicas have been reconciled. At the moment this is limited to 
> queries which utilise secondary indexes and the post-processing function 
> itself is provided by the index implementation. It would be useful if this 
> were expanded so that any read command may include a post-reconcilliation 
> processing step. A straightforward way to control this would be via a custom 
> {{QueryHandler}}. 



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


[jira] [Commented] (CASSANDRA-11175) Extend support for post-reconcilliation processing to all read commands

2016-02-17 Thread DOAN DuyHai (JIRA)

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

DOAN DuyHai commented on CASSANDRA-11175:
-

Idea: user can push reconciliation logic through the UDF API ?

> Extend support for post-reconcilliation processing to all read commands
> ---
>
> Key: CASSANDRA-11175
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11175
> Project: Cassandra
>  Issue Type: Improvement
>  Components: CQL
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
>Priority: Minor
> Fix For: 3.x
>
>
> CASSANDRA-8717 introduced limited support for processing or transformation of 
> query results on the coordinator, which occurs after the results from 
> individual replicas have been reconciled. At the moment this is limited to 
> queries which utilise secondary indexes and the post-processing function 
> itself is provided by the index implementation. It would be useful if this 
> were expanded so that any read command may include a post-reconcilliation 
> processing step. A straightforward way to control this would be via a custom 
> {{QueryHandler}}. 



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


[jira] [Commented] (CASSANDRA-8343) Secondary index creation causes moves/bootstraps to fail

2016-02-17 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-8343:
-

I'm not super familiar with how the streaming protocol number is used. If there 
is some protocol version negotiations between nodes that make it possible to 
bump the number without breaking any backward compatibility, then that would be 
fine for trunk (well, assuming we do carefully test this). Otherwise, we'd have 
to wait for 4.0.

bq. we've had this problem since forever \[...\] there is the workaround of 
increasing {{streaming_socket_timeout}}

I agree that this probably mean it's not worth doing too risky changes for this 
before trunk. But really, it feels to me that the main problem is how the code 
handle this kind of problem. Assuming we probably surface the timeout on the 
sending side, there is not reason not to properly close the session and move on 
on the receiving side when this happen (we could still log an error or warning 
on that receiving side explaining what happens (and that if the sending 
timeouted, the user may want to increase {{streaming_socket_timeout}})). We can 
also document that {{streaming_socket_timeout}} should be high enough to let 
2ndary index/MVs be built in the yaml.

Imo, if we handle the case better (by not breaking anything but logging enough 
info that the user understand what happened and that this is really not a big 
deal), it's fine if we only fix it properly in 4.0 (we do need to have a better 
solution eventually of course).


> Secondary index creation causes moves/bootstraps to fail
> 
>
> Key: CASSANDRA-8343
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8343
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Michael Frisch
>Assignee: Paulo Motta
>
> Node moves/bootstraps are failing if the stream timeout is set to a value in 
> which secondary index creation cannot complete.  This happens because at the 
> end of the very last stream the StreamInSession.closeIfFinished() function 
> calls maybeBuildSecondaryIndexes on every column family.  If the stream time 
> + all CF's index creation takes longer than your stream timeout then the 
> socket closes from the sender's side, the receiver of the stream tries to 
> write to said socket because it's not null, an IOException is thrown but not 
> caught in closeIfFinished(), the exception is caught somewhere and not 
> logged, AbstractStreamSession.close() is never called, and the CountDownLatch 
> is never decremented.  This causes the move/bootstrap to continue forever 
> until the node is restarted.
> This problem of stream time + secondary index creation time exists on 
> decommissioning/unbootstrap as well but since it's on the sending side the 
> timeout triggers the onFailure() callback which does decrement the 
> CountDownLatch leading to completion.
> A cursory glance at the 2.0 code leads me to believe this problem would exist 
> there as well.
> Temporary workaround: set a really high/infinite stream timeout.



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


[jira] [Created] (CASSANDRA-11175) Extend support for post-reconcilliation processing to all read commands

2016-02-17 Thread Sam Tunnicliffe (JIRA)
Sam Tunnicliffe created CASSANDRA-11175:
---

 Summary: Extend support for post-reconcilliation processing to all 
read commands
 Key: CASSANDRA-11175
 URL: https://issues.apache.org/jira/browse/CASSANDRA-11175
 Project: Cassandra
  Issue Type: Improvement
  Components: CQL
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
Priority: Minor
 Fix For: 3.x


CASSANDRA-8717 introduced limited support for processing or transformation of 
query results on the coordinator, which occurs after the results from 
individual replicas have been reconciled. At the moment this is limited to 
queries which utilise secondary indexes and the post-processing function itself 
is provided by the index implementation. It would be useful if this were 
expanded so that any read command may include a post-reconcilliation processing 
step. A straightforward way to control this would be via a custom 
{{QueryHandler}}. 




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


[jira] [Updated] (CASSANDRA-10721) Altering a UDT might break UDA deserialisation

2016-02-17 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-10721:
---
Attachment: 10721-3.0.txt

Latest version of the patch for reference.

> Altering a UDT might break UDA deserialisation
> --
>
> Key: CASSANDRA-10721
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10721
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Distributed Metadata
>Reporter: Aleksey Yeschenko
>Assignee: Robert Stupp
> Fix For: 3.0.x
>
> Attachments: 10721-3.0.txt
>
>
> CASSANDRA-10650 switched UDA's {{initcond}} serialisation in schema to its 
> CQL literal. This means that if any particular field is renamed in the UDT, 
> or of its type gets changes, we will not be able to parse initcond back.
> We should either:
> 1) Forbid renames and type switches in UDTs that are being used in UDAs, or
> 2) Make sure we alter the UDAs in schema alongside the new UDT at all times



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


[jira] [Commented] (CASSANDRA-10721) Altering a UDT might break UDA deserialisation

2016-02-17 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10721:


+1

> Altering a UDT might break UDA deserialisation
> --
>
> Key: CASSANDRA-10721
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10721
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Distributed Metadata
>Reporter: Aleksey Yeschenko
>Assignee: Robert Stupp
> Fix For: 3.0.x
>
>
> CASSANDRA-10650 switched UDA's {{initcond}} serialisation in schema to its 
> CQL literal. This means that if any particular field is renamed in the UDT, 
> or of its type gets changes, we will not be able to parse initcond back.
> We should either:
> 1) Forbid renames and type switches in UDTs that are being used in UDAs, or
> 2) Make sure we alter the UDAs in schema alongside the new UDT at all times



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


[jira] [Commented] (CASSANDRA-11089) cassandra-stress should allow specifying the Java driver's protocol version to be used

2016-02-17 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski commented on CASSANDRA-11089:


Using the 3.x stress tool with a 2.2 cluster is already working as both 
versions support protocol v4. 

> cassandra-stress should allow specifying the Java driver's protocol version 
> to be used
> --
>
> Key: CASSANDRA-11089
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11089
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Eduard Tudenhoefner
>Assignee: Eduard Tudenhoefner
>  Labels: stress
> Fix For: 3.x
>
>
> It would be useful to use *cassandra-stress* that is coming with C* 3.x 
> against a C* 2.x cluster. In order for that to work, we should allow 
> specifying the Java driver's protocol version to be used for the connection.
> See also 
> https://github.com/apache/cassandra/blob/cassandra-3.0/tools/stress/src/org/apache/cassandra/stress/util/JavaDriverClient.java#L118-118



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


[2/2] cassandra git commit: Merge branch cassandra-3.0 into trunk

2016-02-17 Thread blerer
Merge branch cassandra-3.0 into trunk


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

Branch: refs/heads/trunk
Commit: 0d8e853d923676331f4f336d9455089cc431535d
Parents: 09fd433 7a3c3ab
Author: Benjamin Lerer 
Authored: Wed Feb 17 11:56:48 2016 +0100
Committer: Benjamin Lerer 
Committed: Wed Feb 17 11:56:48 2016 +0100

--
 CHANGES.txt |  3 +
 .../cql3/statements/AlterTypeStatement.java | 28 +---
 .../cql3/statements/DropTypeStatement.java  | 40 ++--
 .../db/marshal/AbstractCompositeType.java   |  6 ++
 .../cassandra/db/marshal/AbstractType.java  |  7 +-
 .../cassandra/db/marshal/CompositeType.java | 11 
 .../apache/cassandra/db/marshal/ListType.java   |  4 +-
 .../apache/cassandra/db/marshal/MapType.java|  5 +-
 .../cassandra/db/marshal/ReversedType.java  |  4 +-
 .../apache/cassandra/db/marshal/SetType.java|  4 +-
 .../apache/cassandra/db/marshal/TupleType.java  |  9 +--
 .../apache/cassandra/db/marshal/UserType.java   |  9 ++-
 .../cql3/validation/entities/UserTypesTest.java | 68 
 .../commitlog/CommitLogSegmentManagerTest.java  | 63 ++
 14 files changed, 184 insertions(+), 77 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d8e853d/CHANGES.txt
--
diff --cc CHANGES.txt
index 376035d,f1a9719..2d0a727
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,28 -1,5 +1,31 @@@
 +3.4
 + * fix SASI memtable switching on flush (CASSANDRA-11159)
 + * Remove duplicate offline compaction tracking (CASSANDRA-11148)
 + * fix EQ semantics of analyzed SASI indexes (CASSANDRA-11130)
 + * Support long name output for nodetool commands (CASSANDRA-7950)
 + * Encrypted hints (CASSANDRA-11040)
 + * SASI index options validation (CASSANDRA-11136)
 + * Optimize disk seek using min/max column name meta data when the LIMIT 
clause is used
 +   (CASSANDRA-8180)
 + * Add LIKE support to CQL3 (CASSANDRA-11067)
 + * Generic Java UDF types (CASSANDRA-10819)
 + * cqlsh: Include sub-second precision in timestamps by default 
(CASSANDRA-10428)
 + * Set javac encoding to utf-8 (CASSANDRA-11077)
 + * Integrate SASI index into Cassandra (CASSANDRA-10661)
 + * Add --skip-flush option to nodetool snapshot
 + * Skip values for non-queried columns (CASSANDRA-10657)
 + * Add support for secondary indexes on static columns (CASSANDRA-8103)
 + * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
 + * Add metric for number of dropped mutations (CASSANDRA-10866)
 + * Simplify row cache invalidation code (CASSANDRA-10396)
 + * Support user-defined compaction through nodetool (CASSANDRA-10660)
 + * Stripe view locks by key and table ID to reduce contention 
(CASSANDRA-10981)
 + * Add nodetool gettimeout and settimeout commands (CASSANDRA-10953)
 + * Add 3.0 metadata to sstablemetadata output (CASSANDRA-10838)
 +Merged from 3.0:
++===
+ 3.0.4
+  * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
   * Add query time validation method on Index (CASSANDRA-11043)
   * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
   * Properly handle hinted handoff after topology changes (CASSANDRA-5902)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d8e853d/src/java/org/apache/cassandra/db/marshal/AbstractCompositeType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d8e853d/src/java/org/apache/cassandra/db/marshal/CompositeType.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d8e853d/src/java/org/apache/cassandra/db/marshal/TupleType.java
--



[1/2] cassandra git commit: Disallow drop/alter operations of UDTs used by UDAs

2016-02-17 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/trunk 09fd433cb -> 0d8e853d9


Disallow drop/alter operations of UDTs used by UDAs

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-10721


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

Branch: refs/heads/trunk
Commit: 7a3c3abe1d1a191f06f99f989c940a5f8ce52f5f
Parents: 931d2e5
Author: Robert Stupp 
Authored: Wed Feb 17 11:48:38 2016 +0100
Committer: Benjamin Lerer 
Committed: Wed Feb 17 11:53:38 2016 +0100

--
 CHANGES.txt |  1 +
 .../cql3/statements/AlterTypeStatement.java | 28 +---
 .../cql3/statements/DropTypeStatement.java  | 40 ++--
 .../db/marshal/AbstractCompositeType.java   |  6 ++
 .../cassandra/db/marshal/AbstractType.java  |  7 +-
 .../cassandra/db/marshal/CompositeType.java | 11 
 .../apache/cassandra/db/marshal/ListType.java   |  4 +-
 .../apache/cassandra/db/marshal/MapType.java|  5 +-
 .../cassandra/db/marshal/ReversedType.java  |  4 +-
 .../apache/cassandra/db/marshal/SetType.java|  4 +-
 .../apache/cassandra/db/marshal/TupleType.java  |  9 +--
 .../apache/cassandra/db/marshal/UserType.java   |  9 ++-
 .../cql3/validation/entities/UserTypesTest.java | 68 
 .../commitlog/CommitLogSegmentManagerTest.java  | 63 ++
 14 files changed, 182 insertions(+), 77 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a3c3abe/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 32c165b..f1a9719 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.4
+ * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
  * Add query time validation method on Index (CASSANDRA-11043)
  * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
  * Properly handle hinted handoff after topology changes (CASSANDRA-5902)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a3c3abe/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
index 068b996..8e51c26 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
@@ -36,7 +36,6 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 
 protected AlterTypeStatement(UTName name)
 {
-super();
 this.name = name;
 }
 
@@ -50,7 +49,7 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 throw new InvalidRequestException("You need to be logged in a 
keyspace or use a fully qualified user type name");
 }
 
-protected abstract UserType makeUpdatedType(UserType toUpdate) throws 
InvalidRequestException;
+protected abstract UserType makeUpdatedType(UserType toUpdate, 
KeyspaceMetadata ksm) throws InvalidRequestException;
 
 public static AlterTypeStatement addition(UTName name, ColumnIdentifier 
fieldName, CQL3Type.Raw type)
 {
@@ -94,7 +93,7 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 ksm.types.get(name.getUserTypeName())
  .orElseThrow(() -> new 
InvalidRequestException(String.format("No user type named %s exists.", name)));
 
-UserType updated = makeUpdatedType(toUpdate);
+UserType updated = makeUpdatedType(toUpdate, ksm);
 
 // Now, we need to announce the type update to basically change it for 
new tables using this type,
 // but we also need to find all existing user types and CF using it 
and change them.
@@ -236,6 +235,15 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 return updatedTypes;
 }
 
+protected void checkTypeNotUsedByAggregate(KeyspaceMetadata ksm)
+{
+ksm.functions.udas().filter(aggregate -> aggregate.initialCondition() 
!= null && aggregate.stateType().referencesUserType(name.getStringTypeName()))
+ .findAny()
+ .ifPresent((aggregate) -> {
+ throw new 
InvalidRequestException(String.format("Cannot alter user type %s as it is still 
used as an INITCOND by aggregate %s", name, aggregate));
+ });
+}
+
 private static class AddOrAlter extends AlterTypeStatement
 {

cassandra git commit: Disallow drop/alter operations of UDTs used by UDAs

2016-02-17 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 931d2e5f3 -> 7a3c3abe1


Disallow drop/alter operations of UDTs used by UDAs

patch by Robert Stupp; reviewed by Benjamin Lerer for CASSANDRA-10721


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

Branch: refs/heads/cassandra-3.0
Commit: 7a3c3abe1d1a191f06f99f989c940a5f8ce52f5f
Parents: 931d2e5
Author: Robert Stupp 
Authored: Wed Feb 17 11:48:38 2016 +0100
Committer: Benjamin Lerer 
Committed: Wed Feb 17 11:53:38 2016 +0100

--
 CHANGES.txt |  1 +
 .../cql3/statements/AlterTypeStatement.java | 28 +---
 .../cql3/statements/DropTypeStatement.java  | 40 ++--
 .../db/marshal/AbstractCompositeType.java   |  6 ++
 .../cassandra/db/marshal/AbstractType.java  |  7 +-
 .../cassandra/db/marshal/CompositeType.java | 11 
 .../apache/cassandra/db/marshal/ListType.java   |  4 +-
 .../apache/cassandra/db/marshal/MapType.java|  5 +-
 .../cassandra/db/marshal/ReversedType.java  |  4 +-
 .../apache/cassandra/db/marshal/SetType.java|  4 +-
 .../apache/cassandra/db/marshal/TupleType.java  |  9 +--
 .../apache/cassandra/db/marshal/UserType.java   |  9 ++-
 .../cql3/validation/entities/UserTypesTest.java | 68 
 .../commitlog/CommitLogSegmentManagerTest.java  | 63 ++
 14 files changed, 182 insertions(+), 77 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a3c3abe/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 32c165b..f1a9719 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.4
+ * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
  * Add query time validation method on Index (CASSANDRA-11043)
  * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
  * Properly handle hinted handoff after topology changes (CASSANDRA-5902)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7a3c3abe/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
--
diff --git 
a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
index 068b996..8e51c26 100644
--- a/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/AlterTypeStatement.java
@@ -36,7 +36,6 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 
 protected AlterTypeStatement(UTName name)
 {
-super();
 this.name = name;
 }
 
@@ -50,7 +49,7 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 throw new InvalidRequestException("You need to be logged in a 
keyspace or use a fully qualified user type name");
 }
 
-protected abstract UserType makeUpdatedType(UserType toUpdate) throws 
InvalidRequestException;
+protected abstract UserType makeUpdatedType(UserType toUpdate, 
KeyspaceMetadata ksm) throws InvalidRequestException;
 
 public static AlterTypeStatement addition(UTName name, ColumnIdentifier 
fieldName, CQL3Type.Raw type)
 {
@@ -94,7 +93,7 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 ksm.types.get(name.getUserTypeName())
  .orElseThrow(() -> new 
InvalidRequestException(String.format("No user type named %s exists.", name)));
 
-UserType updated = makeUpdatedType(toUpdate);
+UserType updated = makeUpdatedType(toUpdate, ksm);
 
 // Now, we need to announce the type update to basically change it for 
new tables using this type,
 // but we also need to find all existing user types and CF using it 
and change them.
@@ -236,6 +235,15 @@ public abstract class AlterTypeStatement extends 
SchemaAlteringStatement
 return updatedTypes;
 }
 
+protected void checkTypeNotUsedByAggregate(KeyspaceMetadata ksm)
+{
+ksm.functions.udas().filter(aggregate -> aggregate.initialCondition() 
!= null && aggregate.stateType().referencesUserType(name.getStringTypeName()))
+ .findAny()
+ .ifPresent((aggregate) -> {
+ throw new 
InvalidRequestException(String.format("Cannot alter user type %s as it is still 
used as an INITCOND by aggregate %s", name, aggregate));
+ });
+}
+
 private static class AddOrAlter extends 

[16/16] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

2016-02-17 Thread slebresne
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 09fd433cb5b2455cba9ff1e9267e521119f26ecd
Parents: b53260d 931d2e5
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:31:53 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:31:53 2016 +0100

--

--




[11/16] cassandra git commit: Add missing CHANGES entry

2016-02-17 Thread slebresne
Add missing CHANGES entry


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

Branch: refs/heads/cassandra-3.0
Commit: f7c75857da50a73bfa63f206bdd3573c167b46c4
Parents: 6f5
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:31:31 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:31:31 2016 +0100

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7c75857/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 49bc581..5c912a1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -9,6 +9,7 @@
  * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
(CASSANDRA-10010)
 Merged from 2.1:
+ * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)



[04/16] cassandra git commit: Fix nodetool status logic to detect if their is more than 1 user keyspace

2016-02-17 Thread slebresne
Fix nodetool status logic to detect if their is more than 1 user keyspace

explanation

patch by krummas & slebresne; reviewed by krummas & slebresne for 
CASSANDRA-10176


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

Branch: refs/heads/trunk
Commit: f4b21f5ffa962de19901d1841f89f529ccc335b3
Parents: 393c6ec
Author: Sylvain Lebresne 
Authored: Wed Feb 3 21:04:17 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:23:54 2016 +0100

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/config/Schema.java | 22 ++--
 .../locator/AbstractReplicationStrategy.java|  5 +
 .../locator/NetworkTopologyStrategy.java|  6 ++
 .../cassandra/service/StorageService.java   | 22 
 5 files changed, 45 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9f51291..9a9c4f7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index fada670..739c8ca 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -28,12 +28,14 @@ import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.cassandra.auth.Auth;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.Keyspace;
 import org.apache.cassandra.db.index.SecondaryIndex;
 import org.apache.cassandra.db.index.SecondaryIndexManager;
 import org.apache.cassandra.io.sstable.Descriptor;
 import org.apache.cassandra.service.MigrationManager;
+import org.apache.cassandra.tracing.Tracing;
 import org.apache.cassandra.utils.ConcurrentBiMap;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.Pair;
@@ -67,6 +69,7 @@ public class Schema
 // 59adb24e-f3cd-3e02-97f0-5b395827453f
 public static final UUID emptyVersion;
 public static final ImmutableSet systemKeyspaceNames = 
ImmutableSet.of(Keyspace.SYSTEM_KS);
+public static final ImmutableSet replicatedSystemKeyspaceNames = 
ImmutableSet.of(Tracing.TRACE_KS, Auth.AUTH_KS);
 
 static
 {
@@ -288,12 +291,27 @@ public class Schema
 return keyspaces.get(keyspaceName);
 }
 
+private Set getNonSystemKeyspacesSet()
+{
+return Sets.difference(keyspaces.keySet(), systemKeyspaceNames);
+}
+
 /**
- * @return collection of the non-system keyspaces
+ * @return collection of the non-system keyspaces (note that this count as 
system only the
+ * non replicated keyspaces, so keyspace like system_traces which are 
replicated are actually
+ * returned. See getUserKeyspace() below if you don't want those)
  */
 public List getNonSystemKeyspaces()
 {
-return ImmutableList.copyOf(Sets.difference(keyspaces.keySet(), 
systemKeyspaceNames));
+return ImmutableList.copyOf(getNonSystemKeyspacesSet());
+}
+
+/**
+ * @return collection of the user defined keyspaces
+ */
+public List getUserKeyspaces()
+{
+return 
ImmutableList.copyOf(Sets.difference(getNonSystemKeyspacesSet(), 
replicatedSystemKeyspaceNames));
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--
diff --git 
a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java 
b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
index b6599f1..2178e17 100644
--- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
+++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
@@ -303,6 +303,11 @@ public abstract class AbstractReplicationStrategy
 return strategyClass;
 }
 
+public boolean 

[09/16] cassandra git commit: Merge commit '6f5dddd' into cassandra-3.0

2016-02-17 Thread slebresne
Merge commit '6f5' 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/ce39f81d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ce39f81d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ce39f81d

Branch: refs/heads/trunk
Commit: ce39f81d26489ba292447a18a66057980b0c3f53
Parents: 9cfbc31 6f5
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:25:53 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:27:27 2016 +0100

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/config/Schema.java | 28 ++--
 .../locator/AbstractReplicationStrategy.java|  5 
 .../locator/NetworkTopologyStrategy.java|  6 +
 .../cassandra/service/StorageService.java   | 22 ---
 5 files changed, 51 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce39f81d/CHANGES.txt
--
diff --cc CHANGES.txt
index 52fc3ab,49bc581..32c165b
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -22,6 -9,6 +22,7 @@@ Merged from 2.2
   * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 (CASSANDRA-10010)
  Merged from 2.1:
++ * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
   * Improve nodetool status performance for large cluster (CASSANDRA-7238)
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce39f81d/src/java/org/apache/cassandra/config/Schema.java
--
diff --cc src/java/org/apache/cassandra/config/Schema.java
index 7ffa89e,2cd7611..3fd9f11
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@@ -27,18 -27,21 +27,21 @@@ import com.google.common.collect.Sets
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
+ import org.apache.cassandra.auth.AuthKeyspace;
 -import org.apache.cassandra.cql3.functions.Functions;
 -import org.apache.cassandra.cql3.functions.UDAggregate;
 -import org.apache.cassandra.cql3.functions.UDFunction;
 -import org.apache.cassandra.db.*;
 +import org.apache.cassandra.cql3.functions.*;
 +import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.Keyspace;
 +import org.apache.cassandra.db.SystemKeyspace;
  import org.apache.cassandra.db.commitlog.CommitLog;
  import org.apache.cassandra.db.compaction.CompactionManager;
 +import org.apache.cassandra.db.marshal.AbstractType;
  import org.apache.cassandra.db.marshal.UserType;
 -import org.apache.cassandra.db.index.SecondaryIndex;
 +import org.apache.cassandra.index.Index;
  import org.apache.cassandra.io.sstable.Descriptor;
 -import org.apache.cassandra.schema.LegacySchemaTables;
+ import org.apache.cassandra.repair.SystemDistributedKeyspace;
 +import org.apache.cassandra.schema.*;
  import org.apache.cassandra.service.MigrationManager;
+ import org.apache.cassandra.tracing.TraceKeyspace;
  import org.apache.cassandra.utils.ConcurrentBiMap;
  import org.apache.cassandra.utils.Pair;
  import org.cliffc.high_scale_lib.NonBlockingHashMap;
@@@ -49,9 -52,6 +52,14 @@@ public class Schem
  
  public static final Schema instance = new Schema();
  
 +/* system keyspace names (the ones with LocalStrategy replication 
strategy) */
 +public static final Set SYSTEM_KEYSPACE_NAMES = 
ImmutableSet.of(SystemKeyspace.NAME, SchemaKeyspace.NAME);
 +
++/* replicate system keyspace names (the ones with a "true" replication 
strategy) */
++public static final Set REPLICATED_SYSTEM_KEYSPACE_NAMES = 
ImmutableSet.of(TraceKeyspace.NAME,
++  
 AuthKeyspace.NAME,
++  
 SystemDistributedKeyspace.NAME);
++
  /**
   * longest permissible KS or CF name.  Our main concern is that filename 
not be more than 255 characters;
   * the filename will contain both the KS and CF names. Since 
non-schema-name components only take up
@@@ -74,6 -74,10 +82,7 @@@
  // 59adb24e-f3cd-3e02-97f0-5b395827453f
  public static final UUID emptyVersion;
  
 -private static final ImmutableSet replicatedSystemKeyspaceNames = 
ImmutableSet.of(TraceKeyspace.NAME,
 -  
AuthKeyspace.NAME,
 -  

[02/16] cassandra git commit: Fix nodetool status logic to detect if their is more than 1 user keyspace

2016-02-17 Thread slebresne
Fix nodetool status logic to detect if their is more than 1 user keyspace

explanation

patch by krummas & slebresne; reviewed by krummas & slebresne for 
CASSANDRA-10176


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

Branch: refs/heads/cassandra-2.2
Commit: f4b21f5ffa962de19901d1841f89f529ccc335b3
Parents: 393c6ec
Author: Sylvain Lebresne 
Authored: Wed Feb 3 21:04:17 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:23:54 2016 +0100

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/config/Schema.java | 22 ++--
 .../locator/AbstractReplicationStrategy.java|  5 +
 .../locator/NetworkTopologyStrategy.java|  6 ++
 .../cassandra/service/StorageService.java   | 22 
 5 files changed, 45 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9f51291..9a9c4f7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index fada670..739c8ca 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -28,12 +28,14 @@ import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.cassandra.auth.Auth;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.Keyspace;
 import org.apache.cassandra.db.index.SecondaryIndex;
 import org.apache.cassandra.db.index.SecondaryIndexManager;
 import org.apache.cassandra.io.sstable.Descriptor;
 import org.apache.cassandra.service.MigrationManager;
+import org.apache.cassandra.tracing.Tracing;
 import org.apache.cassandra.utils.ConcurrentBiMap;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.Pair;
@@ -67,6 +69,7 @@ public class Schema
 // 59adb24e-f3cd-3e02-97f0-5b395827453f
 public static final UUID emptyVersion;
 public static final ImmutableSet systemKeyspaceNames = 
ImmutableSet.of(Keyspace.SYSTEM_KS);
+public static final ImmutableSet replicatedSystemKeyspaceNames = 
ImmutableSet.of(Tracing.TRACE_KS, Auth.AUTH_KS);
 
 static
 {
@@ -288,12 +291,27 @@ public class Schema
 return keyspaces.get(keyspaceName);
 }
 
+private Set getNonSystemKeyspacesSet()
+{
+return Sets.difference(keyspaces.keySet(), systemKeyspaceNames);
+}
+
 /**
- * @return collection of the non-system keyspaces
+ * @return collection of the non-system keyspaces (note that this count as 
system only the
+ * non replicated keyspaces, so keyspace like system_traces which are 
replicated are actually
+ * returned. See getUserKeyspace() below if you don't want those)
  */
 public List getNonSystemKeyspaces()
 {
-return ImmutableList.copyOf(Sets.difference(keyspaces.keySet(), 
systemKeyspaceNames));
+return ImmutableList.copyOf(getNonSystemKeyspacesSet());
+}
+
+/**
+ * @return collection of the user defined keyspaces
+ */
+public List getUserKeyspaces()
+{
+return 
ImmutableList.copyOf(Sets.difference(getNonSystemKeyspacesSet(), 
replicatedSystemKeyspaceNames));
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--
diff --git 
a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java 
b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
index b6599f1..2178e17 100644
--- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
+++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
@@ -303,6 +303,11 @@ public abstract class AbstractReplicationStrategy
 return strategyClass;
 }
 
+public boolean 

[13/16] cassandra git commit: Add missing CHANGES entry

2016-02-17 Thread slebresne
Add missing CHANGES entry


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

Branch: refs/heads/cassandra-2.2
Commit: f7c75857da50a73bfa63f206bdd3573c167b46c4
Parents: 6f5
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:31:31 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:31:31 2016 +0100

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7c75857/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 49bc581..5c912a1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -9,6 +9,7 @@
  * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
(CASSANDRA-10010)
 Merged from 2.1:
+ * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)
  * Gossiper#isEnabled is not thread safe (CASSANDRA-6)



[jira] [Commented] (CASSANDRA-11053) COPY FROM on large datasets: fix progress report and debug performance

2016-02-17 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-11053:
--

Here are the latest results:

||MODULE CYTHONIZED||PREPARED STATEMENTS||NUM. WORKER PROCESSES||CHUNK 
SIZE||AVERAGE ROWS / SEC||TOTAL TIME||
|DRIVER|YES|7|5,000|97,146|3' 31"|
|DRIVER|YES|8|5,000|103,037|3' 19"|
|DRIVER|YES|9|5,000|104,070|3' 17"|
|DRIVER|YES|10|5,000|*104,498*|3' 16"|
|DRIVER COPYUTIL|YES|7|5,000|89,123|3' 48"|
|DRIVER COPYUTIL|YES|8|5,000|107,897|3' 10"|
|DRIVER COPYUTIL|YES|9|5,000|*109,871*|3' 7"|
|DRIVER COPYUTIL|YES|10|5,000|109,616|3' 8"|

In addition to using separate pipes as mentioned above, I've found one more 
optimization and I've calibrated how much data the parent process sends to the 
worker processes. Two default parameters have changed: the max ingest rate is 
now 150k and the report frequency has changed from 4 times per second to 2. 
I've run cqlsh with {{SCHED_BATCH}} CPU scheduling ({{schedtool -B -e 
./bin/cqlsh}}) (it helps a little bit, maybe 2-3k rows/second) and I've changed 
the clock source from {{xen}} to {{tlc}} (unsure if this helps but it doesn't 
hurt).

I would like to repeat the tests on an AWS instance with twice the number of 
cores, to see how much we can scale. I've already verified that if we half the 
number of cores (by fixing the affinity to only 4 cores) then the throughput 
also halves. I'm thinking of testing on C4.4xlarge. So far I've used R3.2xlarge 
but we don't need all that memory and so I would like to try a C4 instance 
instead. 

> COPY FROM on large datasets: fix progress report and debug performance
> --
>
> Key: CASSANDRA-11053
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11053
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
> Attachments: copy_from_large_benchmark.txt, 
> copy_from_large_benchmark_2.txt, parent_profile.txt, parent_profile_2.txt, 
> worker_profiles.txt, worker_profiles_2.txt
>
>
> Running COPY from on a large dataset (20G divided in 20M records) revealed 
> two issues:
> * The progress report is incorrect, it is very slow until almost the end of 
> the test at which point it catches up extremely quickly.
> * The performance in rows per second is similar to running smaller tests with 
> a smaller cluster locally (approx 35,000 rows per second). As a comparison, 
> cassandra-stress manages 50,000 rows per second under the same set-up, 
> therefore resulting 1.5 times faster. 
> See attached file _copy_from_large_benchmark.txt_ for the benchmark details.



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


[03/16] cassandra git commit: Fix nodetool status logic to detect if their is more than 1 user keyspace

2016-02-17 Thread slebresne
Fix nodetool status logic to detect if their is more than 1 user keyspace

explanation

patch by krummas & slebresne; reviewed by krummas & slebresne for 
CASSANDRA-10176


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

Branch: refs/heads/cassandra-3.0
Commit: f4b21f5ffa962de19901d1841f89f529ccc335b3
Parents: 393c6ec
Author: Sylvain Lebresne 
Authored: Wed Feb 3 21:04:17 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:23:54 2016 +0100

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/config/Schema.java | 22 ++--
 .../locator/AbstractReplicationStrategy.java|  5 +
 .../locator/NetworkTopologyStrategy.java|  6 ++
 .../cassandra/service/StorageService.java   | 22 
 5 files changed, 45 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9f51291..9a9c4f7 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.14
+ * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
  * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
  * Improve nodetool status performance for large cluster (CASSANDRA-7238)
  * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/src/java/org/apache/cassandra/config/Schema.java
--
diff --git a/src/java/org/apache/cassandra/config/Schema.java 
b/src/java/org/apache/cassandra/config/Schema.java
index fada670..739c8ca 100644
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@ -28,12 +28,14 @@ import com.google.common.collect.Sets;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.cassandra.auth.Auth;
 import org.apache.cassandra.db.*;
 import org.apache.cassandra.db.Keyspace;
 import org.apache.cassandra.db.index.SecondaryIndex;
 import org.apache.cassandra.db.index.SecondaryIndexManager;
 import org.apache.cassandra.io.sstable.Descriptor;
 import org.apache.cassandra.service.MigrationManager;
+import org.apache.cassandra.tracing.Tracing;
 import org.apache.cassandra.utils.ConcurrentBiMap;
 import org.apache.cassandra.utils.ByteBufferUtil;
 import org.apache.cassandra.utils.Pair;
@@ -67,6 +69,7 @@ public class Schema
 // 59adb24e-f3cd-3e02-97f0-5b395827453f
 public static final UUID emptyVersion;
 public static final ImmutableSet systemKeyspaceNames = 
ImmutableSet.of(Keyspace.SYSTEM_KS);
+public static final ImmutableSet replicatedSystemKeyspaceNames = 
ImmutableSet.of(Tracing.TRACE_KS, Auth.AUTH_KS);
 
 static
 {
@@ -288,12 +291,27 @@ public class Schema
 return keyspaces.get(keyspaceName);
 }
 
+private Set getNonSystemKeyspacesSet()
+{
+return Sets.difference(keyspaces.keySet(), systemKeyspaceNames);
+}
+
 /**
- * @return collection of the non-system keyspaces
+ * @return collection of the non-system keyspaces (note that this count as 
system only the
+ * non replicated keyspaces, so keyspace like system_traces which are 
replicated are actually
+ * returned. See getUserKeyspace() below if you don't want those)
  */
 public List getNonSystemKeyspaces()
 {
-return ImmutableList.copyOf(Sets.difference(keyspaces.keySet(), 
systemKeyspaceNames));
+return ImmutableList.copyOf(getNonSystemKeyspacesSet());
+}
+
+/**
+ * @return collection of the user defined keyspaces
+ */
+public List getUserKeyspaces()
+{
+return 
ImmutableList.copyOf(Sets.difference(getNonSystemKeyspacesSet(), 
replicatedSystemKeyspaceNames));
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f4b21f5f/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--
diff --git 
a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java 
b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
index b6599f1..2178e17 100644
--- a/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
+++ b/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
@@ -303,6 +303,11 @@ public abstract class AbstractReplicationStrategy
 return strategyClass;
 }
 
+public boolean 

[07/16] cassandra git commit: Merge commit 'f4b21f5' into cassandra-2.2

2016-02-17 Thread slebresne
Merge commit 'f4b21f5' 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/6f59
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6f59
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6f59

Branch: refs/heads/cassandra-3.0
Commit: 6f5966fc16a20f2af8add74b70a9bb11b559
Parents: f3b5ff8 f4b21f5
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:25:04 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:25:31 2016 +0100

--
 .../org/apache/cassandra/config/Schema.java | 27 ++--
 .../locator/AbstractReplicationStrategy.java|  5 
 .../locator/NetworkTopologyStrategy.java|  6 +
 .../cassandra/service/StorageService.java   | 22 +---
 4 files changed, 49 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f59/src/java/org/apache/cassandra/config/Schema.java
--
diff --cc src/java/org/apache/cassandra/config/Schema.java
index 110029e,739c8ca..2cd7611
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@@ -26,19 -28,16 +27,22 @@@ import com.google.common.collect.Sets
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
 -import org.apache.cassandra.auth.Auth;
++import org.apache.cassandra.auth.AuthKeyspace;
 +import org.apache.cassandra.cql3.functions.Functions;
 +import org.apache.cassandra.cql3.functions.UDAggregate;
 +import org.apache.cassandra.cql3.functions.UDFunction;
  import org.apache.cassandra.db.*;
  import org.apache.cassandra.db.Keyspace;
 +import org.apache.cassandra.db.commitlog.CommitLog;
 +import org.apache.cassandra.db.compaction.CompactionManager;
 +import org.apache.cassandra.db.marshal.UserType;
  import org.apache.cassandra.db.index.SecondaryIndex;
 -import org.apache.cassandra.db.index.SecondaryIndexManager;
  import org.apache.cassandra.io.sstable.Descriptor;
 +import org.apache.cassandra.schema.LegacySchemaTables;
++import org.apache.cassandra.repair.SystemDistributedKeyspace;
  import org.apache.cassandra.service.MigrationManager;
 -import org.apache.cassandra.tracing.Tracing;
++import org.apache.cassandra.tracing.TraceKeyspace;
  import org.apache.cassandra.utils.ConcurrentBiMap;
 -import org.apache.cassandra.utils.ByteBufferUtil;
  import org.apache.cassandra.utils.Pair;
  import org.cliffc.high_scale_lib.NonBlockingHashMap;
  
@@@ -69,7 -68,9 +73,11 @@@ public class Schem
  
  // 59adb24e-f3cd-3e02-97f0-5b395827453f
  public static final UUID emptyVersion;
 -public static final ImmutableSet systemKeyspaceNames = 
ImmutableSet.of(Keyspace.SYSTEM_KS);
 -public static final ImmutableSet replicatedSystemKeyspaceNames = 
ImmutableSet.of(Tracing.TRACE_KS, Auth.AUTH_KS);
 +
++private static final ImmutableSet replicatedSystemKeyspaceNames = 
ImmutableSet.of(TraceKeyspace.NAME,
++  
AuthKeyspace.NAME,
++  
SystemDistributedKeyspace.NAME);
+ 
  static
  {
  try
@@@ -299,8 -291,15 +307,15 @@@
  return keyspaces.get(keyspaceName);
  }
  
+ private Set getNonSystemKeyspacesSet()
+ {
 -return Sets.difference(keyspaces.keySet(), systemKeyspaceNames);
++return Sets.difference(keyspaces.keySet(), 
Collections.singleton(SystemKeyspace.NAME));
+ }
+ 
  /**
-  * @return collection of the non-system keyspaces
+  * @return collection of the non-system keyspaces (note that this count 
as system only the
+  * non replicated keyspaces, so keyspace like system_traces which are 
replicated are actually
+  * returned. See getUserKeyspace() below if you don't want those)
   */
  public List getNonSystemKeyspaces()
  {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f59/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f59/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6f59/src/java/org/apache/cassandra/service/StorageService.java
--



[14/16] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

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


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

Branch: refs/heads/trunk
Commit: 931d2e5f3b8005e6bbb0593550399542386e849d
Parents: ce39f81 f7c7585
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:31:39 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:31:39 2016 +0100

--

--




[08/16] cassandra git commit: Merge commit '6f5dddd' into cassandra-3.0

2016-02-17 Thread slebresne
Merge commit '6f5' 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/ce39f81d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ce39f81d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ce39f81d

Branch: refs/heads/cassandra-3.0
Commit: ce39f81d26489ba292447a18a66057980b0c3f53
Parents: 9cfbc31 6f5
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:25:53 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:27:27 2016 +0100

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/config/Schema.java | 28 ++--
 .../locator/AbstractReplicationStrategy.java|  5 
 .../locator/NetworkTopologyStrategy.java|  6 +
 .../cassandra/service/StorageService.java   | 22 ---
 5 files changed, 51 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce39f81d/CHANGES.txt
--
diff --cc CHANGES.txt
index 52fc3ab,49bc581..32c165b
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -22,6 -9,6 +22,7 @@@ Merged from 2.2
   * Fix paging on DISTINCT queries repeats result when first row in partition 
changes
 (CASSANDRA-10010)
  Merged from 2.1:
++ * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
   * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
   * Improve nodetool status performance for large cluster (CASSANDRA-7238)
   * Gossiper#isEnabled is not thread safe (CASSANDRA-6)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ce39f81d/src/java/org/apache/cassandra/config/Schema.java
--
diff --cc src/java/org/apache/cassandra/config/Schema.java
index 7ffa89e,2cd7611..3fd9f11
--- a/src/java/org/apache/cassandra/config/Schema.java
+++ b/src/java/org/apache/cassandra/config/Schema.java
@@@ -27,18 -27,21 +27,21 @@@ import com.google.common.collect.Sets
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
+ import org.apache.cassandra.auth.AuthKeyspace;
 -import org.apache.cassandra.cql3.functions.Functions;
 -import org.apache.cassandra.cql3.functions.UDAggregate;
 -import org.apache.cassandra.cql3.functions.UDFunction;
 -import org.apache.cassandra.db.*;
 +import org.apache.cassandra.cql3.functions.*;
 +import org.apache.cassandra.db.ColumnFamilyStore;
  import org.apache.cassandra.db.Keyspace;
 +import org.apache.cassandra.db.SystemKeyspace;
  import org.apache.cassandra.db.commitlog.CommitLog;
  import org.apache.cassandra.db.compaction.CompactionManager;
 +import org.apache.cassandra.db.marshal.AbstractType;
  import org.apache.cassandra.db.marshal.UserType;
 -import org.apache.cassandra.db.index.SecondaryIndex;
 +import org.apache.cassandra.index.Index;
  import org.apache.cassandra.io.sstable.Descriptor;
 -import org.apache.cassandra.schema.LegacySchemaTables;
+ import org.apache.cassandra.repair.SystemDistributedKeyspace;
 +import org.apache.cassandra.schema.*;
  import org.apache.cassandra.service.MigrationManager;
+ import org.apache.cassandra.tracing.TraceKeyspace;
  import org.apache.cassandra.utils.ConcurrentBiMap;
  import org.apache.cassandra.utils.Pair;
  import org.cliffc.high_scale_lib.NonBlockingHashMap;
@@@ -49,9 -52,6 +52,14 @@@ public class Schem
  
  public static final Schema instance = new Schema();
  
 +/* system keyspace names (the ones with LocalStrategy replication 
strategy) */
 +public static final Set SYSTEM_KEYSPACE_NAMES = 
ImmutableSet.of(SystemKeyspace.NAME, SchemaKeyspace.NAME);
 +
++/* replicate system keyspace names (the ones with a "true" replication 
strategy) */
++public static final Set REPLICATED_SYSTEM_KEYSPACE_NAMES = 
ImmutableSet.of(TraceKeyspace.NAME,
++  
 AuthKeyspace.NAME,
++  
 SystemDistributedKeyspace.NAME);
++
  /**
   * longest permissible KS or CF name.  Our main concern is that filename 
not be more than 255 characters;
   * the filename will contain both the KS and CF names. Since 
non-schema-name components only take up
@@@ -74,6 -74,10 +82,7 @@@
  // 59adb24e-f3cd-3e02-97f0-5b395827453f
  public static final UUID emptyVersion;
  
 -private static final ImmutableSet replicatedSystemKeyspaceNames = 
ImmutableSet.of(TraceKeyspace.NAME,
 -  
AuthKeyspace.NAME,
 -  

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

2016-02-17 Thread slebresne
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: b53260d30691dbaf25098db6f3d2837ba1a0f9f9
Parents: 48815d4 ce39f81
Author: Sylvain Lebresne 
Authored: Wed Feb 17 11:30:58 2016 +0100
Committer: Sylvain Lebresne 
Committed: Wed Feb 17 11:30:58 2016 +0100

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/config/Schema.java | 28 ++--
 .../locator/AbstractReplicationStrategy.java|  5 
 .../locator/NetworkTopologyStrategy.java|  6 +
 .../cassandra/service/StorageService.java   | 22 ---
 5 files changed, 51 insertions(+), 11 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b53260d3/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
--
diff --cc src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
index f0342d4,7c8d95e..756b689
--- a/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
+++ b/src/java/org/apache/cassandra/locator/NetworkTopologyStrategy.java
@@@ -223,4 -192,16 +223,10 @@@ public class NetworkTopologyStrategy ex
  validateReplicationFactor(e.getValue());
  }
  }
+ 
 -public Collection recognizedOptions()
 -{
 -// We explicitely allow all options
 -return null;
 -}
 -
+ @Override
+ public boolean hasSameSettings(AbstractReplicationStrategy other)
+ {
+ return super.hasSameSettings(other) && ((NetworkTopologyStrategy) 
other).datacenters.equals(datacenters);
+ }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b53260d3/src/java/org/apache/cassandra/service/StorageService.java
--



  1   2   >