[jira] [Commented] (CASSANDRA-5661) Discard pooled readers for cold data
[ https://issues.apache.org/jira/browse/CASSANDRA-5661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753423#comment-13753423 ] Ben Manes commented on CASSANDRA-5661: -- Sorry that I haven't had the time to work on this for a while. I've been playing with writing a queue using a combining arena, similar to how the stack has an elimination arena, and how to incorporate thread locals to reduce contention. That made me think about the flat combining technique, so after a little digging I uncovered a conversation I had with Chris Vest. At the time he was starting on an object pool, which he's released as Stormpot (http://chrisvest.github.io/stormpot). The implementation has some excellent ideas that are worth borrowing and mixing in. While it is not multi-way, he might be inclined to add that capability after playing with my prototype. > Discard pooled readers for cold data > > > Key: CASSANDRA-5661 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5661 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.1 >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich > Fix For: 2.0.1 > > Attachments: CASSANDRA-5661-global-multiway-cache.patch, > CASSANDRA-5661.patch, DominatorTree.png, Histogram.png > > > Reader pooling was introduced in CASSANDRA-4942 but pooled > RandomAccessReaders are never cleaned up until the SSTableReader is closed. > So memory use is "the worst case simultaneous RAR we had open for this file, > forever." > We should introduce a global limit on how much memory to use for RAR, and > evict old ones. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4851) CQL3: improve support for paginating over composites
[ https://issues.apache.org/jira/browse/CASSANDRA-4851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753447#comment-13753447 ] DOAN DuyHai commented on CASSANDRA-4851: Big +10 for this feature Right now I am preparing some slides for a talk and tutorial on Cassandra to convince people switching from Thrift to CQL3. However I am facing serious issue because of the limitation of CQL3 not being able to allow inequality on more than 1 clustered component at a time. My example is quite trivial {code:sql} CREATE TABLE comment_index_by_rating ( songId uuid, rating int, // rating is integer from 1 to 10 date uuid, // date of the comment comment text, //comment message itself userLogin text, //login of the user who posts the comment PRIMARY KEY (songId,rating,date) ) {code} I would like to paginate over comment so the first query would be {code:sql} SELECT * FROM comment_index_by_rating WHERE songId = ORDER BY rating DESC LIMIT 10; // fetch first 10 comments {code} The following queries would be: {code:sql} SELECT * FROM comment_index_by_rating WHERE songId = AND rating <= {rating_of_last_comment_of_previous_batch} AND date <= {date_of_last_comment_of_previous_batch} {code} Right now it is just IMPOSSIBLE to paginate like this, which is PITA. I know that there is already jira https://issues.apache.org/jira/browse/CASSANDRA-4415 which is a really good idea but the issue raised above is *beyond the scope of just paging data*. People are using more and more compound primary keys to model with Cassandra and they should be able to do slice queries with inequality from all compound components. There are lots of use cases where such usage is required For example indexing daily metrics {code:sql} CREATE TABLE daily_metrics ( day int, // day in MMDD format hour int, minute int, second int, metrics blob, PRIMARY KEY (day, hour, minute, second) ) {code} I should be able to grep all metrics from a range of date // select all metrics from 8:30am to 10am {code:sql} SELECT metrics FROM daily_metrics WHERE day = 20130828 AND hour >= 8 AND minute >= 30 and hour <= 10 {code} > CQL3: improve support for paginating over composites > > > Key: CASSANDRA-4851 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4851 > Project: Cassandra > Issue Type: Improvement >Reporter: Sylvain Lebresne >Priority: Minor > > Consider the following table: > {noformat} > CREATE TABLE test ( > k int, > c1 int, > c2 int, > PRIMARY KEY (k, c1, c2) > ) > {noformat} > with the following data: > {noformat} > k | c1 | c2 > > 0 | 0 | 0 > 0 | 0 | 1 > 0 | 1 | 0 > 0 | 1 | 1 > {noformat} > Currently, CQL3 allows to slice over either c1 or c2: > {noformat} > SELECT * FROM test WHERE k = 0 AND c1 > 0 AND c1 < 2 > SELECT * FROM test WHERE k = 0 AND c1 = 1 AND c2 > 0 AND c2 < 2 > {noformat} > but you cannot express a query that return the 3 last records. Indeed, for > that you would need to do a query like say: > {noformat} > SELECT * FROM test WHERE k = 0 AND ((c1 = 0 AND c2 > 0) OR c2 > 0) > {noformat} > but we don't support that. > This can make it hard to paginate over say all records for {{k = 0}} (I'm > saying "can" because if the value for c2 cannot be very large, an easy > workaround could be to paginate by entire value of c1, which you can do). > For the case where you only paginate to avoid OOMing on a query, > CASSANDRA-4415 will that and is probably the best solution. However, there > may be case where the pagination is say user (as in, the user of your > application) triggered. > I note that one solution would be to add the OR support at least in case like > the one above. That's definitively doable but on the other side, we won't be > able to support full-blown OR, so it may not be very natural that we support > seemingly random combination of OR and not others. > Another solution would be to allow the following syntax: > {noformat} > SELECT * FROM test WHERE k = 0 AND (c1, c2) > (0, 0) > {noformat} > which would literally mean that you want records where the values of c1 and > c2 taken as a tuple is lexicographically greater than the tuple (0, 0). This > is less SQL-like (though maybe some SQL store have that, it's a fairly thing > to have imo?), but would be much simpler to implement and probably to use too. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5881) Need "describe cluster;" functionality in nodetool or cqlsh
[ https://issues.apache.org/jira/browse/CASSANDRA-5881?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremiah Jordan updated CASSANDRA-5881: --- Fix Version/s: (was: 1.2.9) 1.2.10 > Need "describe cluster;" functionality in nodetool or cqlsh > --- > > Key: CASSANDRA-5881 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5881 > Project: Cassandra > Issue Type: New Feature > Components: Tools >Reporter: Jeremiah Jordan >Assignee: Lyuben Todorov > Fix For: 1.2.10 > > Attachments: 5881_draft.patch, 5881_only_schema_version.diff, > 5881.patch, 5881_v3.patch, 5881_with_partitioner_snitch.diff > > > In order to be able to completely get rid of cassandra-cli we still need > something like "describe cluster;" callable from nodetool or cqlsh. Describe > cluster is different from just querying the system tables in cqlsh in that it > actually contacts each node. Having a command which does that is useful. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5793) OPP seems completely unsupported
[ https://issues.apache.org/jira/browse/CASSANDRA-5793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremiah Jordan updated CASSANDRA-5793: --- Fix Version/s: (was: 1.2.10) 1.2.9 > OPP seems completely unsupported > > > Key: CASSANDRA-5793 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5793 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.5 > Environment: Cassandra on Ubuntu >Reporter: Vara Kumar >Assignee: Vara Kumar >Priority: Minor > Fix For: 1.2.9 > > > We were using 0.7.6 version. And upgraded to 1.2.5 today. We were using OPP > (OrderPreservingPartitioner). > OPP throws error when any node join the cluster. Cluster can not be brought > up due to this error. After digging little deep, We realized that "peers" > column family is defined with key as type "inet". Looks like many other > column families in system keyspace has same issue. > Exception trace: > java.lang.RuntimeException: The provided key was not UTF8 encoded. > at > org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:172) > at > org.apache.cassandra.dht.OrderPreservingPartitioner.decorateKey(OrderPreservingPartitioner.java:44) > at org.apache.cassandra.db.Table.apply(Table.java:379) > at org.apache.cassandra.db.Table.apply(Table.java:353) > at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:258) > at > org.apache.cassandra.cql3.statements.ModificationStatement.executeInternal(ModificationStatement.java:117) > at > org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:172) > at > org.apache.cassandra.db.SystemTable.updatePeerInfo(SystemTable.java:258) > at > org.apache.cassandra.service.StorageService.onChange(StorageService.java:1231) > at > org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1948) > at > org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:823) > at > org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:901) > at > org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:50) > Possibilities: > - Changing partitioner to BOP (or something else) fails while loading > schema_keyspaces. So, it does not look like an option. > - One possibility is that getToken of OPP can return hex value if it fails to > encode bytes to UTF-8 instead of throwing error. By this system tables seem > to be working fine with OPP. > - Or Completely remove OPP from code base & configuration files. Mark clearly > that OPP is no longer supported in upgrade instructions. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5793) OPP seems completely unsupported
[ https://issues.apache.org/jira/browse/CASSANDRA-5793?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremiah Jordan updated CASSANDRA-5793: --- Fix Version/s: (was: 1.2.9) 1.2.10 > OPP seems completely unsupported > > > Key: CASSANDRA-5793 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5793 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 1.2.5 > Environment: Cassandra on Ubuntu >Reporter: Vara Kumar >Assignee: Vara Kumar >Priority: Minor > Fix For: 1.2.10 > > > We were using 0.7.6 version. And upgraded to 1.2.5 today. We were using OPP > (OrderPreservingPartitioner). > OPP throws error when any node join the cluster. Cluster can not be brought > up due to this error. After digging little deep, We realized that "peers" > column family is defined with key as type "inet". Looks like many other > column families in system keyspace has same issue. > Exception trace: > java.lang.RuntimeException: The provided key was not UTF8 encoded. > at > org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:172) > at > org.apache.cassandra.dht.OrderPreservingPartitioner.decorateKey(OrderPreservingPartitioner.java:44) > at org.apache.cassandra.db.Table.apply(Table.java:379) > at org.apache.cassandra.db.Table.apply(Table.java:353) > at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:258) > at > org.apache.cassandra.cql3.statements.ModificationStatement.executeInternal(ModificationStatement.java:117) > at > org.apache.cassandra.cql3.QueryProcessor.processInternal(QueryProcessor.java:172) > at > org.apache.cassandra.db.SystemTable.updatePeerInfo(SystemTable.java:258) > at > org.apache.cassandra.service.StorageService.onChange(StorageService.java:1231) > at > org.apache.cassandra.service.StorageService.onJoin(StorageService.java:1948) > at > org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:823) > at > org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:901) > at > org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:50) > Possibilities: > - Changing partitioner to BOP (or something else) fails while loading > schema_keyspaces. So, it does not look like an option. > - One possibility is that getToken of OPP can return hex value if it fails to > encode bytes to UTF-8 instead of throwing error. By this system tables seem > to be working fine with OPP. > - Or Completely remove OPP from code base & configuration files. Mark clearly > that OPP is no longer supported in upgrade instructions. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5939) Cache Providers calculate very different row sizes
[ https://issues.apache.org/jira/browse/CASSANDRA-5939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753627#comment-13753627 ] Chris Burroughs commented on CASSANDRA-5939: Ignoring anything I know about the code I would expect as a user if I told cassandra to use 2 gigabytes of cache it would use about two gigabytes, either all on heap or mixed heap/native depending on which provider was chosen. I would also expect that the completely on-heap one would be able to keep somewhat fewer entires, but that both providers would be consistent in their calculations. This the first example ConcurrentLinkedHashCacheProvider says each row+overhead is 2147398344./23217 = 92492 bytes while SerializingCacheProvider says 18417254./221709 = 83 bytes. While java has overhead, it's not 1000x. I don't have a jconsole screenshot but I'm pretty sure that *total* heap was < 2 GB while ConcurrentLinkedHashCacheProvider was saying it was full. Even if ConcurrentLinkedHashCacheProvider needed 1000x the memory, it should consistently do so while I was seeing one node have 10k entries, while another had over 400k. > Cache Providers calculate very different row sizes > -- > > Key: CASSANDRA-5939 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5939 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: 1.2.8 >Reporter: Chris Burroughs >Assignee: Vijay > > Took the same production node and bounced it 4 times comparing version and > cache provider. ConcurrentLinkedHashCacheProvider and > SerializingCacheProvider produce very different results resulting in an order > of magnitude difference in rows cached. In all cases the row cache size was > 2048 MB. Hit rate is provided for color, but entries & size are the > important part. > 1.2.8 ConcurrentLinkedHashCacheProvider: > * entries: 23,217 > * hit rate: 43% > * size: 2,147,398,344 > 1.2.8 about 20 minutes of SerializingCacheProvider: > * entries: 221,709 > * hit rate: 68% > * size: 18,417254 > 1.2.5 ConcurrentLinkedHashCacheProvider: > * entries: 25,967 > * hit rate: ~ 50% > * size: 2,147,421,704 > 1.2.5 about 20 minutes of SerializingCacheProvider: > * entries: 228,457 > * hit rate: ~ 70% > * size: 19,070,315 > A related(?) problem is that the ConcurrentLinkedHashCacheProvider sizes seem > to be highly variable. Digging up the values for 5 different nodes in the > cluster using ConcurrentLinkedHashCacheProvider shows a wide variance in > number of entries: > * 12k > * 444k > * 10k > * 25k > * 25k -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5433) Nodetool - Human Readable
[ https://issues.apache.org/jira/browse/CASSANDRA-5433?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Greg DeAngelis updated CASSANDRA-5433: -- Assignee: Greg DeAngelis > Nodetool - Human Readable > - > > Key: CASSANDRA-5433 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5433 > Project: Cassandra > Issue Type: Improvement >Reporter: Brooke Bryan >Assignee: Greg DeAngelis >Priority: Trivial > Attachments: humanreadablecompactionstats.patch > > > Would be great to have a human readable option in nodetool to easily look > stats without having to convert bytes to MB/GB etc in your head :) > We have several internal scripts we use to parse the output to a more > readable output, and would be useful for it to be part of nodetool itself. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[6/6] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.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/c146f437 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c146f437 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c146f437 Branch: refs/heads/trunk Commit: c146f437b51d276efe040e73fd78c89c06bf1ce8 Parents: 48ea937 9495eb5 Author: Yuki Morishita Authored: Thu Aug 29 10:18:45 2013 -0500 Committer: Yuki Morishita Committed: Thu Aug 29 10:18:45 2013 -0500 -- CHANGES.txt | 1 + .../cassandra/streaming/StreamSession.java | 5 +- .../streaming/StreamingTransferTest.java| 119 --- 3 files changed, 79 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c146f437/CHANGES.txt --
[2/6] git commit: Fix streaming does not transfer wrapped range
Fix streaming does not transfer wrapped range patch by Sergio Bossa; reviewed by yukim for CASSANDRA-5948 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/18be7fa8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/18be7fa8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/18be7fa8 Branch: refs/heads/cassandra-2.0 Commit: 18be7fa8760c578a9d42f7512e7767992025ac18 Parents: 254d315 Author: Sergio Bossa Authored: Wed Aug 28 14:43:04 2013 -0500 Committer: Yuki Morishita Committed: Thu Aug 29 10:16:57 2013 -0500 -- CHANGES.txt | 1 + .../apache/cassandra/streaming/StreamOut.java | 9 +- .../streaming/StreamingTransferTest.java| 181 +++ 3 files changed, 112 insertions(+), 79 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 9ef0651..5cb1522 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Fix CqlRecordWriter with composite keys (CASSANDRA-5949) * Allow disabling SlabAllocator (CASSANDRA-5935) * Make user-defined compaction JMX blocking (CASSANDRA-4952) + * Fix streaming does not transfer wrapped range (CASSANDRA-5948) 1.2.9 http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/src/java/org/apache/cassandra/streaming/StreamOut.java -- diff --git a/src/java/org/apache/cassandra/streaming/StreamOut.java b/src/java/org/apache/cassandra/streaming/StreamOut.java index 5a5ab9a..7035ec7 100644 --- a/src/java/org/apache/cassandra/streaming/StreamOut.java +++ b/src/java/org/apache/cassandra/streaming/StreamOut.java @@ -126,8 +126,11 @@ public class StreamOut boolean flushTables) { assert ranges.size() > 0; + +List> normalizedRanges = Range.normalize(ranges); + logger.info("Beginning transfer to {}", session.getHost()); -logger.debug("Ranges are {}", StringUtils.join(ranges, ",")); +logger.debug("Ranges are {}", StringUtils.join(normalizedRanges, ",")); if (flushTables) flushSSTables(cfses); @@ -136,13 +139,13 @@ public class StreamOut for (ColumnFamilyStore cfStore : cfses) { List> rowBoundsList = Lists.newLinkedList(); -for (Range range : ranges) +for (Range range : normalizedRanges) rowBoundsList.add(range.toRowBounds()); ColumnFamilyStore.ViewFragment view = cfStore.markReferenced(rowBoundsList); sstables.addAll(view.sstables); } -transferSSTables(session, sstables, ranges, type); +transferSSTables(session, sstables, normalizedRanges, type); } /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java -- diff --git a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java index 2befe45..82c6b1c 100644 --- a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java +++ b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java @@ -1,23 +1,21 @@ -package org.apache.cassandra.streaming; - /* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -*http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless req
[5/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: src/java/org/apache/cassandra/streaming/StreamOut.java test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9495eb59 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9495eb59 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9495eb59 Branch: refs/heads/cassandra-2.0 Commit: 9495eb59c403cd97ba41e68e68903abb4f8ff113 Parents: 8d4b51d 18be7fa Author: Yuki Morishita Authored: Thu Aug 29 10:18:32 2013 -0500 Committer: Yuki Morishita Committed: Thu Aug 29 10:18:32 2013 -0500 -- CHANGES.txt | 1 + .../cassandra/streaming/StreamSession.java | 5 +- .../streaming/StreamingTransferTest.java| 119 --- 3 files changed, 79 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9495eb59/CHANGES.txt -- diff --cc CHANGES.txt index 5621436,5cb1522..8a1004f --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,61 -1,16 +1,62 @@@ -1.2.10 - * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881) +2.0.1 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614) + * Log Merkle tree stats (CASSANDRA-2698) + * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862) + * Improve offheap memcpy performance (CASSANDRA-5884) + * Use a range aware scanner for cleanup (CASSANDRA-2524) + * Cleanup doesn't need to inspect sstables that contain only local data + (CASSANDRA-5722) + * Add ability for CQL3 to list partition keys (CASSANDRA-4536) + * Improve native protocol serialization (CASSANDRA-5664) +Merged from 1.2: * Fix CqlRecordWriter with composite keys (CASSANDRA-5949) + * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881) * Allow disabling SlabAllocator (CASSANDRA-5935) * Make user-defined compaction JMX blocking (CASSANDRA-4952) + * Fix streaming does not transfer wrapped range (CASSANDRA-5948) -1.2.9 +2.0.0 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138) + * Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931) + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928) + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938) + * Add stream session progress to JMX (CASSANDRA-4757) + * Fix NPE during CAS operation (CASSANDRA-5925) +Merged from 1.2: * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900) - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases - (CASSANDRA-5800) - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831) + * Don't announce schema version until we've loaded the changes locally + (CASSANDRA-5904) + * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903) + * Properly handle parsing huge map and set literals (CASSANDRA-5893) + + +2.0.0-rc2 + * enable vnodes by default (CASSANDRA-5869) + * fix CAS contention timeout (CASSANDRA-5830) + * fix HsHa to respect max frame size (CASSANDRA-4573) + * Fix (some) 2i on composite components omissions (CASSANDRA-5851) + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880) +Merged from 1.2: + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855) + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868) + * cqlsh: add support for multiline comments (CASSANDRA-5798) + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns + (CASSANDRA-5856) + + +2.0.0-rc1 + * improve DecimalSerializer performance (CASSANDRA-5837) + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690) + * fix schema-related trigger issues (CASSANDRA-5774) + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138) + * Fix assertion error during repair (CASSANDRA-5801) + * Fix range tombstone bug (CASSANDRA-5805) + * DC-local CAS (CASSANDRA-5797) + * Add a native_protocol_version column to the system.local table (CASSANRDA-5819) + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822) + * Fix buffer underflow on socket close (CASSANDRA-5792) +Merged from 1.2: * fix bulk-loading compressed sstables (CASSANDRA-5820) * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter (CASSANDRA-5824) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9495eb59/src/java/org/apache/cassandra/streaming/StreamSession.java -- diff --cc src/java/org/apache/cassandra/streaming/StreamSessi
[4/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Conflicts: src/java/org/apache/cassandra/streaming/StreamOut.java test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9495eb59 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9495eb59 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9495eb59 Branch: refs/heads/trunk Commit: 9495eb59c403cd97ba41e68e68903abb4f8ff113 Parents: 8d4b51d 18be7fa Author: Yuki Morishita Authored: Thu Aug 29 10:18:32 2013 -0500 Committer: Yuki Morishita Committed: Thu Aug 29 10:18:32 2013 -0500 -- CHANGES.txt | 1 + .../cassandra/streaming/StreamSession.java | 5 +- .../streaming/StreamingTransferTest.java| 119 --- 3 files changed, 79 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9495eb59/CHANGES.txt -- diff --cc CHANGES.txt index 5621436,5cb1522..8a1004f --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,61 -1,16 +1,62 @@@ -1.2.10 - * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881) +2.0.1 + * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614) + * Log Merkle tree stats (CASSANDRA-2698) + * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862) + * Improve offheap memcpy performance (CASSANDRA-5884) + * Use a range aware scanner for cleanup (CASSANDRA-2524) + * Cleanup doesn't need to inspect sstables that contain only local data + (CASSANDRA-5722) + * Add ability for CQL3 to list partition keys (CASSANDRA-4536) + * Improve native protocol serialization (CASSANDRA-5664) +Merged from 1.2: * Fix CqlRecordWriter with composite keys (CASSANDRA-5949) + * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881) * Allow disabling SlabAllocator (CASSANDRA-5935) * Make user-defined compaction JMX blocking (CASSANDRA-4952) + * Fix streaming does not transfer wrapped range (CASSANDRA-5948) -1.2.9 +2.0.0 + * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138) + * Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931) + * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928) + * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938) + * Add stream session progress to JMX (CASSANDRA-4757) + * Fix NPE during CAS operation (CASSANDRA-5925) +Merged from 1.2: * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900) - * migrate 1.1 schema_columnfamilies.key_alias column to key_aliases - (CASSANDRA-5800) - * add --migrate option to sstableupgrade and sstablescrub (CASSANDRA-5831) + * Don't announce schema version until we've loaded the changes locally + (CASSANDRA-5904) + * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903) + * Properly handle parsing huge map and set literals (CASSANDRA-5893) + + +2.0.0-rc2 + * enable vnodes by default (CASSANDRA-5869) + * fix CAS contention timeout (CASSANDRA-5830) + * fix HsHa to respect max frame size (CASSANDRA-4573) + * Fix (some) 2i on composite components omissions (CASSANDRA-5851) + * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880) +Merged from 1.2: + * Correctly validate sparse composite cells in scrub (CASSANDRA-5855) + * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868) + * cqlsh: add support for multiline comments (CASSANDRA-5798) + * Handle CQL3 SELECT duplicate IN restrictions on clustering columns + (CASSANDRA-5856) + + +2.0.0-rc1 + * improve DecimalSerializer performance (CASSANDRA-5837) + * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690) + * fix schema-related trigger issues (CASSANDRA-5774) + * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138) + * Fix assertion error during repair (CASSANDRA-5801) + * Fix range tombstone bug (CASSANDRA-5805) + * DC-local CAS (CASSANDRA-5797) + * Add a native_protocol_version column to the system.local table (CASSANRDA-5819) + * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822) + * Fix buffer underflow on socket close (CASSANDRA-5792) +Merged from 1.2: * fix bulk-loading compressed sstables (CASSANDRA-5820) * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter (CASSANDRA-5824) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9495eb59/src/java/org/apache/cassandra/streaming/StreamSession.java -- diff --cc src/java/org/apache/cassandra/streaming/StreamSession.java
[3/6] git commit: Fix streaming does not transfer wrapped range
Fix streaming does not transfer wrapped range patch by Sergio Bossa; reviewed by yukim for CASSANDRA-5948 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/18be7fa8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/18be7fa8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/18be7fa8 Branch: refs/heads/trunk Commit: 18be7fa8760c578a9d42f7512e7767992025ac18 Parents: 254d315 Author: Sergio Bossa Authored: Wed Aug 28 14:43:04 2013 -0500 Committer: Yuki Morishita Committed: Thu Aug 29 10:16:57 2013 -0500 -- CHANGES.txt | 1 + .../apache/cassandra/streaming/StreamOut.java | 9 +- .../streaming/StreamingTransferTest.java| 181 +++ 3 files changed, 112 insertions(+), 79 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 9ef0651..5cb1522 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Fix CqlRecordWriter with composite keys (CASSANDRA-5949) * Allow disabling SlabAllocator (CASSANDRA-5935) * Make user-defined compaction JMX blocking (CASSANDRA-4952) + * Fix streaming does not transfer wrapped range (CASSANDRA-5948) 1.2.9 http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/src/java/org/apache/cassandra/streaming/StreamOut.java -- diff --git a/src/java/org/apache/cassandra/streaming/StreamOut.java b/src/java/org/apache/cassandra/streaming/StreamOut.java index 5a5ab9a..7035ec7 100644 --- a/src/java/org/apache/cassandra/streaming/StreamOut.java +++ b/src/java/org/apache/cassandra/streaming/StreamOut.java @@ -126,8 +126,11 @@ public class StreamOut boolean flushTables) { assert ranges.size() > 0; + +List> normalizedRanges = Range.normalize(ranges); + logger.info("Beginning transfer to {}", session.getHost()); -logger.debug("Ranges are {}", StringUtils.join(ranges, ",")); +logger.debug("Ranges are {}", StringUtils.join(normalizedRanges, ",")); if (flushTables) flushSSTables(cfses); @@ -136,13 +139,13 @@ public class StreamOut for (ColumnFamilyStore cfStore : cfses) { List> rowBoundsList = Lists.newLinkedList(); -for (Range range : ranges) +for (Range range : normalizedRanges) rowBoundsList.add(range.toRowBounds()); ColumnFamilyStore.ViewFragment view = cfStore.markReferenced(rowBoundsList); sstables.addAll(view.sstables); } -transferSSTables(session, sstables, ranges, type); +transferSSTables(session, sstables, normalizedRanges, type); } /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java -- diff --git a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java index 2befe45..82c6b1c 100644 --- a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java +++ b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java @@ -1,23 +1,21 @@ -package org.apache.cassandra.streaming; - /* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -*http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by
[1/6] git commit: Fix streaming does not transfer wrapped range
Updated Branches: refs/heads/cassandra-1.2 254d315d5 -> 18be7fa87 refs/heads/cassandra-2.0 8d4b51d5a -> 9495eb59c refs/heads/trunk 48ea937b8 -> c146f437b Fix streaming does not transfer wrapped range patch by Sergio Bossa; reviewed by yukim for CASSANDRA-5948 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/18be7fa8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/18be7fa8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/18be7fa8 Branch: refs/heads/cassandra-1.2 Commit: 18be7fa8760c578a9d42f7512e7767992025ac18 Parents: 254d315 Author: Sergio Bossa Authored: Wed Aug 28 14:43:04 2013 -0500 Committer: Yuki Morishita Committed: Thu Aug 29 10:16:57 2013 -0500 -- CHANGES.txt | 1 + .../apache/cassandra/streaming/StreamOut.java | 9 +- .../streaming/StreamingTransferTest.java| 181 +++ 3 files changed, 112 insertions(+), 79 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 9ef0651..5cb1522 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -3,6 +3,7 @@ * Fix CqlRecordWriter with composite keys (CASSANDRA-5949) * Allow disabling SlabAllocator (CASSANDRA-5935) * Make user-defined compaction JMX blocking (CASSANDRA-4952) + * Fix streaming does not transfer wrapped range (CASSANDRA-5948) 1.2.9 http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/src/java/org/apache/cassandra/streaming/StreamOut.java -- diff --git a/src/java/org/apache/cassandra/streaming/StreamOut.java b/src/java/org/apache/cassandra/streaming/StreamOut.java index 5a5ab9a..7035ec7 100644 --- a/src/java/org/apache/cassandra/streaming/StreamOut.java +++ b/src/java/org/apache/cassandra/streaming/StreamOut.java @@ -126,8 +126,11 @@ public class StreamOut boolean flushTables) { assert ranges.size() > 0; + +List> normalizedRanges = Range.normalize(ranges); + logger.info("Beginning transfer to {}", session.getHost()); -logger.debug("Ranges are {}", StringUtils.join(ranges, ",")); +logger.debug("Ranges are {}", StringUtils.join(normalizedRanges, ",")); if (flushTables) flushSSTables(cfses); @@ -136,13 +139,13 @@ public class StreamOut for (ColumnFamilyStore cfStore : cfses) { List> rowBoundsList = Lists.newLinkedList(); -for (Range range : ranges) +for (Range range : normalizedRanges) rowBoundsList.add(range.toRowBounds()); ColumnFamilyStore.ViewFragment view = cfStore.markReferenced(rowBoundsList); sstables.addAll(view.sstables); } -transferSSTables(session, sstables, ranges, type); +transferSSTables(session, sstables, normalizedRanges, type); } /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/18be7fa8/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java -- diff --git a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java index 2befe45..82c6b1c 100644 --- a/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java +++ b/test/unit/org/apache/cassandra/streaming/StreamingTransferTest.java @@ -1,23 +1,21 @@ -package org.apache.cassandra.streaming; - /* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -*http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this
[jira] [Commented] (CASSANDRA-5921) Don't return empty list when the L0 compaction candidates could cause overlap in L1
[ https://issues.apache.org/jira/browse/CASSANDRA-5921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753729#comment-13753729 ] Yuki Morishita commented on CASSANDRA-5921: --- +1 > Don't return empty list when the L0 compaction candidates could cause overlap > in L1 > --- > > Key: CASSANDRA-5921 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5921 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson >Priority: Minor > Attachments: > 0001-instead-of-doing-no-compaction-if-we-have-sstables-t.patch, > 0001-instead-of-doing-no-compaction-if-we-have-sstables-t.patch, 5921-v3.txt > > > Followup to CASSANDRA-5907 - instead of returning empty list when the > compaction candidates could cause overlap in L1, remove sstables that would > cause the overlap from the candidates. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5950) Make snapshot/sequential repair the default
Jonathan Ellis created CASSANDRA-5950: - Summary: Make snapshot/sequential repair the default Key: CASSANDRA-5950 URL: https://issues.apache.org/jira/browse/CASSANDRA-5950 Project: Cassandra Issue Type: Bug Components: Tools Reporter: Jonathan Ellis Assignee: Lyuben Todorov Priority: Minor Fix For: 2.0.1 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5858) Add a shuffle dtest
[ https://issues.apache.org/jira/browse/CASSANDRA-5858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753858#comment-13753858 ] Daniel Meyer commented on CASSANDRA-5858: - As a first step I will add shuffle to the upgrade_through_versions_test. In this test we are currently enabling vnodes when we upgrade to 1.2; however, we are not running shuffle afterwords. In addition to this I would like feedback concerning what kinds of tests are needed. Preliminary test plan includes: 1)Add large number of rows with cassandra-stress, run shuffle and ensure the data can be read back. 2)Run cassandra-stress followed by shuffle and ensure the 'owned %' for the nodes is within some acceptable error. 3)Adding/Removing nodes followed by a shuffle. Run cassandra-stress to ensure data is readable and measure balance with 'owned %' for each node. > Add a shuffle dtest > --- > > Key: CASSANDRA-5858 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5858 > Project: Cassandra > Issue Type: Task > Components: Tests >Reporter: Jonathan Ellis >Assignee: Daniel Meyer >Priority: Minor > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5905) Cassandra crashes on restart with "IndexOutOfBoundsException: index (2) must be less than size (2)"
[ https://issues.apache.org/jira/browse/CASSANDRA-5905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753866#comment-13753866 ] Tony Piazza commented on CASSANDRA-5905: I have the same issue running a 3-node cluster using CCM on Ubuntu 12.04. Everything was working well and when I attempted to restart the cluster all 3 nodes failed to start. The logs give no indication of trouble until you see that exception: IndexOutOfBoundsException: index (2) must be less than size (2). > Cassandra crashes on restart with "IndexOutOfBoundsException: index (2) must > be less than size (2)" > --- > > Key: CASSANDRA-5905 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5905 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Ubuntu 12.04 x64 > 3 nodes, 1GB each >Reporter: David Semeria > Fix For: 1.2.9 > > > All 3 nodes crash on restart with same error: > INFO 13:31:05,272 Finished reading > /var/lib/cassandra/commitlog/CommitLog-2-1376754824649.log > INFO 13:31:05,272 Replaying > /var/lib/cassandra/commitlog/CommitLog-2-1376754824650.log > INFO 13:31:08,267 Finished reading > /var/lib/cassandra/commitlog/CommitLog-2-1376754824650.log > java.lang.IndexOutOfBoundsException: index (2) must be less than size (2) > at > com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:305) > at > com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:284) > at > com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:81) > at > org.apache.cassandra.db.marshal.CompositeType.getComparator(CompositeType.java:94) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:76) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:31) > at java.util.TreeMap.compare(TreeMap.java:1188) > at java.util.TreeMap.put(TreeMap.java:531) > at > org.apache.cassandra.db.TreeMapBackedSortedColumns.addColumn(TreeMapBackedSortedColumns.java:102) > at > org.apache.cassandra.db.TreeMapBackedSortedColumns.addColumn(TreeMapBackedSortedColumns.java:88) > at > org.apache.cassandra.db.AbstractColumnContainer.addColumn(AbstractColumnContainer.java:114) > at > org.apache.cassandra.db.AbstractColumnContainer.addColumn(AbstractColumnContainer.java:109) > at > org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:101) > at > org.apache.cassandra.db.RowMutation$RowMutationSerializer.deserialize(RowMutation.java:376) > at > org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:203) > at > org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:98) > at > org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:146) > at > org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:126) > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:281) > at > org.apache.cassandra.service.CassandraDaemon.init(CassandraDaemon.java:358) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at > org.apache.commons.daemon.support.DaemonLoader.load(DaemonLoader.java:212) > Cannot load daemon > Service exit with a return value of 3 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[3/3] git commit: merge from 2.0
merge from 2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73e27b07 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73e27b07 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73e27b07 Branch: refs/heads/trunk Commit: 73e27b07f588b0ace8255090d3840903893a7435 Parents: c146f43 c1e0f31 Author: Jonathan Ellis Authored: Thu Aug 29 12:52:58 2013 -0500 Committer: Jonathan Ellis Committed: Thu Aug 29 12:52:58 2013 -0500 -- CHANGES.txt | 2 ++ .../db/compaction/LeveledManifest.java | 20 +++- 2 files changed, 13 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/73e27b07/CHANGES.txt -- diff --cc CHANGES.txt index fdfcc0a,2d3ee24..7d7feaf --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,6 +1,10 @@@ +2.1 + * change logging from log4j to logback (CASSANDRA-5883) + + 2.0.1 + * Improve leveled compaction's ability to find non-overlapping L0 compactions +to work on concurrently (CASSANDRA-5921) * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614) * Log Merkle tree stats (CASSANDRA-2698) * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862) http://git-wip-us.apache.org/repos/asf/cassandra/blob/73e27b07/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java --
[1/3] git commit: Improve leveled compaction's ability to find non-overlapping L0 compactions to work on concurrently patch by marcuse and jbellis; reviewed by yukim for CASSANDRA-5921
Updated Branches: refs/heads/cassandra-2.0 9495eb59c -> c1e0f3102 refs/heads/trunk c146f437b -> 73e27b07f Improve leveled compaction's ability to find non-overlapping L0 compactions to work on concurrently patch by marcuse and jbellis; reviewed by yukim for CASSANDRA-5921 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c1e0f310 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c1e0f310 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c1e0f310 Branch: refs/heads/cassandra-2.0 Commit: c1e0f3102ebd5670927ce89420681971b8325379 Parents: 9495eb5 Author: Jonathan Ellis Authored: Thu Aug 29 12:51:58 2013 -0500 Committer: Jonathan Ellis Committed: Thu Aug 29 12:51:58 2013 -0500 -- CHANGES.txt | 2 ++ .../db/compaction/LeveledManifest.java | 20 +++- 2 files changed, 13 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1e0f310/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 8a1004f..2d3ee24 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 2.0.1 + * Improve leveled compaction's ability to find non-overlapping L0 compactions + to work on concurrently (CASSANDRA-5921) * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614) * Log Merkle tree stats (CASSANDRA-2698) * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1e0f310/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 597b851..bc6824a 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -25,6 +25,7 @@ import java.util.*; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Predicate; import com.google.common.base.Predicates; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSortedSet; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; @@ -412,6 +413,8 @@ public class LeveledManifest if (level == 0) { +Set compactingL0 = ImmutableSet.copyOf(Iterables.filter(generations[0], Predicates.in(compacting))); + // L0 is the dumping ground for new sstables which thus may overlap each other. // // We treat L0 compactions specially: @@ -433,13 +436,14 @@ public class LeveledManifest if (candidates.contains(sstable)) continue; -for (SSTableReader newCandidate : Sets.union(Collections.singleton(sstable), overlapping(sstable, remaining))) +Sets.SetView overlappedL0 = Sets.union(Collections.singleton(sstable), overlapping(sstable, remaining)); +if (!Sets.intersection(overlappedL0, compactingL0).isEmpty()) +continue; + +for (SSTableReader newCandidate : overlappedL0) { -if (!compacting.contains(newCandidate)) -{ -candidates.add(newCandidate); -remaining.remove(newCandidate); -} +candidates.add(newCandidate); +remaining.remove(newCandidate); } if (candidates.size() > MAX_COMPACTING_L0) @@ -458,9 +462,7 @@ public class LeveledManifest // TODO try to find a set of L0 sstables that only overlaps with non-busy L1 sstables candidates = Sets.union(candidates, overlapping(candidates, generations[1])); } -// check overlap with L0 compacting sstables to make sure we are not generating overlap in L1. -Iterable compactingL0 = Iterables.filter(generations[0], Predicates.in(compacting)); -if (candidates.size() < 2 || !Sets.intersection(candidates, compacting).isEmpty() || !overlapping(candidates, compactingL0).isEmpty()) +if (candidates.size() < 2) return Collections.emptyList(); else return candidates;
[2/3] git commit: Improve leveled compaction's ability to find non-overlapping L0 compactions to work on concurrently patch by marcuse and jbellis; reviewed by yukim for CASSANDRA-5921
Improve leveled compaction's ability to find non-overlapping L0 compactions to work on concurrently patch by marcuse and jbellis; reviewed by yukim for CASSANDRA-5921 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c1e0f310 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c1e0f310 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c1e0f310 Branch: refs/heads/trunk Commit: c1e0f3102ebd5670927ce89420681971b8325379 Parents: 9495eb5 Author: Jonathan Ellis Authored: Thu Aug 29 12:51:58 2013 -0500 Committer: Jonathan Ellis Committed: Thu Aug 29 12:51:58 2013 -0500 -- CHANGES.txt | 2 ++ .../db/compaction/LeveledManifest.java | 20 +++- 2 files changed, 13 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1e0f310/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 8a1004f..2d3ee24 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 2.0.1 + * Improve leveled compaction's ability to find non-overlapping L0 compactions + to work on concurrently (CASSANDRA-5921) * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614) * Log Merkle tree stats (CASSANDRA-2698) * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1e0f310/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java -- diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java index 597b851..bc6824a 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -25,6 +25,7 @@ import java.util.*; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Predicate; import com.google.common.base.Predicates; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSortedSet; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; @@ -412,6 +413,8 @@ public class LeveledManifest if (level == 0) { +Set compactingL0 = ImmutableSet.copyOf(Iterables.filter(generations[0], Predicates.in(compacting))); + // L0 is the dumping ground for new sstables which thus may overlap each other. // // We treat L0 compactions specially: @@ -433,13 +436,14 @@ public class LeveledManifest if (candidates.contains(sstable)) continue; -for (SSTableReader newCandidate : Sets.union(Collections.singleton(sstable), overlapping(sstable, remaining))) +Sets.SetView overlappedL0 = Sets.union(Collections.singleton(sstable), overlapping(sstable, remaining)); +if (!Sets.intersection(overlappedL0, compactingL0).isEmpty()) +continue; + +for (SSTableReader newCandidate : overlappedL0) { -if (!compacting.contains(newCandidate)) -{ -candidates.add(newCandidate); -remaining.remove(newCandidate); -} +candidates.add(newCandidate); +remaining.remove(newCandidate); } if (candidates.size() > MAX_COMPACTING_L0) @@ -458,9 +462,7 @@ public class LeveledManifest // TODO try to find a set of L0 sstables that only overlaps with non-busy L1 sstables candidates = Sets.union(candidates, overlapping(candidates, generations[1])); } -// check overlap with L0 compacting sstables to make sure we are not generating overlap in L1. -Iterable compactingL0 = Iterables.filter(generations[0], Predicates.in(compacting)); -if (candidates.size() < 2 || !Sets.intersection(candidates, compacting).isEmpty() || !overlapping(candidates, compactingL0).isEmpty()) +if (candidates.size() < 2) return Collections.emptyList(); else return candidates;
[jira] [Updated] (CASSANDRA-5936) Improve the way we pick L0 compaction candidates
[ https://issues.apache.org/jira/browse/CASSANDRA-5936?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-5936: -- Component/s: Core Fix Version/s: 2.1 > Improve the way we pick L0 compaction candidates > > > Key: CASSANDRA-5936 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5936 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson > Fix For: 2.1 > > > We could improve the way we pick compaction candidates in level 0 in LCS. > The most common way for us to get behind on compaction is after repairs, we > should exploit the fact that the streamed sstables are most often very narrow > in range since the other nodes in the ring will have a similar > sstable-range-distribution. We should in theory be able to do 10 concurrent > compactions involving L1 - ie, partition L0 in buckets defined by the > sstables in L1 to only keep one L1 SSTable busy for every compaction (be it > L1 to L2 or L0 to L1). > we will need some heuristics on when to select candidates from the buckets > and when to do it the old way (since L0 sstables can span several L1 sstables) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5921) Don't return empty list when the L0 compaction candidates could cause overlap in L1
[ https://issues.apache.org/jira/browse/CASSANDRA-5921?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753870#comment-13753870 ] Jonathan Ellis commented on CASSANDRA-5921: --- committed to 2.0 and trunk > Don't return empty list when the L0 compaction candidates could cause overlap > in L1 > --- > > Key: CASSANDRA-5921 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5921 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson >Assignee: Marcus Eriksson >Priority: Minor > Fix For: 2.0.1 > > Attachments: > 0001-instead-of-doing-no-compaction-if-we-have-sstables-t.patch, > 0001-instead-of-doing-no-compaction-if-we-have-sstables-t.patch, 5921-v3.txt > > > Followup to CASSANDRA-5907 - instead of returning empty list when the > compaction candidates could cause overlap in L1, remove sstables that would > cause the overlap from the candidates. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5926) The native protocol server can deadlock
[ https://issues.apache.org/jira/browse/CASSANDRA-5926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753874#comment-13753874 ] Sylvain Lebresne commented on CASSANDRA-5926: - Yep, pretty sure that's what you've run into. We'll have to update your netty dependency. > The native protocol server can deadlock > --- > > Key: CASSANDRA-5926 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5926 > Project: Cassandra > Issue Type: Bug >Reporter: Sylvain Lebresne >Assignee: Sylvain Lebresne > Fix For: 1.2.9 > > Attachments: 5926.txt, stack > > > Until CASSANDRA-5239 (i.e. since StorageProxy is blocking), the native > protocol server needs to use a thread per request being processed. For that, > it currently use a DebuggableThreadPoolExecutor, but with a limited queue. > The rational being that we don't want to OOM if a client overwhelm the > server. Rather, we prefer blocking (which DTPE gives us) on the submission of > new request by the netty worker threads when all threads are busy. > However, as it happens, when netty sends back a response to a query, there is > cases where some events (technically, InterestChanged and WriteComplete > events) are send up the pipeline. And those event are submitted on the > request executor as other requests. Long story short, a request thread can > end blocking on the submission to its own executor, hence deadlocking. > The simplest solution is probably to reuse MemoryAwareThreadPoolExecutor from > netty rather that our own DTPE as it also allow to block task submission when > all threads are busy but knows not to block it's own internal events. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5951) Upgrade to JNA 4
Jonathan Ellis created CASSANDRA-5951: - Summary: Upgrade to JNA 4 Key: CASSANDRA-5951 URL: https://issues.apache.org/jira/browse/CASSANDRA-5951 Project: Cassandra Issue Type: Bug Components: Core, Packaging Reporter: Jonathan Ellis Assignee: Brandon Williams Priority: Minor Fix For: 2.1 JNA 4 is dual-licensed under APL, so we can ship it out of the box. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-4430) optional pluggable o.a.c.metrics reporters
[ https://issues.apache.org/jira/browse/CASSANDRA-4430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-4430: -- Reviewer: nickmbailey (was: thobbs) > optional pluggable o.a.c.metrics reporters > -- > > Key: CASSANDRA-4430 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4430 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Chris Burroughs >Assignee: Chris Burroughs >Priority: Minor > Fix For: 2.1 > > Attachments: cassandra-ganglia-example.png > > > CASSANDRA-4009 expanded the use of the metrics library which has a set of > reporter modules http://metrics.codahale.com/manual/core/#reporters You can > report to flat files, ganglia, spit everything over http, etc. The next step > is a mechanism for using those reporters with o.a.c.metrics. To avoid > bundling everything I suggest following the mx4j approach of "enable only if > on classpath coupled with a reporter configuration file. > Strawman file: > {noformat} > console: > time: 1 > timeunit: "seconds" > csv: > - time: 1 >timeunit: minutes >file: foo.csv > - time: 10 >timeunit: seconds > file: bar.csv > ganglia: > - time: 30 >timunit: seconds >host: server-1 >port: 8649 > - time: 30 >timunit: seconds >host: server-2 >port: 8649 > {noformat} > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[Cassandra Wiki] Update of "Streaming2" by yukim
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification. The "Streaming2" page has been changed by yukim: https://wiki.apache.org/cassandra/Streaming2 Comment: initial commit New page: (This page is still under construction) = Streaming 2.0 = Streaming protocol is re-designed from ground up in Apache Cassandra 2.0. Here is the overview of the protocol design and implementation. == Design goal == * Better control * One API for all (bootstrap, move, bulkload, repair...) * Sending/receiving data in the same session * Better performance * Pipelined stream * Persistent connection per host * Better reporting * Better logging/tracing * Event notification * More metrics == Highlight == === Stream Plan === Unlike the previous version, which performs sending and receiving data separately from each other and from the operation, Streaming 2.0 groups the related stream sessions under the same "Stream Plan". {{{ Stream Plan for repair, bootstrap, bulkload, etc. |- Stream session with Endpoint 1 |- Stream receiving tasks |- Stream transfer tasks | |- Stream session with Endpoint 2 . . . }}} === File transfer and messages === Streaming message and file exchange are pipelined on the same, persistent tcp connection. === Stream event support === Finer grained event notification. With JMX notification support, even external client can listen on event. == API == === Public APIs === - `StreamPlan` * Builder for building streaming plan(what to transfer, what to request). Internally builds `StreamSession`s to interact with the other nodes and associates them with `StreamResultFuture` which asynchronously returns final `StreamState`. - `StreamResultFuture` * Represents future result of `StreamPlan` execution. You can attach `StreamEventHandler` to track the progress of streaming plan. - `StreamState` * State of streaming execution. You can get snapshot of in-progress streaming from `StreamResultFuture#getCurrentState` or final state as the return value of `StreamResultFuture#get`. - `StreamManager` * Manages all streaming progress * Provides various metrics through JMX including notification - `StreamEventHandler` * Listens on various stream events. Basic API usage is as follows: {{{#!java // Start building your streaming plan StreamPlan bulkloadPlan = new StreamPlan("Bulkload"); // Add transfer files tasks for each destination for (InetAddress remote : remoteTargets) bulkloadPlan.transferFiles(remote, ranges, sstables); // Execute your plan StreamResultFuture result = bulkloadPlan.execute(); try { // ... and wait for streaming completes result.get(); // all streaming success! } catch (Exception e) { // some stream failed } }}} Alternatively, `StreamResultFuture` implements guava's [[https://code.google.com/p/guava-libraries/wiki/ListenableFutureExplained|ListenableFuture]], So you can use [[http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/com/google/common/util/concurrent/FutureCallback.html|FutureCallback]] to capture stream success and failure. {{{#!java Futures.addCallback(result, new FutureCallback() { public void onSuccess(StreamState result) { // Yes, we did it! } public void onFailure(Throwable t) { // O_o something goes wrong } }); }}} You can add event listener to `StreamResultFuture` for stream events: {{{#!java StreamResultFuture result = bulkloadPlan.execute(); result.addEventListener(new StreamEventHandler() { public void handleEvent(StreamEvent event) { // streaming completed } }); }}} === Internal APIs === - `StreamSession` * Group of stream tasks (INs and/or OUTs) per *destination* - `StreamTask` * Represents each IN/OUT stream task * Each task MUST belong to one Stream session * `StreamReceiveTask` - execute method sends stream request to destination, wait for reply, * `StreamTransferTask` - `ConnectionHandler` * Receives/sends streaming messages. == Stream session == Stream session handles the streaming part of one of more SSTables to and from a specific remote node. Both this node and the remote one will create a similar symmetrical `StreamSession`. A streaming session has the following life-cycle: 1. Connections Initialization (a) A node (the initiator in the following) creates a new `StreamSession`, initialize and then start. Starting will create `ConnectionHandler` that creates two connections to the remote node (the follower in the following) with whom to stream and send `StreamInit` message. The first connection will be the incoming connection and the second connection will be the outgoing for the initiator. (b) Upon reception of `StreamInit` message, the follower creates its own `StreamSession`, initialize it if it still does not exist, and attaches connecting socket to it
[Cassandra Wiki] Update of "Streaming" by yukim
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification. The "Streaming" page has been changed by yukim: https://wiki.apache.org/cassandra/Streaming?action=diff&rev1=8&rev2=9 + '''See [[Streaming2]] for Apache Cassandra 2.0 and above.''' + There are two main instances of streaming (post 0.7): * Transfer - Occurs when a Source pushes SSTables for certain ranges to a Destination. Initiated and controlled by the Source. * Request - Occurs when a Destination requests a set of ranges from a Source. Initiated and controlled by the Destination.
[jira] [Commented] (CASSANDRA-5943) Add sstablesplit dtest
[ https://issues.apache.org/jira/browse/CASSANDRA-5943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753955#comment-13753955 ] Daniel Meyer commented on CASSANDRA-5943: - Here is my initial stab at a test plan. I will go ahead and begin working on implementing this; however, feedback is appreciated. 1) Run cassandra-stress to load some set amount of data into a single node cluster. 2) Force a compaction. Amount of data will be tuned to produce an sstable of size N mb. 3) Run sstablesplit on resulting large sstable of size N from 2). sstablesplit will be run with a size parameter to be some fraction of N. 4) Verify that sstable has been effectively split into new sstables with correct size. 5) Run cassandra-stress to ensure data can be read back without errors. The amount of data and resulting size parameter passed to sstablesplit will be tuned to ensure dtest is effective but also reasonably fast. > Add sstablesplit dtest > -- > > Key: CASSANDRA-5943 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5943 > Project: Cassandra > Issue Type: Test >Reporter: Brandon Williams >Assignee: Daniel Meyer >Priority: Minor > > Now that we're shipping sstablesplit, we should add a dtest to make sure it > works correctly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5923) Upgrade Apache Thrift to 0.9.1
[ https://issues.apache.org/jira/browse/CASSANDRA-5923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Carl Yeksigian updated CASSANDRA-5923: -- Attachment: 5923-v3.patch I've cleaned up the patch to be based off of cassandra-2.0 (not 2.0.0 as that ship has sailed). I've also updated references to o.a.commons.lang to lang3. The only issue I had was that NotImplementedException has been remove; I've replaced that usage with UnsupportedOperationException ([related commons issue|https://issues.apache.org/jira/browse/LANG-769]). > Upgrade Apache Thrift to 0.9.1 > -- > > Key: CASSANDRA-5923 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5923 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Jake Farrell >Assignee: Jake Farrell >Priority: Minor > Fix For: 2.0.1 > > Attachments: 5923-v2.patch, 5923-v3.patch, cassandra-5923.patch > > > Upgrades the Apache Thrift version from 0.9.0 to 0.9.1 which include over 190 > bug fixes and additions since the previous release. This will also upgrade > commons-lang from 2.6 to 3.1 as it is a dependency for Thrift. > All tests passed with initial patch against trunk: 3f5322f -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[cassandra-node] push by gdusba...@gmail.com - update CHANGES on 2013-08-29 18:42 GMT
Revision: 711d68597058 Author: Gary Dusbabek Date: Thu Aug 29 18:42:05 2013 UTC Log: update CHANGES http://code.google.com/a/apache-extras.org/p/cassandra-node/source/detail?r=711d68597058 Modified: /CHANGES === --- /CHANGESThu Aug 29 15:13:56 2013 UTC +++ /CHANGESThu Aug 29 18:42:05 2013 UTC @@ -1,3 +1,7 @@ +Changes with cassandra-client 0.14.7: + +- Fix connection race. (#75) + Changes with cassandra-client 0.14.6: - Depend on thrift <= 0.9.0.
[jira] [Commented] (CASSANDRA-5923) Upgrade Apache Thrift to 0.9.1
[ https://issues.apache.org/jira/browse/CASSANDRA-5923?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754051#comment-13754051 ] Aleksey Yeschenko commented on CASSANDRA-5923: -- Nope, you've bundled it all wrong - and broke cqlsh. Unzip both the old and the new thrift-internal-only-x.zip and compare the structure. > Upgrade Apache Thrift to 0.9.1 > -- > > Key: CASSANDRA-5923 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5923 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Jake Farrell >Assignee: Jake Farrell >Priority: Minor > Fix For: 2.0.1 > > Attachments: 5923-v2.patch, 5923-v3.patch, cassandra-5923.patch > > > Upgrades the Apache Thrift version from 0.9.0 to 0.9.1 which include over 190 > bug fixes and additions since the previous release. This will also upgrade > commons-lang from 2.6 to 3.1 as it is a dependency for Thrift. > All tests passed with initial patch against trunk: 3f5322f -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5952) report compression ratio via nodetool cfstats
Robert Coli created CASSANDRA-5952: -- Summary: report compression ratio via nodetool cfstats Key: CASSANDRA-5952 URL: https://issues.apache.org/jira/browse/CASSANDRA-5952 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Robert Coli Priority: Trivial CASSANDRA-3393 adds a getCompressionRatio JMX call, and was originally supposed to also expose this value per CF via nodetool cfstats. However, the nodetool cfstats part was not done in CASSANDRA-3393. This ticket serves as a request to expose this valuable data about compression via nodetool cfstats. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5952) report compression ratio via nodetool cfstats
[ https://issues.apache.org/jira/browse/CASSANDRA-5952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Coli updated CASSANDRA-5952: --- Description: CASSANDRA-3393 adds a getCompressionRatio JMX call, and was originally supposed to also expose this value per CF via nodetool cfstats. However, the nodetool cfstats part was not done in CASSANDRA-3393. This ticket serves as a request to expose this valuable data about compression via nodetool cfstats. (cc: [~vijay2...@yahoo.com], who did the CASSANDRA-3393 work) was: CASSANDRA-3393 adds a getCompressionRatio JMX call, and was originally supposed to also expose this value per CF via nodetool cfstats. However, the nodetool cfstats part was not done in CASSANDRA-3393. This ticket serves as a request to expose this valuable data about compression via nodetool cfstats. > report compression ratio via nodetool cfstats > - > > Key: CASSANDRA-5952 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5952 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Robert Coli >Priority: Trivial > > CASSANDRA-3393 adds a getCompressionRatio JMX call, and was originally > supposed to also expose this value per CF via nodetool cfstats. > However, the nodetool cfstats part was not done in CASSANDRA-3393. This > ticket serves as a request to expose this valuable data about compression via > nodetool cfstats. > (cc: [~vijay2...@yahoo.com], who did the CASSANDRA-3393 work) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5923) Upgrade Apache Thrift to 0.9.1
[ https://issues.apache.org/jira/browse/CASSANDRA-5923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Carl Yeksigian updated CASSANDRA-5923: -- Attachment: 5923-v4.patch Fixed; zip file follows previous one. > Upgrade Apache Thrift to 0.9.1 > -- > > Key: CASSANDRA-5923 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5923 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Jake Farrell >Assignee: Jake Farrell >Priority: Minor > Fix For: 2.0.1 > > Attachments: 5923-v2.patch, 5923-v3.patch, 5923-v4.patch, > cassandra-5923.patch > > > Upgrades the Apache Thrift version from 0.9.0 to 0.9.1 which include over 190 > bug fixes and additions since the previous release. This will also upgrade > commons-lang from 2.6 to 3.1 as it is a dependency for Thrift. > All tests passed with initial patch against trunk: 3f5322f -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5821) Test new ConcurrentLinkedHashMap implementation (1.4RC)
[ https://issues.apache.org/jira/browse/CASSANDRA-5821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754129#comment-13754129 ] Chris Burroughs commented on CASSANDRA-5821: Ben, since this includes a backport of ConcurrentHashMapV8 as well should we expect a change in how large (ie # entries) a CLHM can feasible be? I think Doug Lea's description was that V8 should "more gracefully handles maps that are huge". > Test new ConcurrentLinkedHashMap implementation (1.4RC) > --- > > Key: CASSANDRA-5821 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5821 > Project: Cassandra > Issue Type: Test >Reporter: Ryan McGuire >Assignee: Ryan McGuire > > There are some [improvements being made to CLHM| > https://code.google.com/p/concurrentlinkedhashmap/source/detail?r=888ad7cebe5b509e5e713b00836f5df9f50baf32] > that we should test. > Create a small enough dataset that it can fit in memory and devise a test > that has a high key cache hit rate, and compare results to CLHM 1.3 we > already use. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CASSANDRA-5951) Upgrade to JNA 4
[ https://issues.apache.org/jira/browse/CASSANDRA-5951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams resolved CASSANDRA-5951. - Resolution: Duplicate > Upgrade to JNA 4 > > > Key: CASSANDRA-5951 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5951 > Project: Cassandra > Issue Type: Bug > Components: Core, Packaging >Reporter: Jonathan Ellis >Assignee: Brandon Williams >Priority: Minor > Fix For: 2.1 > > > JNA 4 is dual-licensed under APL, so we can ship it out of the box. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5943) Add sstablesplit dtest
[ https://issues.apache.org/jira/browse/CASSANDRA-5943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754138#comment-13754138 ] Brandon Williams commented on CASSANDRA-5943: - That sounds good to me. > Add sstablesplit dtest > -- > > Key: CASSANDRA-5943 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5943 > Project: Cassandra > Issue Type: Test >Reporter: Brandon Williams >Assignee: Daniel Meyer >Priority: Minor > > Now that we're shipping sstablesplit, we should add a dtest to make sure it > works correctly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3393) report compression ratio in CFSMBean
[ https://issues.apache.org/jira/browse/CASSANDRA-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Coli updated CASSANDRA-3393: --- Assignee: (was: Vijay) > report compression ratio in CFSMBean > > > Key: CASSANDRA-3393 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3393 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Affects Versions: 1.0.0 >Reporter: Jonathan Ellis >Priority: Minor > Labels: compression, jmx > Fix For: 1.0.3 > > Attachments: 0001-3393-report-compression-cfstats.patch, > 0001-3393-report-compression-cfstats-v2.patch, > 0001-3393-report-compression-cfstats-v3.patch, > 0002-3393-fix-test-constructor.patch, > 0002-3393-fix-test-constructor-v2.patch, > 0002-3393-fix-test-constructor-v3.patch > > > (should expose in nodetool cfstats as well) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3393) report compression ratio in CFSMBean
[ https://issues.apache.org/jira/browse/CASSANDRA-3393?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-3393: -- Assignee: Vijay > report compression ratio in CFSMBean > > > Key: CASSANDRA-3393 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3393 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Affects Versions: 1.0.0 >Reporter: Jonathan Ellis >Assignee: Vijay >Priority: Minor > Labels: compression, jmx > Fix For: 1.0.3 > > Attachments: 0001-3393-report-compression-cfstats.patch, > 0001-3393-report-compression-cfstats-v2.patch, > 0001-3393-report-compression-cfstats-v3.patch, > 0002-3393-fix-test-constructor.patch, > 0002-3393-fix-test-constructor-v2.patch, > 0002-3393-fix-test-constructor-v3.patch > > > (should expose in nodetool cfstats as well) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[Cassandra Wiki] Trivial Update of "ClientOptions" by JonathanEllis
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification. The "ClientOptions" page has been changed by JonathanEllis: https://wiki.apache.org/cassandra/ClientOptions?action=diff&rev1=178&rev2=179 Comment: add link for cql-rb * Python: * [[http://github.com/datastax/python-driver|DataStax Python Driver]] - * Mapping layer: [[http://github.com/cqlengine/cqlengine|cqlengine]] (native branch) +* Mapping layer: [[http://github.com/cqlengine/cqlengine|cqlengine]] (native branch) * Java: * [[http://github.com/datastax/java-driver|DataStax Java driver]] * Node.js @@ -23, +23 @@ * [[http://github.com/datastax/csharp-driver|DataStax C# driver]] * CqlSharp: https://github.com/reuzel/CqlSharp * Ruby: - * cql-rb: + * [[https://github.com/iconara/cql-rb|cql-rb]] * PHP: * [[http://code.google.com/a/apache-extras.org/p/cassandra-pdo/|Cassandra PDO driver]] * Perl: @@ -35, +35 @@ * C++ * [[https://github.com/mstump/libcql|libcql]] - = Thrift = For older Thrift clients, see ClientOptionsThrift.
[1/6] Upgrade Thrift to 0.9.1
Updated Branches: refs/heads/cassandra-2.0 c1e0f3102 -> bffd9ea8e http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java -- diff --git a/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java b/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java index d01889a..5858a4a 100644 --- a/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java +++ b/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java @@ -23,7 +23,7 @@ import java.util.*; import org.apache.cassandra.config.*; import org.apache.cassandra.utils.ByteBufferUtil; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.cassandra.db.DecoratedKey; import org.apache.cassandra.db.marshal.AbstractType; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/dht/Range.java -- diff --git a/src/java/org/apache/cassandra/dht/Range.java b/src/java/org/apache/cassandra/dht/Range.java index 86bc514..5f4251b 100644 --- a/src/java/org/apache/cassandra/dht/Range.java +++ b/src/java/org/apache/cassandra/dht/Range.java @@ -20,7 +20,7 @@ package org.apache.cassandra.dht; import java.io.Serializable; import java.util.*; -import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.cassandra.db.RowPosition; import org.apache.cassandra.service.StorageService; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/dht/RangeStreamer.java -- diff --git a/src/java/org/apache/cassandra/dht/RangeStreamer.java b/src/java/org/apache/cassandra/dht/RangeStreamer.java index f398862..1e6d9b8 100644 --- a/src/java/org/apache/cassandra/dht/RangeStreamer.java +++ b/src/java/org/apache/cassandra/dht/RangeStreamer.java @@ -23,7 +23,7 @@ import java.util.*; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/gms/FailureDetector.java -- diff --git a/src/java/org/apache/cassandra/gms/FailureDetector.java b/src/java/org/apache/cassandra/gms/FailureDetector.java index e8682d8..2d5a658 100644 --- a/src/java/org/apache/cassandra/gms/FailureDetector.java +++ b/src/java/org/apache/cassandra/gms/FailureDetector.java @@ -26,7 +26,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import javax.management.MBeanServer; import javax.management.ObjectName; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/gms/VersionedValue.java -- diff --git a/src/java/org/apache/cassandra/gms/VersionedValue.java b/src/java/org/apache/cassandra/gms/VersionedValue.java index efb40e7..2bc3433 100644 --- a/src/java/org/apache/cassandra/gms/VersionedValue.java +++ b/src/java/org/apache/cassandra/gms/VersionedValue.java @@ -34,7 +34,7 @@ import org.apache.cassandra.io.IVersionedSerializer; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.utils.FBUtilities; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java -- diff --git a/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java b/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java index 1c8fd0b..59c4bf7 100644 --- a/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java +++ b/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java @@ -40,7 +40,7 @@ import org.apache.cassandra.thrift.CfSplit; import org.apache.cassandra.thrift.InvalidRequestException; import org.apache.cassandra.thrift.KeyRange; import org.apache.cassandra.thrift.TokenRange; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapreduce.InputFormat; http://git-wip-us.apache.org/repos/asf/cassandra
[6/6] git commit: Upgrade Thrift to 0.9.1
Upgrade Thrift to 0.9.1 patch by Carl Yeksigian and Jake Farrell; reviewed by Aleksey Yeschenko for CASSANDRA-5923 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bffd9ea8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bffd9ea8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bffd9ea8 Branch: refs/heads/cassandra-2.0 Commit: bffd9ea8eb5358b5f138cbad8a387d5037d1ac12 Parents: c1e0f31 Author: Aleksey Yeschenko Authored: Fri Aug 30 02:54:10 2013 +0300 Committer: Aleksey Yeschenko Committed: Fri Aug 30 02:57:12 2013 +0300 -- CHANGES.txt |1 + build.xml |4 +- .../thrift/AuthenticationException.java | 25 +- .../cassandra/thrift/AuthenticationRequest.java | 35 +- .../thrift/AuthorizationException.java | 14 +- .../org/apache/cassandra/thrift/CASResult.java | 24 +- .../org/apache/cassandra/thrift/Cassandra.java | 4881 ++ .../org/apache/cassandra/thrift/CfDef.java | 216 +- .../org/apache/cassandra/thrift/CfSplit.java| 22 +- .../org/apache/cassandra/thrift/Column.java | 26 +- .../org/apache/cassandra/thrift/ColumnDef.java | 51 +- .../cassandra/thrift/ColumnOrSuperColumn.java | 26 +- .../apache/cassandra/thrift/ColumnParent.java | 18 +- .../org/apache/cassandra/thrift/ColumnPath.java | 22 +- .../apache/cassandra/thrift/Compression.java|2 +- .../cassandra/thrift/ConsistencyLevel.java |2 +- .../apache/cassandra/thrift/CounterColumn.java | 18 +- .../cassandra/thrift/CounterSuperColumn.java| 24 +- .../apache/cassandra/thrift/CqlMetadata.java| 70 +- .../cassandra/thrift/CqlPreparedResult.java | 44 +- .../org/apache/cassandra/thrift/CqlResult.java | 32 +- .../apache/cassandra/thrift/CqlResultType.java |2 +- .../org/apache/cassandra/thrift/CqlRow.java | 24 +- .../org/apache/cassandra/thrift/Deletion.java | 22 +- .../cassandra/thrift/EndpointDetails.java | 22 +- .../apache/cassandra/thrift/IndexClause.java| 28 +- .../cassandra/thrift/IndexExpression.java | 22 +- .../apache/cassandra/thrift/IndexOperator.java |2 +- .../org/apache/cassandra/thrift/IndexType.java |2 +- .../thrift/InvalidRequestException.java | 14 +- .../org/apache/cassandra/thrift/KeyCount.java | 18 +- .../org/apache/cassandra/thrift/KeyRange.java | 40 +- .../org/apache/cassandra/thrift/KeySlice.java | 24 +- .../org/apache/cassandra/thrift/KsDef.java | 61 +- .../org/apache/cassandra/thrift/Mutation.java | 18 +- .../cassandra/thrift/NotFoundException.java | 10 +- .../thrift/SchemaDisagreementException.java | 10 +- .../apache/cassandra/thrift/SlicePredicate.java | 29 +- .../org/apache/cassandra/thrift/SliceRange.java | 26 +- .../apache/cassandra/thrift/SuperColumn.java| 24 +- .../cassandra/thrift/TimedOutException.java | 22 +- .../org/apache/cassandra/thrift/TokenRange.java | 63 +- .../org/apache/cassandra/thrift/TriggerDef.java | 39 +- .../cassandra/thrift/UnavailableException.java | 21 +- .../cassandra/thrift/cassandraConstants.java|6 +- lib/commons-lang-2.6.jar| Bin 284220 -> 0 bytes lib/commons-lang3-3.1.jar | Bin 0 -> 315805 bytes lib/libthrift-0.9.0.jar | Bin 347531 -> 0 bytes lib/libthrift-0.9.1.jar | Bin 0 -> 217054 bytes lib/licenses/commons-lang-3.1.txt | 202 + lib/licenses/libthrift-0.9.1.txt| 202 + lib/licenses/libthrift-0.9.txt | 202 - lib/thrift-python-internal-only-0.7.0.zip | Bin 42854 -> 0 bytes lib/thrift-python-internal-only-0.9.1.zip | Bin 0 -> 52477 bytes src/java/org/apache/cassandra/auth/Auth.java|2 +- .../cassandra/auth/CassandraAuthorizer.java |2 +- .../org/apache/cassandra/auth/DataResource.java |2 +- .../cassandra/auth/PasswordAuthenticator.java |2 +- .../org/apache/cassandra/cli/CliClient.java |2 +- src/java/org/apache/cassandra/cli/CliUtils.java |2 +- .../org/apache/cassandra/config/CFMetaData.java | 10 +- .../org/apache/cassandra/config/KSMetaData.java |4 +- .../org/apache/cassandra/cql/CFPropDefs.java|2 +- .../cql3/statements/CreateTableStatement.java |2 +- .../org/apache/cassandra/db/ColumnFamily.java |2 +- .../org/apache/cassandra/db/Directories.java|2 +- .../apache/cassandra/db/RangeSliceReply.java|2 +- .../org/apache/cassandra/db/RowMutation.java|2 +- .../org/apache/cassandra/db/SystemKeyspace.java |2 +- .../cassandra/db/commitlog/CommitLog.java |2 +- .../db/commitlog/CommitLogReplayer.java |2 +- .../c
[7/7] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Conflicts: src/java/org/apache/cassandra/service/StorageService.java tools/stress/src/org/apache/cassandra/stress/Session.java tools/stress/src/org/apache/cassandra/stress/StressStatistics.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5b5d41d4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5b5d41d4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5b5d41d4 Branch: refs/heads/trunk Commit: 5b5d41d4b833630d24a8f180cce1ae6a72d7ebcf Parents: 73e27b0 bffd9ea Author: Aleksey Yeschenko Authored: Fri Aug 30 03:03:29 2013 +0300 Committer: Aleksey Yeschenko Committed: Fri Aug 30 03:03:29 2013 +0300 -- CHANGES.txt |1 + build.xml |4 +- .../thrift/AuthenticationException.java | 25 +- .../cassandra/thrift/AuthenticationRequest.java | 35 +- .../thrift/AuthorizationException.java | 14 +- .../org/apache/cassandra/thrift/CASResult.java | 24 +- .../org/apache/cassandra/thrift/Cassandra.java | 4881 ++ .../org/apache/cassandra/thrift/CfDef.java | 216 +- .../org/apache/cassandra/thrift/CfSplit.java| 22 +- .../org/apache/cassandra/thrift/Column.java | 26 +- .../org/apache/cassandra/thrift/ColumnDef.java | 51 +- .../cassandra/thrift/ColumnOrSuperColumn.java | 26 +- .../apache/cassandra/thrift/ColumnParent.java | 18 +- .../org/apache/cassandra/thrift/ColumnPath.java | 22 +- .../apache/cassandra/thrift/Compression.java|2 +- .../cassandra/thrift/ConsistencyLevel.java |2 +- .../apache/cassandra/thrift/CounterColumn.java | 18 +- .../cassandra/thrift/CounterSuperColumn.java| 24 +- .../apache/cassandra/thrift/CqlMetadata.java| 70 +- .../cassandra/thrift/CqlPreparedResult.java | 44 +- .../org/apache/cassandra/thrift/CqlResult.java | 32 +- .../apache/cassandra/thrift/CqlResultType.java |2 +- .../org/apache/cassandra/thrift/CqlRow.java | 24 +- .../org/apache/cassandra/thrift/Deletion.java | 22 +- .../cassandra/thrift/EndpointDetails.java | 22 +- .../apache/cassandra/thrift/IndexClause.java| 28 +- .../cassandra/thrift/IndexExpression.java | 22 +- .../apache/cassandra/thrift/IndexOperator.java |2 +- .../org/apache/cassandra/thrift/IndexType.java |2 +- .../thrift/InvalidRequestException.java | 14 +- .../org/apache/cassandra/thrift/KeyCount.java | 18 +- .../org/apache/cassandra/thrift/KeyRange.java | 40 +- .../org/apache/cassandra/thrift/KeySlice.java | 24 +- .../org/apache/cassandra/thrift/KsDef.java | 61 +- .../org/apache/cassandra/thrift/Mutation.java | 18 +- .../cassandra/thrift/NotFoundException.java | 10 +- .../thrift/SchemaDisagreementException.java | 10 +- .../apache/cassandra/thrift/SlicePredicate.java | 29 +- .../org/apache/cassandra/thrift/SliceRange.java | 26 +- .../apache/cassandra/thrift/SuperColumn.java| 24 +- .../cassandra/thrift/TimedOutException.java | 22 +- .../org/apache/cassandra/thrift/TokenRange.java | 63 +- .../org/apache/cassandra/thrift/TriggerDef.java | 39 +- .../cassandra/thrift/UnavailableException.java | 21 +- .../cassandra/thrift/cassandraConstants.java|6 +- lib/commons-lang-2.6.jar| Bin 284220 -> 0 bytes lib/commons-lang3-3.1.jar | Bin 0 -> 315805 bytes lib/libthrift-0.9.0.jar | Bin 347531 -> 0 bytes lib/libthrift-0.9.1.jar | Bin 0 -> 217054 bytes lib/licenses/commons-lang-3.1.txt | 202 + lib/licenses/libthrift-0.9.1.txt| 202 + lib/licenses/libthrift-0.9.txt | 202 - lib/thrift-python-internal-only-0.7.0.zip | Bin 42854 -> 0 bytes lib/thrift-python-internal-only-0.9.1.zip | Bin 0 -> 52477 bytes src/java/org/apache/cassandra/auth/Auth.java|2 +- .../cassandra/auth/CassandraAuthorizer.java |2 +- .../org/apache/cassandra/auth/DataResource.java |2 +- .../cassandra/auth/PasswordAuthenticator.java |2 +- .../org/apache/cassandra/cli/CliClient.java |2 +- src/java/org/apache/cassandra/cli/CliUtils.java |2 +- .../org/apache/cassandra/config/CFMetaData.java | 10 +- .../org/apache/cassandra/config/KSMetaData.java |4 +- .../org/apache/cassandra/cql/CFPropDefs.java|2 +- .../cql3/statements/CreateTableStatement.java |2 +- .../org/apache/cassandra/db/ColumnFamily.java |2 +- .../org/apache/cassandra/db/Directories.java|2 +- .../apache/cassandra/db/RangeSliceReply.java|2 +- .../org/apache/cassandra/db/RowMutation.java|2 +- .../org/apache/cassandra/db/SystemKeysp
[6/7] git commit: Upgrade Thrift to 0.9.1
Upgrade Thrift to 0.9.1 patch by Carl Yeksigian and Jake Farrell; reviewed by Aleksey Yeschenko for CASSANDRA-5923 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bffd9ea8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bffd9ea8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bffd9ea8 Branch: refs/heads/trunk Commit: bffd9ea8eb5358b5f138cbad8a387d5037d1ac12 Parents: c1e0f31 Author: Aleksey Yeschenko Authored: Fri Aug 30 02:54:10 2013 +0300 Committer: Aleksey Yeschenko Committed: Fri Aug 30 02:57:12 2013 +0300 -- CHANGES.txt |1 + build.xml |4 +- .../thrift/AuthenticationException.java | 25 +- .../cassandra/thrift/AuthenticationRequest.java | 35 +- .../thrift/AuthorizationException.java | 14 +- .../org/apache/cassandra/thrift/CASResult.java | 24 +- .../org/apache/cassandra/thrift/Cassandra.java | 4881 ++ .../org/apache/cassandra/thrift/CfDef.java | 216 +- .../org/apache/cassandra/thrift/CfSplit.java| 22 +- .../org/apache/cassandra/thrift/Column.java | 26 +- .../org/apache/cassandra/thrift/ColumnDef.java | 51 +- .../cassandra/thrift/ColumnOrSuperColumn.java | 26 +- .../apache/cassandra/thrift/ColumnParent.java | 18 +- .../org/apache/cassandra/thrift/ColumnPath.java | 22 +- .../apache/cassandra/thrift/Compression.java|2 +- .../cassandra/thrift/ConsistencyLevel.java |2 +- .../apache/cassandra/thrift/CounterColumn.java | 18 +- .../cassandra/thrift/CounterSuperColumn.java| 24 +- .../apache/cassandra/thrift/CqlMetadata.java| 70 +- .../cassandra/thrift/CqlPreparedResult.java | 44 +- .../org/apache/cassandra/thrift/CqlResult.java | 32 +- .../apache/cassandra/thrift/CqlResultType.java |2 +- .../org/apache/cassandra/thrift/CqlRow.java | 24 +- .../org/apache/cassandra/thrift/Deletion.java | 22 +- .../cassandra/thrift/EndpointDetails.java | 22 +- .../apache/cassandra/thrift/IndexClause.java| 28 +- .../cassandra/thrift/IndexExpression.java | 22 +- .../apache/cassandra/thrift/IndexOperator.java |2 +- .../org/apache/cassandra/thrift/IndexType.java |2 +- .../thrift/InvalidRequestException.java | 14 +- .../org/apache/cassandra/thrift/KeyCount.java | 18 +- .../org/apache/cassandra/thrift/KeyRange.java | 40 +- .../org/apache/cassandra/thrift/KeySlice.java | 24 +- .../org/apache/cassandra/thrift/KsDef.java | 61 +- .../org/apache/cassandra/thrift/Mutation.java | 18 +- .../cassandra/thrift/NotFoundException.java | 10 +- .../thrift/SchemaDisagreementException.java | 10 +- .../apache/cassandra/thrift/SlicePredicate.java | 29 +- .../org/apache/cassandra/thrift/SliceRange.java | 26 +- .../apache/cassandra/thrift/SuperColumn.java| 24 +- .../cassandra/thrift/TimedOutException.java | 22 +- .../org/apache/cassandra/thrift/TokenRange.java | 63 +- .../org/apache/cassandra/thrift/TriggerDef.java | 39 +- .../cassandra/thrift/UnavailableException.java | 21 +- .../cassandra/thrift/cassandraConstants.java|6 +- lib/commons-lang-2.6.jar| Bin 284220 -> 0 bytes lib/commons-lang3-3.1.jar | Bin 0 -> 315805 bytes lib/libthrift-0.9.0.jar | Bin 347531 -> 0 bytes lib/libthrift-0.9.1.jar | Bin 0 -> 217054 bytes lib/licenses/commons-lang-3.1.txt | 202 + lib/licenses/libthrift-0.9.1.txt| 202 + lib/licenses/libthrift-0.9.txt | 202 - lib/thrift-python-internal-only-0.7.0.zip | Bin 42854 -> 0 bytes lib/thrift-python-internal-only-0.9.1.zip | Bin 0 -> 52477 bytes src/java/org/apache/cassandra/auth/Auth.java|2 +- .../cassandra/auth/CassandraAuthorizer.java |2 +- .../org/apache/cassandra/auth/DataResource.java |2 +- .../cassandra/auth/PasswordAuthenticator.java |2 +- .../org/apache/cassandra/cli/CliClient.java |2 +- src/java/org/apache/cassandra/cli/CliUtils.java |2 +- .../org/apache/cassandra/config/CFMetaData.java | 10 +- .../org/apache/cassandra/config/KSMetaData.java |4 +- .../org/apache/cassandra/cql/CFPropDefs.java|2 +- .../cql3/statements/CreateTableStatement.java |2 +- .../org/apache/cassandra/db/ColumnFamily.java |2 +- .../org/apache/cassandra/db/Directories.java|2 +- .../apache/cassandra/db/RangeSliceReply.java|2 +- .../org/apache/cassandra/db/RowMutation.java|2 +- .../org/apache/cassandra/db/SystemKeyspace.java |2 +- .../cassandra/db/commitlog/CommitLog.java |2 +- .../db/commitlog/CommitLogReplayer.java |2 +- .../cassandra
[1/7] Upgrade Thrift to 0.9.1
Updated Branches: refs/heads/trunk 73e27b07f -> 5b5d41d4b http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java -- diff --git a/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java b/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java index d01889a..5858a4a 100644 --- a/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java +++ b/src/java/org/apache/cassandra/dht/AbstractByteOrderedPartitioner.java @@ -23,7 +23,7 @@ import java.util.*; import org.apache.cassandra.config.*; import org.apache.cassandra.utils.ByteBufferUtil; -import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.cassandra.db.DecoratedKey; import org.apache.cassandra.db.marshal.AbstractType; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/dht/Range.java -- diff --git a/src/java/org/apache/cassandra/dht/Range.java b/src/java/org/apache/cassandra/dht/Range.java index 86bc514..5f4251b 100644 --- a/src/java/org/apache/cassandra/dht/Range.java +++ b/src/java/org/apache/cassandra/dht/Range.java @@ -20,7 +20,7 @@ package org.apache.cassandra.dht; import java.io.Serializable; import java.util.*; -import org.apache.commons.lang.ObjectUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.cassandra.db.RowPosition; import org.apache.cassandra.service.StorageService; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/dht/RangeStreamer.java -- diff --git a/src/java/org/apache/cassandra/dht/RangeStreamer.java b/src/java/org/apache/cassandra/dht/RangeStreamer.java index f398862..1e6d9b8 100644 --- a/src/java/org/apache/cassandra/dht/RangeStreamer.java +++ b/src/java/org/apache/cassandra/dht/RangeStreamer.java @@ -23,7 +23,7 @@ import java.util.*; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/gms/FailureDetector.java -- diff --git a/src/java/org/apache/cassandra/gms/FailureDetector.java b/src/java/org/apache/cassandra/gms/FailureDetector.java index e8682d8..2d5a658 100644 --- a/src/java/org/apache/cassandra/gms/FailureDetector.java +++ b/src/java/org/apache/cassandra/gms/FailureDetector.java @@ -26,7 +26,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import javax.management.MBeanServer; import javax.management.ObjectName; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/gms/VersionedValue.java -- diff --git a/src/java/org/apache/cassandra/gms/VersionedValue.java b/src/java/org/apache/cassandra/gms/VersionedValue.java index efb40e7..2bc3433 100644 --- a/src/java/org/apache/cassandra/gms/VersionedValue.java +++ b/src/java/org/apache/cassandra/gms/VersionedValue.java @@ -34,7 +34,7 @@ import org.apache.cassandra.io.IVersionedSerializer; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.utils.FBUtilities; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; /** http://git-wip-us.apache.org/repos/asf/cassandra/blob/bffd9ea8/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java -- diff --git a/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java b/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java index 1c8fd0b..59c4bf7 100644 --- a/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java +++ b/src/java/org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.java @@ -40,7 +40,7 @@ import org.apache.cassandra.thrift.CfSplit; import org.apache.cassandra.thrift.InvalidRequestException; import org.apache.cassandra.thrift.KeyRange; import org.apache.cassandra.thrift.TokenRange; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapreduce.InputFormat; http://git-wip-us.apache.org/repos/asf/cassandra/blob/bf
[1/2] Fix licenses
Updated Branches: refs/heads/cassandra-2.0 bffd9ea8e -> d6be037b3 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d6be037b/lib/licenses/thrift-python-0.9.1.txt -- diff --git a/lib/licenses/thrift-python-0.9.1.txt b/lib/licenses/thrift-python-0.9.1.txt new file mode 100644 index 000..9d189ef --- /dev/null +++ b/lib/licenses/thrift-python-0.9.1.txt @@ -0,0 +1,324 @@ + + Apache License + Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of th
[3/3] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.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/84dfa064 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/84dfa064 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/84dfa064 Branch: refs/heads/trunk Commit: 84dfa06475c87bacaee9650f66c5e94b9a0213fd Parents: 5b5d41d d6be037 Author: Aleksey Yeschenko Authored: Fri Aug 30 03:49:21 2013 +0300 Committer: Aleksey Yeschenko Committed: Fri Aug 30 03:49:21 2013 +0300 -- lib/licenses/commons-lang-2.6.txt| 202 --- lib/licenses/commons-lang-3.1.txt| 202 --- lib/licenses/commons-lang3-3.1.txt | 202 +++ lib/licenses/compress-lzf-0.8.4.txt | 0 lib/licenses/cql-1.2.0.txt | 202 --- lib/licenses/cql-1.4.0.txt | 202 +++ lib/licenses/thrift-python-0.7.0.txt | 324 -- lib/licenses/thrift-python-0.9.1.txt | 324 ++ 8 files changed, 728 insertions(+), 930 deletions(-) --
[1/3] Fix licenses
Updated Branches: refs/heads/trunk 5b5d41d4b -> 84dfa0647 http://git-wip-us.apache.org/repos/asf/cassandra/blob/d6be037b/lib/licenses/thrift-python-0.9.1.txt -- diff --git a/lib/licenses/thrift-python-0.9.1.txt b/lib/licenses/thrift-python-0.9.1.txt new file mode 100644 index 000..9d189ef --- /dev/null +++ b/lib/licenses/thrift-python-0.9.1.txt @@ -0,0 +1,324 @@ + + Apache License + Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Cont
[jira] [Commented] (CASSANDRA-5821) Test new ConcurrentLinkedHashMap implementation (1.4RC)
[ https://issues.apache.org/jira/browse/CASSANDRA-5821?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754272#comment-13754272 ] Ben Manes commented on CASSANDRA-5821: -- That makes sense, Chris. Currently I don't expose any v8 methods, so the new `long mappingCount()` method isn't exposed. You probably are not asking for the count and only for better internal handling, right? I plan on exposing more v8 style methods, but deferred that for this release because I found two issues with computeIfAbsent(). I might try re-implementing Guava Cache as a decorator on top of CLHM since its 33x-50x faster under a synthetic load. > Test new ConcurrentLinkedHashMap implementation (1.4RC) > --- > > Key: CASSANDRA-5821 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5821 > Project: Cassandra > Issue Type: Test >Reporter: Ryan McGuire >Assignee: Ryan McGuire > > There are some [improvements being made to CLHM| > https://code.google.com/p/concurrentlinkedhashmap/source/detail?r=888ad7cebe5b509e5e713b00836f5df9f50baf32] > that we should test. > Create a small enough dataset that it can fit in memory and devise a test > that has a high key cache hit rate, and compare results to CLHM 1.3 we > already use. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
git commit: update pom dependencies for commons-lang3
Updated Branches: refs/heads/cassandra-2.0 d6be037b3 -> e7693fa92 update pom dependencies for commons-lang3 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e7693fa9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e7693fa9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e7693fa9 Branch: refs/heads/cassandra-2.0 Commit: e7693fa92ddf9b3d8a1e2539b09b934ffc5ef071 Parents: d6be037 Author: Dave Brosius Authored: Thu Aug 29 21:14:56 2013 -0400 Committer: Dave Brosius Committed: Thu Aug 29 21:14:56 2013 -0400 -- build.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e7693fa9/build.xml -- diff --git a/build.xml b/build.xml index 4d8ae14..254cc2d 100644 --- a/build.xml +++ b/build.xml @@ -340,7 +340,7 @@ - + @@ -438,7 +438,7 @@ - + @@ -479,7 +479,7 @@ artifactId="cassandra-parent" version="${version}"/> - +
[2/2] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.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/164f1586 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/164f1586 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/164f1586 Branch: refs/heads/trunk Commit: 164f15866204637d71b9fe5729ce2db9fd30c65c Parents: 84dfa06 e7693fa Author: Dave Brosius Authored: Thu Aug 29 21:16:09 2013 -0400 Committer: Dave Brosius Committed: Thu Aug 29 21:16:09 2013 -0400 -- build.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/164f1586/build.xml --
[1/2] git commit: update pom dependencies for commons-lang3
Updated Branches: refs/heads/trunk 84dfa0647 -> 164f15866 update pom dependencies for commons-lang3 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e7693fa9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e7693fa9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e7693fa9 Branch: refs/heads/trunk Commit: e7693fa92ddf9b3d8a1e2539b09b934ffc5ef071 Parents: d6be037 Author: Dave Brosius Authored: Thu Aug 29 21:14:56 2013 -0400 Committer: Dave Brosius Committed: Thu Aug 29 21:14:56 2013 -0400 -- build.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e7693fa9/build.xml -- diff --git a/build.xml b/build.xml index 4d8ae14..254cc2d 100644 --- a/build.xml +++ b/build.xml @@ -340,7 +340,7 @@ - + @@ -438,7 +438,7 @@ - + @@ -479,7 +479,7 @@ artifactId="cassandra-parent" version="${version}"/> - +
[Cassandra Wiki] Trivial Update of "DataModel" by JonathanEllis
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification. The "DataModel" page has been changed by JonathanEllis: https://wiki.apache.org/cassandra/DataModel?action=diff&rev1=32&rev2=33 Comment: fix link This allows pervasive denormalization to "pre-build" resultsets at update time, rather than doing expensive joins across the cluster. + DataStax has a [[http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/ddl_anatomy_table_c.html|good introduction to data modeling in Cassandra here]]. - DataStax has a good introduction to data modeling in Cassandra here: - - * [[http://www.datastax.com/documentation/cassandra/1.2/index.html#cassandra/ddl/ddl_anatomy_table_c.html#concept_ds_qqw_1dy_zj|http://www.datastax.com/documentation/cassandra/1.2/index.html#cassandra/ddl/ddl_anatomy_table_c.html]] For more detail, see Patrick !McFadin's three-part series:
[jira] [Created] (CASSANDRA-5953) Replication validation is broken
Jonathan Ellis created CASSANDRA-5953: - Summary: Replication validation is broken Key: CASSANDRA-5953 URL: https://issues.apache.org/jira/browse/CASSANDRA-5953 Project: Cassandra Issue Type: Bug Components: Core Reporter: Jonathan Ellis Assignee: Sylvain Lebresne Priority: Minor Fix For: 1.2.10 On my local, single node cluster, RF=3 inserts should not succeed: {quote} cqlsh> CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 }; cqlsh> use mykeyspace ; cqlsh:mykeyspace> CREATE TABLE users ( ... user_id int PRIMARY KEY, ... fname text, ... lname text ... ); cqlsh:mykeyspace> INSERT INTO users (user_id, fname, lname) ... VALUES (1745, 'john', 'smith'); cqlsh:mykeyspace> select * from users; user_id | fname | lname -+---+--- 1745 | john | smith {quote} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5954) Make nodetool ring print an error message and suggest nodetool status when vnodes are enabled
Jonathan Ellis created CASSANDRA-5954: - Summary: Make nodetool ring print an error message and suggest nodetool status when vnodes are enabled Key: CASSANDRA-5954 URL: https://issues.apache.org/jira/browse/CASSANDRA-5954 Project: Cassandra Issue Type: Bug Components: Tools Reporter: Jonathan Ellis Assignee: Lyuben Todorov Priority: Minor Fix For: 2.0.1 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5954) Make nodetool ring print an error message and suggest nodetool status when vnodes are enabled
[ https://issues.apache.org/jira/browse/CASSANDRA-5954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754330#comment-13754330 ] Brandon Williams commented on CASSANDRA-5954: - Well, do need *some* way to list vnode tokens. Maybe add something like a -YES flag when using ring w/vnodes. > Make nodetool ring print an error message and suggest nodetool status when > vnodes are enabled > - > > Key: CASSANDRA-5954 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5954 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Jonathan Ellis >Assignee: Lyuben Todorov >Priority: Minor > Fix For: 2.0.1 > > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[Cassandra Wiki] Update of "GettingStarted" by JonathanEllis
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification. The "GettingStarted" page has been changed by JonathanEllis: https://wiki.apache.org/cassandra/GettingStarted?action=diff&rev1=91&rev2=92 Comment: update for cqlsh == Cassandra documentation from DataStax == !DataStax's latest [[http://www.datastax.com/docs/1.2/index|Cassandra documentation]] covers topics from installation to troubleshooting, including a [[http://www.datastax.com/docs/quick_start/quickstart|Quick Start Guide]]. Documentation for older releases is also available. - + == Introduction == + This document aims to provide a few easy to follow steps to take the first-time user from installation, to running single node Cassandra, and overview to configure multinode cluster. Cassandra is meant to run on a cluster of nodes, but will run equally well on a single machine. This is a handy way of getting familiar with the software while avoiding the complexities of a larger system. + - This document aims to provide a few easy to follow steps to take the first-time user from installation, to running single node Cassandra, and overview to configure multinode cluster. - Cassandra is meant to run on a cluster of nodes, but will run equally well on a single machine. This is a handy way of getting familiar with the software while avoiding the complexities of a larger system. - == Step 0: Prerequisites and Connecting to the Community == Cassandra requires the most stable version of Java 1.6 you can deploy, preferably the Oracle/Sun JVM. Cassandra also runs on the IBM JVM, and should run on jrockit as well. - Note for OS X users: + . Note for OS X users: Some people running OS X have trouble getting Java 6 to work. If you've kept up with Apple's updates, Java 6 should already be installed (it comes in Mac OS X 10.5 Update 1). Unfortunately, Apple does not default to using it. What you have to do is change your `JAVA_HOME` environment setting to `/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home` and add `/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home/bin` to the beginning of your `PATH`. - + The best way to ensure you always have up to date information on the project, releases, stability, bugs, and features is to subscribe to the users mailing list ([[mailto:user-subscr...@cassandra.apache.org|subscription required]]) and participate in the #cassandra channel on [[http://webchat.freenode.net/?channels=#cassandra|IRC]]. + + <> <> + - - <> - <> - == Step 1: Download Cassandra == - * Download links for the latest stable release can always be found on the [[http://cassandra.apache.org/download|website]]. * Users of Debian or Debian-based derivatives can install the latest stable release in package form, see DebianPackaging for details. - * Users of RPM-based distributions can get packages from [[http://www.datastax.com/docs/1.1/install/install_rpm|Datastax]]. + * Users of RPM-based distributions can get packages from [[http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/install/installRHEL_t.html|Datastax]]. * If you are interested in building Cassandra from source, please refer to [[HowToBuild|How to Build]] page. - + For more details about misc builds, please refer to [[VersionsAndBuilds|Cassandra versions and builds]] page. - + <> - + == Step 2: Basic Configuration == + The Cassandra configuration files can be found in the `conf` directory of binary and source distributions. If you have installed Cassandra from a deb or rpm package, the configuration files will be located in `/etc/cassandra`. + - - The Cassandra configuration files can be found in the `conf` directory of binary and source distributions. - If you have installed Cassandra from a deb or rpm package, the configuration files will be located in `/etc/cassandra`. - === Step 2.1: Directories Used by Cassandra === + If you've installed Cassandra with a deb or rpm package, the directories that Cassandra will use should already be created an have the correct permissions. Otherwise, you will want to check the following config settings from `conf/cassandra.yaml`: `data_file_directories` (`/var/lib/cassandra/data`), `commitlog_directory` (`/var/lib/cassandra/commitlog`), and `saved_caches_directory` (`/var/lib/cassandra/saved_caches`). Make sure these directories exist and can be written to. - If you've installed Cassandra with a deb or rpm package, the directories that Cassandra will use should already be created an have the correct permissions. Otherwise, you will want to check the following config settings. - - In `conf/cassandra.yaml` you will find the following configuration options: `data_file_directories` (`/var/lib/cassandra/data`), `commitlog_directory` (`/var/lib/cassandra/commitlog`), and `saved_caches_directory` (`/var/lib/cassandra/saved_caches`). Make
[jira] [Commented] (CASSANDRA-5954) Make nodetool ring print an error message and suggest nodetool status when vnodes are enabled
[ https://issues.apache.org/jira/browse/CASSANDRA-5954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754334#comment-13754334 ] Jonathan Ellis commented on CASSANDRA-5954: --- We can get it from a system table right? > Make nodetool ring print an error message and suggest nodetool status when > vnodes are enabled > - > > Key: CASSANDRA-5954 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5954 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Jonathan Ellis >Assignee: Lyuben Todorov >Priority: Minor > Fix For: 2.0.1 > > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4757) Expose bulk loading progress/status over jmx
[ https://issues.apache.org/jira/browse/CASSANDRA-4757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754344#comment-13754344 ] Dave Brosius commented on CASSANDRA-4757: - +double rxPercentage = (totalRxBytes == 0 ? 100L : currentRxBytes * 100L / totalRxBytes); +double txPercentage = (totalTxBytes == 0 ? 100L : currentTxBytes * 100L / totalTxBytes); generates integer based percentages and stores them as doubles. Is this what was desired? > Expose bulk loading progress/status over jmx > > > Key: CASSANDRA-4757 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4757 > Project: Cassandra > Issue Type: Improvement >Reporter: Nick Bailey >Assignee: Greg DeAngelis >Priority: Minor > Labels: lhf > Fix For: 2.0 > > Attachments: CASSANDRA-4757.txt, CASSANDRA-4757v2.txt > > > The bulk loading interface should be exposing some progress or status > information over jmx. This shouldn't be too difficult and should be exposed > in a way that the information is available whether you are using the separate > sstableloader utility or calling the bulkload jmx call. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (CASSANDRA-5952) report compression ratio via nodetool cfstats
[ https://issues.apache.org/jira/browse/CASSANDRA-5952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vijay reassigned CASSANDRA-5952: Assignee: Vijay > report compression ratio via nodetool cfstats > - > > Key: CASSANDRA-5952 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5952 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Robert Coli >Assignee: Vijay >Priority: Trivial > > CASSANDRA-3393 adds a getCompressionRatio JMX call, and was originally > supposed to also expose this value per CF via nodetool cfstats. > However, the nodetool cfstats part was not done in CASSANDRA-3393. This > ticket serves as a request to expose this valuable data about compression via > nodetool cfstats. > (cc: [~vijay2...@yahoo.com], who did the CASSANDRA-3393 work) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5939) Cache Providers calculate very different row sizes
[ https://issues.apache.org/jira/browse/CASSANDRA-5939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13754387#comment-13754387 ] Vijay commented on CASSANDRA-5939: -- {quote} While java has overhead, it's not... {quote} Well try the following code in CacheProviderTest {code} @Test public void testCompareSizes() throws IOException { RowCacheKey key = new RowCacheKey(UUID.randomUUID(), ByteBufferUtil.bytes("test")); ColumnFamily cf = createCF(); System.out.println("size:" + (key.memorySize() + cf.memorySize())); System.out.println("key size:" + key.memorySize()); System.out.println("value size:" + cf.memorySize()); RowCacheSerializer serializer = new RowCacheSerializer(); DataOutputBuffer out = new DataOutputBuffer(); serializer.serialize(cf, out); System.out.println("ser size:" + out.getLength()); IRowCacheEntry cf2 = serializer.deserialize(new DataInputStream(new ByteArrayInputStream(out.getData(; Assert.assertEquals(cf, cf2); } {code} output (actually value/CF overhead memorySize uses measureDeep() JAMM) {code} size:74120 key size:48 value size:74072 ser size:66 {code} I am just trying to figure out if there is any bug I am missing/overlooking. I agree that we need to have a configuration for the key size in JVM heap to contain OOM's etc. We can use this ticket to solve that issue. I do understand, we have removed CLHM in 2.0 so we can concentrate on getting a better configuration for SC. > Cache Providers calculate very different row sizes > -- > > Key: CASSANDRA-5939 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5939 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: 1.2.8 >Reporter: Chris Burroughs >Assignee: Vijay > > Took the same production node and bounced it 4 times comparing version and > cache provider. ConcurrentLinkedHashCacheProvider and > SerializingCacheProvider produce very different results resulting in an order > of magnitude difference in rows cached. In all cases the row cache size was > 2048 MB. Hit rate is provided for color, but entries & size are the > important part. > 1.2.8 ConcurrentLinkedHashCacheProvider: > * entries: 23,217 > * hit rate: 43% > * size: 2,147,398,344 > 1.2.8 about 20 minutes of SerializingCacheProvider: > * entries: 221,709 > * hit rate: 68% > * size: 18,417254 > 1.2.5 ConcurrentLinkedHashCacheProvider: > * entries: 25,967 > * hit rate: ~ 50% > * size: 2,147,421,704 > 1.2.5 about 20 minutes of SerializingCacheProvider: > * entries: 228,457 > * hit rate: ~ 70% > * size: 19,070,315 > A related(?) problem is that the ConcurrentLinkedHashCacheProvider sizes seem > to be highly variable. Digging up the values for 5 different nodes in the > cluster using ConcurrentLinkedHashCacheProvider shows a wide variance in > number of entries: > * 12k > * 444k > * 10k > * 25k > * 25k -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira