[jira] [Updated] (CASSANDRA-10888) Tombstone error warning does not log partition key
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-10508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-10508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-10855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-10371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-11124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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
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
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
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
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 TZ\n\n" % (os.environ['TZ'])) +except ImportError:
[1/6] cassandra git commit: cqlsh: Add local timezone support to cqlsh
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: +timezone = pytz.timezone(os.environ['TZ'
[6/6] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
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
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 value TZ\n\n" % (os.environ['TZ'])) +except Impo
[4/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0
Merge branch 'cassandra-2.2' into cassandra-3.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/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
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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-11179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
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
[ https://issues.apache.org/jira/browse/CASSANDRA-11179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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
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
[ https://issues.apache.org/jira/browse/CASSANDRA-11178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-11178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-11178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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] [Created] (CASSANDRA-11178) TrackerTest is failing on trunk after CASSANDRA-11159
Yuki Morishita created CASSANDRA-11178: -- Summary: 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
[ https://issues.apache.org/jira/browse/CASSANDRA-11169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-11169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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
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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-11177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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 > Compo
[jira] [Commented] (CASSANDRA-10389) Repair session exception Validation failed
[ https://issues.apache.org/jira/browse/CASSANDRA-10389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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 > (org.apache.cassandra.utils.co
[jira] [Assigned] (CASSANDRA-10888) Tombstone error warning does not log partition key
[ 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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-11151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-10991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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 Connect
[jira] [Updated] (CASSANDRA-11177) CQLSH causes slowdown when creating table using multiline statement
[ 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
[ 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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-11124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
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
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 is non-zero, then this must be # al
[jira] [Created] (CASSANDRA-11176) SSTableRewriter.InvalidateKeys should have a weak reference to cache
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 ja
[05/10] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2
Merge branch 'cassandra-2.1' into cassandra-2.2 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/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
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
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
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
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
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
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
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
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
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
[ https://issues.apache.org/jira/browse/CASSANDRA-10855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
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
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
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
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
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
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
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
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
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
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
[ https://issues.apache.org/jira/browse/CASSANDRA-10956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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 '; '
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 '; '
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
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
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 '; '
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
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
[ 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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-11175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-11175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-11175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-8343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
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
[ 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
[ https://issues.apache.org/jira/browse/CASSANDRA-10721?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ https://issues.apache.org/jira/browse/CASSANDRA-11089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
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
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 { private final boolean isAd
cassandra git commit: Disallow drop/alter operations of UDTs used by UDAs
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 AlterTypeStatement { private fi
[16/16] cassandra git commit: Merge branch 'cassandra-3.0' into trunk
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
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
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 hasSameSettings(AbstractReplicationStrategy other) +
[09/16] cassandra git commit: Merge commit '6f5dddd' into cassandra-3.0
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, - SystemDistributedKeyspace.NAME); + static { t
[02/16] cassandra git commit: Fix nodetool status logic to detect if their is more than 1 user keyspace
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 hasSameSettings(AbstractReplicationStrategy o
[13/16] cassandra git commit: Add missing CHANGES entry
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
[ https://issues.apache.org/jira/browse/CASSANDRA-11053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
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 hasSameSettings(AbstractReplicationStrategy o
[07/16] cassandra git commit: Merge commit 'f4b21f5' into cassandra-2.2
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
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
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, - SystemDistributedKeyspace.NAME); + static {