[jira] [Commented] (CASSANDRA-5661) Discard pooled readers for cold data

2013-08-29 Thread Ben Manes (JIRA)

[ 
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

2013-08-29 Thread DOAN DuyHai (JIRA)

[ 
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

2013-08-29 Thread Jeremiah Jordan (JIRA)

 [ 
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

2013-08-29 Thread Jeremiah Jordan (JIRA)

 [ 
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

2013-08-29 Thread Jeremiah Jordan (JIRA)

 [ 
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

2013-08-29 Thread Chris Burroughs (JIRA)

[ 
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

2013-08-29 Thread Greg DeAngelis (JIRA)

 [ 
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

2013-08-29 Thread yukim
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

2013-08-29 Thread yukim
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

2013-08-29 Thread yukim
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

2013-08-29 Thread yukim
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

2013-08-29 Thread yukim
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

2013-08-29 Thread yukim
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

2013-08-29 Thread Yuki Morishita (JIRA)

[ 
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

2013-08-29 Thread Jonathan Ellis (JIRA)
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

2013-08-29 Thread Daniel Meyer (JIRA)

[ 
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)"

2013-08-29 Thread Tony Piazza (JIRA)

[ 
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

2013-08-29 Thread jbellis
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

2013-08-29 Thread jbellis
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

2013-08-29 Thread jbellis
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

2013-08-29 Thread Jonathan Ellis (JIRA)

 [ 
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

2013-08-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-08-29 Thread Sylvain Lebresne (JIRA)

[ 
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

2013-08-29 Thread Jonathan Ellis (JIRA)
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

2013-08-29 Thread Jonathan Ellis (JIRA)

 [ 
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

2013-08-29 Thread Apache Wiki
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

2013-08-29 Thread Apache Wiki
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

2013-08-29 Thread Daniel Meyer (JIRA)

[ 
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

2013-08-29 Thread Carl Yeksigian (JIRA)

 [ 
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

2013-08-29 Thread cassandra-node . apache-extras . org

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

2013-08-29 Thread Aleksey Yeschenko (JIRA)

[ 
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

2013-08-29 Thread Robert Coli (JIRA)
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

2013-08-29 Thread Robert Coli (JIRA)

 [ 
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

2013-08-29 Thread Carl Yeksigian (JIRA)

 [ 
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)

2013-08-29 Thread Chris Burroughs (JIRA)

[ 
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

2013-08-29 Thread Brandon Williams (JIRA)

 [ 
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

2013-08-29 Thread Brandon Williams (JIRA)

[ 
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

2013-08-29 Thread Robert Coli (JIRA)

 [ 
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

2013-08-29 Thread Jonathan Ellis (JIRA)

 [ 
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

2013-08-29 Thread Apache Wiki
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

2013-08-29 Thread aleksey
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

2013-08-29 Thread aleksey
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

2013-08-29 Thread aleksey
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

2013-08-29 Thread aleksey
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

2013-08-29 Thread aleksey
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

2013-08-29 Thread aleksey
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

2013-08-29 Thread aleksey
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

2013-08-29 Thread aleksey
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)

2013-08-29 Thread Ben Manes (JIRA)

[ 
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

2013-08-29 Thread dbrosius
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

2013-08-29 Thread dbrosius
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

2013-08-29 Thread dbrosius
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

2013-08-29 Thread Apache Wiki
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

2013-08-29 Thread Jonathan Ellis (JIRA)
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

2013-08-29 Thread Jonathan Ellis (JIRA)
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

2013-08-29 Thread Brandon Williams (JIRA)

[ 
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

2013-08-29 Thread Apache Wiki
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

2013-08-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-08-29 Thread Dave Brosius (JIRA)

[ 
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

2013-08-29 Thread Vijay (JIRA)

 [ 
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

2013-08-29 Thread Vijay (JIRA)

[ 
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