[jira] [Created] (CASSANDRA-9616) cfstats on 2.1.6 throws fatal exception during compaction cycles

2015-06-18 Thread Mark Manley (JIRA)
Mark Manley created CASSANDRA-9616:
--

 Summary: cfstats on 2.1.6 throws fatal exception during compaction 
cycles
 Key: CASSANDRA-9616
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9616
 Project: Cassandra
  Issue Type: Bug
Reporter: Mark Manley


When running cfstats against any cf that is doing a compaction cycle, I get the 
following exception for its reading of tmplink files:

{code}
error: 
/var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
-- StackTrace --
java.lang.AssertionError: 
/var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
{code}

This seems to have started when I rolled out 2.1.6.  I don't see a current bug 
in my cursory search, so here you go!



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


[jira] [Updated] (CASSANDRA-9471) Columns should be backed by a BTree, not an array

2015-06-18 Thread Benedict (JIRA)

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

Benedict updated CASSANDRA-9471:

Reviewer: Branimir Lambov

 Columns should be backed by a BTree, not an array
 -

 Key: CASSANDRA-9471
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9471
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Assignee: Benedict
 Fix For: 3.0 beta 1


 Follow up to 8099. 
 We have pretty terrible lookup performance as the number of columns grows 
 (linear). In at least one location, this results in quadratic performance. 
 We don't however want this structure to be either any more expensive to 
 build, nor to store. Some small modifications to BTree will permit it to 
 serve here, by permitting efficient lookup by index, and calculation _of_ 
 index for a given key.



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


[jira] [Commented] (CASSANDRA-9615) Speed up Windows launch scripts

2015-06-18 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591807#comment-14591807
 ] 

Philip Thompson commented on CASSANDRA-9615:


/cc [~kishkaru]

 Speed up Windows launch scripts
 ---

 Key: CASSANDRA-9615
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9615
 Project: Cassandra
  Issue Type: Improvement
Reporter: Joshua McKenzie
Assignee: Joshua McKenzie
Priority: Minor
  Labels: Windows
 Fix For: 2.2.x


 Currently the async callback to start C* on Windows from within ccm is taking 
 upwards of 1.5 to 2 seconds per node due to a variety of somewhat expensive 
 process launches we're doing in there (java version check, async port open 
 checking). Contrast this with a crisp 0-1 ms on linux...
 Some of that stuff can be cleaned up and sped up which should help both speed 
 up our testing environment and iron out an error that pops up on the port 
 check w/IPv6 (note: node still starts, just complains).



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


[jira] [Commented] (CASSANDRA-9614) I am trying to execute queries using execute_concurrent() in python but I am getting the best throughput on a concurrency of 4 whereas according to the documentatio

2015-06-18 Thread Adam Holmberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591813#comment-14591813
 ] 

Adam Holmberg commented on CASSANDRA-9614:
--

[~kumarsaras] this is a good question for the Python Driver mailing list: 
https://groups.google.com/a/lists.datastax.com/forum/#!forum/python-driver-user
When asking there, it would be good to include information about your schema, 
query, and deployment.

 I am trying to execute queries using execute_concurrent() in python but I am 
 getting the best throughput on a concurrency of 4 whereas according to the 
 documentation there can be 100 concurrent requests. Why this kind of behavior?
 --

 Key: CASSANDRA-9614
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9614
 Project: Cassandra
  Issue Type: Test
  Components: Documentation  website
 Environment: Linux
Reporter: Kumar Saras





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


[jira] [Commented] (CASSANDRA-8099) Refactor and modernize the storage engine

2015-06-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591661#comment-14591661
 ] 

Sylvain Lebresne commented on CASSANDRA-8099:
-

As shown by Branimir's test, range tombstone merging was indeed broken and I've 
pushed the fix for that. I've included the old version test in question (with 
some ugly modification so it tests the reverse case), but I'll look at updating 
it for the more generic version unless you want to have a shot at it.

bq. It would be great to have this clarification in the doc.

Yes, sorry about that. I've tried to clarify and add to the comment in the code 
to start with. I'll update the guide to make that clearer when I have a bit 
more time.

{quote}
bq. I've pushed a small semantic-changing suggestion for serialization and 
merging of RT

I hesitated doing this initially and don't remember why I didn't
{quote}

I remember now.

The problem is reverse queries: we need to be able to merge iterator in reverse 
order. And if we re-use a start marker as updates of the deletion, we won't 
know when reversed and we see a start marker if that's a real start or an 
update. Plus we do need both deletion time at a range boundary (the one of the 
range we left for reverse queries, and the one of the range we enter for 
forward ones). In all fairness though, I did had forgotten to actually handle 
the reverse case in the merger, so I've fixed that, but said fix is trivial in 
the current approach.

Now, there is obviously possible alternatives for dealing with RTs, but I feel 
that the current approach has a bunch of good properties:
# it's a simple model: every RT has a begining followed by an end and that's it 
(no overlapping, no inclusions of ranges, very predictible).
# it works in both forward and reverse order, and in an obvious way.
# it makes the purging of gcable RTs trivial (you just blindly collect any 
gcable marker). This is something that was broken by the alternative patch in 
particular and would require some care.
# it reuse slice bounds without adding a new concept, which is nice I think.
So while other options are up for discussions, I think there is enough 
parameters to consider that I'd prefer such potential discussion to happen in a 
separate ticket.

I'll note that the re-imaging of markers at the beginning of index blocks is 
actually not necessary and something I forgot to remove. We now store in each 
index block if there is an open marker at the end of that block (primary so 
that we can decide if a sstable don't have any data for a given slice just from 
the index) making this redundant. So I've removed it.

Lastly, I fully agree that {{UnfilteredRowIterators.MergedUnfiltered}} is ugly 
and I meant it as a simple temporary solution: I'm sure we can find cleaner 
alternatives (maybe through some modification of the MergeIterator API so it's 
easy to produce more than one result for a given key).


 Refactor and modernize the storage engine
 -

 Key: CASSANDRA-8099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8099
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 3.0 beta 1

 Attachments: 8099-nit


 The current storage engine (which for this ticket I'll loosely define as the 
 code implementing the read/write path) is suffering from old age. One of the 
 main problem is that the only structure it deals with is the cell, which 
 completely ignores the more high level CQL structure that groups cell into 
 (CQL) rows.
 This leads to many inefficiencies, like the fact that during a reads we have 
 to group cells multiple times (to count on replica, then to count on the 
 coordinator, then to produce the CQL resultset) because we forget about the 
 grouping right away each time (so lots of useless cell names comparisons in 
 particular). But outside inefficiencies, having to manually recreate the CQL 
 structure every time we need it for something is hindering new features and 
 makes the code more complex that it should be.
 Said storage engine also has tons of technical debt. To pick an example, the 
 fact that during range queries we update {{SliceQueryFilter.count}} is pretty 
 hacky and error prone. Or the overly complex ways {{AbstractQueryPager}} has 
 to go into to simply remove the last query result.
 So I want to bite the bullet and modernize this storage engine. I propose to 
 do 2 main things:
 # Make the storage engine more aware of the CQL structure. In practice, 
 instead of having partitions be a simple iterable map of cells, it should be 
 an iterable list of row (each being itself composed of per-column cells, 
 though obviously not exactly the same kind of cell we have today).
 # Make the engine more iterative. 

[jira] [Commented] (CASSANDRA-9532) Provide access to select statement's real column definitions

2015-06-18 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591734#comment-14591734
 ] 

Sam Tunnicliffe commented on CASSANDRA-9532:


After some further (offline) discussion with [~blerer] we concluded that with 
some refactoring around {{Selectable}}  {{SelectorFactories}} we could 
probably do away with a separate class to maintain the mappings in 2.2  trunk. 
Rather than block this ticket, I'll open a separate issue to do that. In the 
meantime, to preserve the API for {{QueryHandler}} implementors, I've made 
{{SelectionColumnMapping}} an interface and renamed it to {{SelectionColumns}}, 
the idea being that at when we do the refactoring, we'll provide a means of 
getting a {{SelectionColumns}} from {{SelectorFactories}}.

 Provide access to select statement's real column definitions
 

 Key: CASSANDRA-9532
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9532
 Project: Cassandra
  Issue Type: Improvement
Reporter: mck
Assignee: Sam Tunnicliffe
 Fix For: 3.x, 2.1.x, 2.0.x, 2.2.x

 Attachments: 9532-2.0-v2.txt, 9532-2.1-v2.txt, 9532-2.2-v2.txt, 
 9532-trunk-v2.txt, cassandra-2.0-9532.txt, cassandra-2.1-9532.txt, 
 cassandra-2.2-9532.txt, trunk-9532.txt


 Currently there is no way to get access to the real ColumnDefinitions being 
 used in a SelectStatement.
 This information is there in
 {{selectStatement.selection.columns}} but is private.
 Giving public access would make it possible for third-party implementations 
 of a {{QueryHandler}} to work accurately with the real columns being queried 
 and not have to work-around column aliases (or when the rawSelectors don't 
 map directly to ColumnDefinitions, eg in Selection.fromSelectors(..), like 
 functions), which is what one has to do today with going through 
 ResultSet.metadata.names.
 This issue provides a very minimal patch to provide access to the already 
 final and immutable fields.



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


[jira] [Commented] (CASSANDRA-8099) Refactor and modernize the storage engine

2015-06-18 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591772#comment-14591772
 ] 

Benedict commented on CASSANDRA-8099:
-

bq.  I did had forgotten to actually handle the reverse case in the merger
bq. This is something that was broken by the alternative patch in particular 
and would require some care.

Do we have test coverage of these? I didn't notice them breaking :(

From a nomenclature standpoint, I would like to suggest we relabel the marker 
types to (something like) {{UPPER/LOWER}}, so that _internally_ we can refer 
to either as an open marker without confusion. Right now, the concept is 
blurred, because we treat close markers as open markers when operating in 
reverse, and IMO this hinders clarity. 

On the matter of the method for dealing with RTs, I agree with the majority of 
your points. However to improve the ugliness of {{MergedUnfiltered}} and remove 
the double persistence, why not introduce a special kind of RTM, of type 
{{BOUNDARY}}, which just has two timestamps. That's basically what the 
{{MergedUnfiltered}} is, so why not save space and improve clarity by promoting 
it to a first class concept? Unpicking them at merge when performing GC 
shouldn't be onerous.

I'm dubious about introducing more method calls to be invoked on every Cell, to 
permit the rare case of two atoms after one merge result. That's a code 
complexity and execution cost incurred for the uncommon case, but paid by all.

 Refactor and modernize the storage engine
 -

 Key: CASSANDRA-8099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8099
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 3.0 beta 1

 Attachments: 8099-nit


 The current storage engine (which for this ticket I'll loosely define as the 
 code implementing the read/write path) is suffering from old age. One of the 
 main problem is that the only structure it deals with is the cell, which 
 completely ignores the more high level CQL structure that groups cell into 
 (CQL) rows.
 This leads to many inefficiencies, like the fact that during a reads we have 
 to group cells multiple times (to count on replica, then to count on the 
 coordinator, then to produce the CQL resultset) because we forget about the 
 grouping right away each time (so lots of useless cell names comparisons in 
 particular). But outside inefficiencies, having to manually recreate the CQL 
 structure every time we need it for something is hindering new features and 
 makes the code more complex that it should be.
 Said storage engine also has tons of technical debt. To pick an example, the 
 fact that during range queries we update {{SliceQueryFilter.count}} is pretty 
 hacky and error prone. Or the overly complex ways {{AbstractQueryPager}} has 
 to go into to simply remove the last query result.
 So I want to bite the bullet and modernize this storage engine. I propose to 
 do 2 main things:
 # Make the storage engine more aware of the CQL structure. In practice, 
 instead of having partitions be a simple iterable map of cells, it should be 
 an iterable list of row (each being itself composed of per-column cells, 
 though obviously not exactly the same kind of cell we have today).
 # Make the engine more iterative. What I mean here is that in the read path, 
 we end up reading all cells in memory (we put them in a ColumnFamily object), 
 but there is really no reason to. If instead we were working with iterators 
 all the way through, we could get to a point where we're basically 
 transferring data from disk to the network, and we should be able to reduce 
 GC substantially.
 Please note that such refactor should provide some performance improvements 
 right off the bat but it's not it's primary goal either. It's primary goal is 
 to simplify the storage engine and adds abstraction that are better suited to 
 further optimizations.



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


[jira] [Created] (CASSANDRA-9617) Improve range tombstone testing coverage

2015-06-18 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-9617:
---

 Summary: Improve range tombstone testing coverage
 Key: CASSANDRA-9617
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9617
 Project: Cassandra
  Issue Type: Test
Reporter: Sylvain Lebresne


We don't have generally a very good test coverage of range tombstones. 
Typically, most range tombstones test are pretty simple, but we should test 
cases with many range tombstones, with and without them overlapping, and make 
sure everything (including forward, reverse, name and slice queries, purging of 
the ranges after gcgrace, etc...) still work as it should. 



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


[jira] [Commented] (CASSANDRA-8099) Refactor and modernize the storage engine

2015-06-18 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591825#comment-14591825
 ] 

Sylvain Lebresne commented on CASSANDRA-8099:
-

bq. why not introduce a special kind of RTM, of type BOUNDARY

Because that doesn't really fit the part about reusing slice bounds without 
adding a new concept. A RT is a slice of deletion, and I think that's rather 
clean. I strongly suspect that either not reusing slice for RTs, adding a 
{{BOUNDARY}} concept to {{Slice.BOUND}} (which doesn't really make sense for 
slices per-se), or some other hack to work around this will make things more 
confusing/complex, and is thus not worth a minor optimization of a probably 
pretty rare situation in practice. Feel free to give the changes a shot though 
if you're convinced otherwise, and we can have a more informed discussion on 
the result.

bq. Do we have test coverage of these?

We have generally poor coverage of range tombstone usage (though I've modified 
Branamir's test to test the reverse case too, so we have one test for that now 
at least). We have some basic tests, but nothing fancy enough. I've created 
CASSANDRA-9617 to improve this.

bq. I would like to suggest we relabel the marker types to (something like) 
{{UPPER/LOWER}}

We can, though due to the point above that means also renaming it for slices in 
general. Which is not crazy per-se in that we do scan slices from end to start 
for reverse queries so they are equivalent in that respect, it's just that it's 
a departure of the existing nomenclature (which  I don't personally mind).

 Refactor and modernize the storage engine
 -

 Key: CASSANDRA-8099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8099
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 3.0 beta 1

 Attachments: 8099-nit


 The current storage engine (which for this ticket I'll loosely define as the 
 code implementing the read/write path) is suffering from old age. One of the 
 main problem is that the only structure it deals with is the cell, which 
 completely ignores the more high level CQL structure that groups cell into 
 (CQL) rows.
 This leads to many inefficiencies, like the fact that during a reads we have 
 to group cells multiple times (to count on replica, then to count on the 
 coordinator, then to produce the CQL resultset) because we forget about the 
 grouping right away each time (so lots of useless cell names comparisons in 
 particular). But outside inefficiencies, having to manually recreate the CQL 
 structure every time we need it for something is hindering new features and 
 makes the code more complex that it should be.
 Said storage engine also has tons of technical debt. To pick an example, the 
 fact that during range queries we update {{SliceQueryFilter.count}} is pretty 
 hacky and error prone. Or the overly complex ways {{AbstractQueryPager}} has 
 to go into to simply remove the last query result.
 So I want to bite the bullet and modernize this storage engine. I propose to 
 do 2 main things:
 # Make the storage engine more aware of the CQL structure. In practice, 
 instead of having partitions be a simple iterable map of cells, it should be 
 an iterable list of row (each being itself composed of per-column cells, 
 though obviously not exactly the same kind of cell we have today).
 # Make the engine more iterative. What I mean here is that in the read path, 
 we end up reading all cells in memory (we put them in a ColumnFamily object), 
 but there is really no reason to. If instead we were working with iterators 
 all the way through, we could get to a point where we're basically 
 transferring data from disk to the network, and we should be able to reduce 
 GC substantially.
 Please note that such refactor should provide some performance improvements 
 right off the bat but it's not it's primary goal either. It's primary goal is 
 to simplify the storage engine and adds abstraction that are better suited to 
 further optimizations.



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


[jira] [Commented] (CASSANDRA-8817) Error handling in Cassandra logs in low memory scenarios could use improvement

2015-06-18 Thread Gary Dusbabek (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591945#comment-14591945
 ] 

Gary Dusbabek commented on CASSANDRA-8817:
--

What would be appropriate levels for Y and Z?

 Error handling in Cassandra logs in low memory scenarios could use improvement
 --

 Key: CASSANDRA-8817
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8817
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Ubuntu 14.04, VM originally created with 1 GB RAM, DSE 
 4.6.0 installed
Reporter: Michael DeHaan
Priority: Minor
  Labels: lhf
 Fix For: 2.1.x


 When running Cassandra with a low amount of RAM, in this case, using DataStax 
 Enterprise 4.6.0 in a reasonably default configuration, I find that I get an 
 error after starting and trying to use nodetool, namely that it cannot 
 connect to 127.0.0.1.   Originally this sends me up a creek, looking for why 
 Cassandra is not listening on 7199.  The truth ends up being a bit more 
 cryptic - that Cassandra isn't running.
 Upon looking at the Cassandra system logs, I see the last thing that it did 
 was print out the (very long) class path.   This confused me as basically I'm 
 seeing no errors in the log at all.
 I am proposing that Cassandra should check the amount of available RAM and 
 issue a warning in the log, or possibly an error, because in this scenario 
 Cassandra is going to oomkill and probably could have predicted this in 
 advance.
 Something like:
 Found X MB of RAM, expecting at least Y MB of RAM, Z MB recommended, may 
 crash, adjust SETTINGS or something similar would be a possible solution.



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


[jira] [Commented] (CASSANDRA-8099) Refactor and modernize the storage engine

2015-06-18 Thread Branimir Lambov (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591912#comment-14591912
 ] 

Branimir Lambov commented on CASSANDRA-8099:


Pushed [updated 
test|https://github.com/pcmanus/cassandra/compare/8099...blambov:8099-fix]. The 
code is much better now, the equivalence test passes even for larger tests. 
There's one more problem to fix, though, it generates invalid empty ranges 
violating the ordering of the iterator, for example:
{code}
Seed 10
Merging
14=[8] 15[8] 23 46 56=[93] 69[93] 80 81 88=[70] 90[70] 90 93=[72] 
=95[72] 97 
10 12 33 37=[71] 39[71] 39=[8] =44[8] 55[14] =57[14] 68 92=[45] 98[45] 
98=[80] =98[80] 99 
2 8 24 33=[7] 45[7] 51 62 63 63 79=[71] =79[71] 81=[16] =81[16] 
results in
2 8 10 12 14=[8] 15[8] 23 24 33=[7] 33 37[7] 37=[71] 39[71] 39=[7] 
39[7] 39=[8] =44[8] 44[7] 45[7] 46 51 55[14] 56[14] 56=[93] 68 69[93] 
79=[71] =79[71] 80 81=[16] =81[16] 88=[70] 90[70] 90 92=[45] 93[45] 
93=[72] =95[72] 95
[45] 98[45] 98=[80] =98[80] 99 
java.lang.AssertionError: 39=[7] not ordered before 39[7]
{code}

 Refactor and modernize the storage engine
 -

 Key: CASSANDRA-8099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8099
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 3.0 beta 1

 Attachments: 8099-nit


 The current storage engine (which for this ticket I'll loosely define as the 
 code implementing the read/write path) is suffering from old age. One of the 
 main problem is that the only structure it deals with is the cell, which 
 completely ignores the more high level CQL structure that groups cell into 
 (CQL) rows.
 This leads to many inefficiencies, like the fact that during a reads we have 
 to group cells multiple times (to count on replica, then to count on the 
 coordinator, then to produce the CQL resultset) because we forget about the 
 grouping right away each time (so lots of useless cell names comparisons in 
 particular). But outside inefficiencies, having to manually recreate the CQL 
 structure every time we need it for something is hindering new features and 
 makes the code more complex that it should be.
 Said storage engine also has tons of technical debt. To pick an example, the 
 fact that during range queries we update {{SliceQueryFilter.count}} is pretty 
 hacky and error prone. Or the overly complex ways {{AbstractQueryPager}} has 
 to go into to simply remove the last query result.
 So I want to bite the bullet and modernize this storage engine. I propose to 
 do 2 main things:
 # Make the storage engine more aware of the CQL structure. In practice, 
 instead of having partitions be a simple iterable map of cells, it should be 
 an iterable list of row (each being itself composed of per-column cells, 
 though obviously not exactly the same kind of cell we have today).
 # Make the engine more iterative. What I mean here is that in the read path, 
 we end up reading all cells in memory (we put them in a ColumnFamily object), 
 but there is really no reason to. If instead we were working with iterators 
 all the way through, we could get to a point where we're basically 
 transferring data from disk to the network, and we should be able to reduce 
 GC substantially.
 Please note that such refactor should provide some performance improvements 
 right off the bat but it's not it's primary goal either. It's primary goal is 
 to simplify the storage engine and adds abstraction that are better suited to 
 further optimizations.



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


[jira] [Commented] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Robbie Strickland (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591977#comment-14591977
 ] 

Robbie Strickland commented on CASSANDRA-9607:
--

Yes it does.  It seems from our observation to be related to 1) our heavy use 
of DTCS combined with 
[CASSANDRA-9549|https://issues.apache.org/jira/browse/CASSANDRA-9549] and 2) 
severe GC pauses (such that it was GCing constantly).  

We were able to make things stable by moving to G1 with the following 
modifications:

{{code}}
#JVM_OPTS=$JVM_OPTS -Xmn${HEAP_NEWSIZE}
JVM_OPTS=$JVM_OPTS -XX:+UseG1GC
JVM_OPTS=$JVM_OPTS -XX:MaxGCPauseMillis=1000
JVM_OPTS=$JVM_OPTS -XX:+UseTLAB -XX:+ResizeTLAB
JVM_OPTS=$JVM_OPTS -XX:-UseBiasedLocking
{{code}}

This is still a work in progress, but it has allowed us to reach a stable state.

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7
Reporter: Study Hsueh
Priority: Critical
 Attachments: load.png


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Comment Edited] (CASSANDRA-8099) Refactor and modernize the storage engine

2015-06-18 Thread Branimir Lambov (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591912#comment-14591912
 ] 

Branimir Lambov edited comment on CASSANDRA-8099 at 6/18/15 2:47 PM:
-

Pushed [updated 
test|https://github.com/pcmanus/cassandra/compare/8099...blambov:8099-fix]. The 
code is much better now, the equivalence test passes even for larger tests. 
There's one more problem to fix, though, it generates invalid empty ranges 
violating the ordering of the iterator, for example:
{code}
Seed 10
Merging
14=[8] 15[8] 23 46 56=[93] 69[93] 80 81 88=[70] 90[70] 90 93=[72] 
=95[72] 97 
10 12 33 37=[71] 39[71] 39=[8] =44[8] 55[14] =57[14] 68 92=[45] 98[45] 
98=[80] =98[80] 99 
2 8 24 33=[7] 45[7] 51 62 63 63 79=[71] =79[71] 81=[16] =81[16] 
results in
2 8 10 12 14=[8] 15[8] 23 24 33=[7] 33 37[7] 37=[71] 39[71] 39=[7] 
39[7] 39=[8] =44[8] 44[7] 45[7] 46 51 55[14] 56[14] 56=[93] 68 69[93] 
79=[71] =79[71] 80 81=[16] =81[16] 88=[70] 90[70] 90 92=[45] 93[45] 
93=[72] =95[72] 95[45] 98[45] 98=[80] =98[80] 99 
java.lang.AssertionError: 39=[7] not ordered before 39[7]
{code}


was (Author: blambov):
Pushed [updated 
test|https://github.com/pcmanus/cassandra/compare/8099...blambov:8099-fix]. The 
code is much better now, the equivalence test passes even for larger tests. 
There's one more problem to fix, though, it generates invalid empty ranges 
violating the ordering of the iterator, for example:
{code}
Seed 10
Merging
14=[8] 15[8] 23 46 56=[93] 69[93] 80 81 88=[70] 90[70] 90 93=[72] 
=95[72] 97 
10 12 33 37=[71] 39[71] 39=[8] =44[8] 55[14] =57[14] 68 92=[45] 98[45] 
98=[80] =98[80] 99 
2 8 24 33=[7] 45[7] 51 62 63 63 79=[71] =79[71] 81=[16] =81[16] 
results in
2 8 10 12 14=[8] 15[8] 23 24 33=[7] 33 37[7] 37=[71] 39[71] 39=[7] 
39[7] 39=[8] =44[8] 44[7] 45[7] 46 51 55[14] 56[14] 56=[93] 68 69[93] 
79=[71] =79[71] 80 81=[16] =81[16] 88=[70] 90[70] 90 92=[45] 93[45] 
93=[72] =95[72] 95
[45] 98[45] 98=[80] =98[80] 99 
java.lang.AssertionError: 39=[7] not ordered before 39[7]
{code}

 Refactor and modernize the storage engine
 -

 Key: CASSANDRA-8099
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8099
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 3.0 beta 1

 Attachments: 8099-nit


 The current storage engine (which for this ticket I'll loosely define as the 
 code implementing the read/write path) is suffering from old age. One of the 
 main problem is that the only structure it deals with is the cell, which 
 completely ignores the more high level CQL structure that groups cell into 
 (CQL) rows.
 This leads to many inefficiencies, like the fact that during a reads we have 
 to group cells multiple times (to count on replica, then to count on the 
 coordinator, then to produce the CQL resultset) because we forget about the 
 grouping right away each time (so lots of useless cell names comparisons in 
 particular). But outside inefficiencies, having to manually recreate the CQL 
 structure every time we need it for something is hindering new features and 
 makes the code more complex that it should be.
 Said storage engine also has tons of technical debt. To pick an example, the 
 fact that during range queries we update {{SliceQueryFilter.count}} is pretty 
 hacky and error prone. Or the overly complex ways {{AbstractQueryPager}} has 
 to go into to simply remove the last query result.
 So I want to bite the bullet and modernize this storage engine. I propose to 
 do 2 main things:
 # Make the storage engine more aware of the CQL structure. In practice, 
 instead of having partitions be a simple iterable map of cells, it should be 
 an iterable list of row (each being itself composed of per-column cells, 
 though obviously not exactly the same kind of cell we have today).
 # Make the engine more iterative. What I mean here is that in the read path, 
 we end up reading all cells in memory (we put them in a ColumnFamily object), 
 but there is really no reason to. If instead we were working with iterators 
 all the way through, we could get to a point where we're basically 
 transferring data from disk to the network, and we should be able to reduce 
 GC substantially.
 Please note that such refactor should provide some performance improvements 
 right off the bat but it's not it's primary goal either. It's primary goal is 
 to simplify the storage engine and adds abstraction that are better suited to 
 further optimizations.



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


[jira] [Created] (CASSANDRA-9619) Read performance regression on trunk and 2.2 vs. 2.1

2015-06-18 Thread Jim Witschey (JIRA)
Jim Witschey created CASSANDRA-9619:
---

 Summary: Read performance regression on trunk and 2.2 vs. 2.1
 Key: CASSANDRA-9619
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9619
 Project: Cassandra
  Issue Type: Bug
Reporter: Jim Witschey


There seems to be a regression in read in 2.2 and trunk, as compared to 2.1 and 
2.0. I found it running cstar_perf jobs with 50-column tables. 2.2 may be worse 
than trunk, though my results on that aren't consistent. The relevant 
cstar_perf jobs are here:

http://cstar.datastax.com/tests/id/273e2ea8-0fc8-11e5-816c-42010af0688f

http://cstar.datastax.com/tests/id/3a8002d6-1480-11e5-97ff-42010af0688f

http://cstar.datastax.com/tests/id/40ff2766-1248-11e5-bac8-42010af0688f

The sequence of commands for these jobs is

{code}
stress write n=6500 -rate threads=300 -col n=FIXED\(50\)
stress read n=6500 -rate threads=300
stress read n=6500 -rate threads=300
{code}

Have a look at the operations per second going from [the first read 
operation|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=op_rateoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=729.08ymin=0ymax=174379.7]
 to [the second read 
operation|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=op_rateoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=729.08ymin=0ymax=174379.7].
 They've fallen from ~135K to ~100K comparing trunk to 2.1 and 2.0. It's 
slightly worse for 2.2, and 2.2 operations per second fall continuously from 
the first to the second read operation.

There's a corresponding increase in read latency -- it's noticable on trunk and 
pretty bad on 2.2. Again, the latency gets higher and higher on 2.2 as the read 
operations progress (see the graphs 
[here|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=95th_latencyoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=729.08ymin=0ymax=17.27]
 and 
[here|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=95th_latencyoperation=3_readsmoothing=1show_aggregates=truexmin=0xmax=928.62ymin=0ymax=14.52]).

I see a similar regression in a [more recent 
test|http://cstar.datastax.com/graph?stats=40ff2766-1248-11e5-bac8-42010af0688fmetric=op_rateoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=752.62ymin=0ymax=171799.1],
 though in this one trunk performed worse than 2.2. This run also didn't 
display the increasing latency in 2.2.

This regression may show for smaller numbers of columns, but not as 
prominently, as shown [in the results to this test with the stress default of 5 
columns|http://cstar.datastax.com/graph?stats=227cb89e-0fc8-11e5-9f14-42010af0688fmetric=99.9th_latencyoperation=3_readsmoothing=1show_aggregates=truexmin=0xmax=498.19ymin=0ymax=334.29].
 There's an increase in latency variability on trunk and 2.2, but I don't see a 
regression in summary statistics.

My measurements aren't confounded by [the recent regression in 
cassandra-stress|https://issues.apache.org/jira/browse/CASSANDRA-9558]; 
cstar_perf uses the same stress program (from trunk) on all versions on the 
cluster.

I'm currently working to

- reproduce with a smaller workload so this is easier to bisect and debug.
- get results with larger numbers of columns, since we've seen the regression 
on 50 columns but not the stress default of 5.



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


[jira] [Comment Edited] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Robbie Strickland (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591977#comment-14591977
 ] 

Robbie Strickland edited comment on CASSANDRA-9607 at 6/18/15 3:32 PM:
---

Yes it does.  It seems from our observation to be related to 1) our heavy use 
of DTCS combined with 
[CASSANDRA-9549|https://issues.apache.org/jira/browse/CASSANDRA-9549] and 2) 
severe GC pauses (such that it was GCing constantly).  

We were able to make things stable by moving to G1 with the following 
modifications:

{code}
#JVM_OPTS=$JVM_OPTS -Xmn${HEAP_NEWSIZE}
JVM_OPTS=$JVM_OPTS -XX:+UseG1GC
JVM_OPTS=$JVM_OPTS -XX:MaxGCPauseMillis=1000
JVM_OPTS=$JVM_OPTS -XX:+UseTLAB -XX:+ResizeTLAB
JVM_OPTS=$JVM_OPTS -XX:-UseBiasedLocking
{code}

This is still a work in progress, but it has allowed us to reach a stable state.


was (Author: rstrickland):
Yes it does.  It seems from our observation to be related to 1) our heavy use 
of DTCS combined with 
[CASSANDRA-9549|https://issues.apache.org/jira/browse/CASSANDRA-9549] and 2) 
severe GC pauses (such that it was GCing constantly).  

We were able to make things stable by moving to G1 with the following 
modifications:

{{code}}
#JVM_OPTS=$JVM_OPTS -Xmn${HEAP_NEWSIZE}
JVM_OPTS=$JVM_OPTS -XX:+UseG1GC
JVM_OPTS=$JVM_OPTS -XX:MaxGCPauseMillis=1000
JVM_OPTS=$JVM_OPTS -XX:+UseTLAB -XX:+ResizeTLAB
JVM_OPTS=$JVM_OPTS -XX:-UseBiasedLocking
{{code}}

This is still a work in progress, but it has allowed us to reach a stable state.

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7
Reporter: Study Hsueh
Priority: Critical
 Attachments: load.png


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Commented] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Jonathan Ellis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591843#comment-14591843
 ] 

Jonathan Ellis commented on CASSANDRA-9607:
---

Sound familiar [~rstrickland]?

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7
Reporter: Study Hsueh
Priority: Critical
 Attachments: load.png


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Created] (CASSANDRA-9618) Consider deprecating sstable2json/json2sstable in 2.2

2015-06-18 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-9618:
---

 Summary: Consider deprecating sstable2json/json2sstable in 2.2
 Key: CASSANDRA-9618
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9618
 Project: Cassandra
  Issue Type: Task
Reporter: Sylvain Lebresne
 Fix For: 2.2.0 rc2


The rational is explained in CASSANDRA-7464 but to rephrase a bit:
* json2sstable is pretty much useless, {{CQLSSTableWriter}} is way more 
flexible if you need to write sstable directly.
* sstable2json is really only potentially useful for debugging, but it's pretty 
bad at that (it's output is not really all that helpul in modern Cassandra in 
particular).

Now, it happens that updating those tool for CASSANDRA-8099, while possible, is 
a bit involved. So I don't think it make sense to invest effort in maintain 
these tools. So I propose to deprecate these in 2.2 with removal in 3.0.

I'll note that having a tool to help debugging sstable can be useful, but I 
propose to add a tool for that purpose with CASSANDRA-7464.




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


[jira] [Commented] (CASSANDRA-8817) Error handling in Cassandra logs in low memory scenarios could use improvement

2015-06-18 Thread Michael DeHaan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14591954#comment-14591954
 ] 

Michael DeHaan commented on CASSANDRA-8817:
---

I believe I was using the DataStax sandbox at the time, and did not write any 
data into the cluster, it just wouldn't start up.  I was not starting Analytics 
or Search. It could happen with DSC, the general problem with guides is people 
will miss things.  

Basically is it's really easy for new users to not allocate enough RAM, and 
then have a bad first experience with C* because there's no log message.

I have no idea about the Y and Z, but something that can try and warn before 
the OOMkill would be nice.

Even a basic warning if it starts up with less than 256 MB free RAM might work? 
 Might sometimes false positive, but could make configurable, IDK?



 Error handling in Cassandra logs in low memory scenarios could use improvement
 --

 Key: CASSANDRA-8817
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8817
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
 Environment: Ubuntu 14.04, VM originally created with 1 GB RAM, DSE 
 4.6.0 installed
Reporter: Michael DeHaan
Priority: Minor
  Labels: lhf
 Fix For: 2.1.x


 When running Cassandra with a low amount of RAM, in this case, using DataStax 
 Enterprise 4.6.0 in a reasonably default configuration, I find that I get an 
 error after starting and trying to use nodetool, namely that it cannot 
 connect to 127.0.0.1.   Originally this sends me up a creek, looking for why 
 Cassandra is not listening on 7199.  The truth ends up being a bit more 
 cryptic - that Cassandra isn't running.
 Upon looking at the Cassandra system logs, I see the last thing that it did 
 was print out the (very long) class path.   This confused me as basically I'm 
 seeing no errors in the log at all.
 I am proposing that Cassandra should check the amount of available RAM and 
 issue a warning in the log, or possibly an error, because in this scenario 
 Cassandra is going to oomkill and probably could have predicted this in 
 advance.
 Something like:
 Found X MB of RAM, expecting at least Y MB of RAM, Z MB recommended, may 
 crash, adjust SETTINGS or something similar would be a possible solution.



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


cassandra git commit: Rename class for DATE type in Java driver

2015-06-18 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 94be12c6f - a13399279


Rename class for DATE type in Java driver

patch by Robert Stupp; reviewed by Aleksey Yeschenko for CASSANDRA-9563


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

Branch: refs/heads/cassandra-2.2
Commit: a13399279b4e863779af938fb4f7da9abc4755d2
Parents: 94be12c
Author: Robert Stupp sn...@snazy.de
Authored: Thu Jun 18 18:02:45 2015 +0200
Committer: Robert Stupp sn...@snazy.de
Committed: Thu Jun 18 18:02:45 2015 +0200

--
 CHANGES.txt  |   1 +
 ...r-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar | Bin 2155169 - 0 bytes
 ...r-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar | Bin 0 - 2154972 bytes
 .../cassandra/hadoop/cql3/CqlRecordReader.java   |   6 +++---
 4 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3671af9..76a42ab 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2
+ * Rename class for DATE type in Java driver (CASSANDRA-9563)
  * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
  * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
  * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar
--
diff --git a/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar 
b/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar
deleted file mode 100644
index d75a595..000
Binary files a/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar
--
diff --git a/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar 
b/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar
new file mode 100644
index 000..7d971df
Binary files /dev/null and 
b/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java 
b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
index 3e79ad1..6db851d 100644
--- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
+++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 import com.datastax.driver.core.Cluster;
 import com.datastax.driver.core.ColumnDefinitions;
 import com.datastax.driver.core.ColumnMetadata;
-import com.datastax.driver.core.DateWithoutTime;
+import com.datastax.driver.core.LocalDate;
 import com.datastax.driver.core.Metadata;
 import com.datastax.driver.core.ResultSet;
 import com.datastax.driver.core.Row;
@@ -418,13 +418,13 @@ public class CqlRecordReader extends RecordReaderLong, 
Row
 }
 
 @Override
-public DateWithoutTime getDate(int i)
+public LocalDate getDate(int i)
 {
 return row.getDate(i);
 }
 
 @Override
-public DateWithoutTime getDate(String s)
+public LocalDate getDate(String s)
 {
 return row.getDate(s);
 }



[jira] [Updated] (CASSANDRA-9613) Omit (de)serialization of state variable in UDAs

2015-06-18 Thread Robert Stupp (JIRA)

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

Robert Stupp updated CASSANDRA-9613:

Fix Version/s: 3.x

 Omit (de)serialization of state variable in UDAs
 

 Key: CASSANDRA-9613
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9613
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Priority: Minor
 Fix For: 3.x


 Currently the result of each UDA's state function call is serialized and then 
 deserialized for the next state-function invocation and optionally final 
 function invocation.



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


[jira] [Updated] (CASSANDRA-9571) Set HAS_MORE_PAGES flag when PagingState is null

2015-06-18 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe updated CASSANDRA-9571:
---
Fix Version/s: (was: 3.0.x)
   (was: 2.2.x)
   (was: 2.0.x)
   (was: 2.1.x)
   2.2.0 rc2
   2.1.7
   2.0.16
   3.0 beta 1

 Set HAS_MORE_PAGES flag when PagingState is null
 

 Key: CASSANDRA-9571
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9571
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sam Tunnicliffe
Assignee: Sam Tunnicliffe
Priority: Minor
 Fix For: 3.0 beta 1, 2.0.16, 2.1.7, 2.2.0 rc2

 Attachments: 9571-2.0.txt


 If {{ResultSet.Metadata#setHasMorePages}} is called with a null 
 {{PagingState}}, indicating that there are no more available results, we 
 should explicitly unset the {{HAS_MORE_PAGES}} flag. This can be necessary 
 where a custom {{QueryHandler}} implements its own {{LIMIT}} logic and wishes 
 to send the signal to the client that the results are exhausted before the 
 storage engine would normally do so.



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


[jira] [Commented] (CASSANDRA-9532) Provide access to select statement's real column definitions

2015-06-18 Thread Benjamin Lerer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9532?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592002#comment-14592002
 ] 

Benjamin Lerer commented on CASSANDRA-9532:
---

+1

 Provide access to select statement's real column definitions
 

 Key: CASSANDRA-9532
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9532
 Project: Cassandra
  Issue Type: Improvement
Reporter: mck
Assignee: Sam Tunnicliffe
 Fix For: 3.x, 2.1.x, 2.0.x, 2.2.x

 Attachments: 9532-2.0-v2.txt, 9532-2.1-v2.txt, 9532-2.2-v2.txt, 
 9532-trunk-v2.txt, cassandra-2.0-9532.txt, cassandra-2.1-9532.txt, 
 cassandra-2.2-9532.txt, trunk-9532.txt


 Currently there is no way to get access to the real ColumnDefinitions being 
 used in a SelectStatement.
 This information is there in
 {{selectStatement.selection.columns}} but is private.
 Giving public access would make it possible for third-party implementations 
 of a {{QueryHandler}} to work accurately with the real columns being queried 
 and not have to work-around column aliases (or when the rawSelectors don't 
 map directly to ColumnDefinitions, eg in Selection.fromSelectors(..), like 
 functions), which is what one has to do today with going through 
 ResultSet.metadata.names.
 This issue provides a very minimal patch to provide access to the already 
 final and immutable fields.



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


[jira] [Updated] (CASSANDRA-9563) Rename class for DATE type in Java driver

2015-06-18 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-9563:
-
Reviewer: Aleksey Yeschenko

 Rename class for DATE type in Java driver
 -

 Key: CASSANDRA-9563
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9563
 Project: Cassandra
  Issue Type: Improvement
Reporter: Olivier Michallat
Assignee: Robert Stupp
Priority: Minor
 Fix For: 2.2.0 rc2


 An early preview of the Java driver 2.2 was provided for inclusion in 
 Cassandra 2.2.0-rc1. It uses a custom Java type to represent CQL type 
 {{DATE}}. Currently that Java type is called {{DateWithoutTime}}.
 We'd like to rename it to {{LocalDate}}. This would be a breaking change for 
 Cassandra, because that type is visible from UDF implementations.



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


[jira] [Commented] (CASSANDRA-9618) Consider deprecating sstable2json/json2sstable in 2.2

2015-06-18 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592012#comment-14592012
 ] 

Aleksey Yeschenko commented on CASSANDRA-9618:
--

Agreed. +1 to that.

 Consider deprecating sstable2json/json2sstable in 2.2
 -

 Key: CASSANDRA-9618
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9618
 Project: Cassandra
  Issue Type: Task
Reporter: Sylvain Lebresne
 Fix For: 2.2.0 rc2


 The rational is explained in CASSANDRA-7464 but to rephrase a bit:
 * json2sstable is pretty much useless, {{CQLSSTableWriter}} is way more 
 flexible if you need to write sstable directly.
 * sstable2json is really only potentially useful for debugging, but it's 
 pretty bad at that (it's output is not really all that helpul in modern 
 Cassandra in particular).
 Now, it happens that updating those tool for CASSANDRA-8099, while possible, 
 is a bit involved. So I don't think it make sense to invest effort in 
 maintain these tools. So I propose to deprecate these in 2.2 with removal in 
 3.0.
 I'll note that having a tool to help debugging sstable can be useful, but I 
 propose to add a tool for that purpose with CASSANDRA-7464.



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


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

2015-06-18 Thread snazy
Merge branch 'cassandra-2.2' into trunk


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

Branch: refs/heads/trunk
Commit: 67baaef0f93fde85aa194ccf651fa673b0acfdf3
Parents: 4938ab5 a133992
Author: Robert Stupp sn...@snazy.de
Authored: Thu Jun 18 18:03:27 2015 +0200
Committer: Robert Stupp sn...@snazy.de
Committed: Thu Jun 18 18:03:27 2015 +0200

--
 CHANGES.txt  |   1 +
 ...r-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar | Bin 2155169 - 0 bytes
 ...r-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar | Bin 0 - 2154972 bytes
 .../cassandra/hadoop/cql3/CqlRecordReader.java   |   6 +++---
 4 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/67baaef0/CHANGES.txt
--
diff --cc CHANGES.txt
index 16d9722,76a42ab..39309a7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,5 +1,16 @@@
 +3.0:
 + * Add nodetool command to replay batchlog (CASSANDRA-9547)
 + * Make file buffer cache independent of paths being read (CASSANDRA-8897)
 + * Remove deprecated legacy Hadoop code (CASSANDRA-9353)
 + * Decommissioned nodes will not rejoin the cluster (CASSANDRA-8801)
 + * Change gossip stabilization to use endpoit size (CASSANDRA-9401)
 + * Change default garbage collector to G1 (CASSANDRA-7486)
 + * Populate TokenMetadata early during startup (CASSANDRA-9317)
 + * undeprecate cache recentHitRate (CASSANDRA-6591)
 +
 +
  2.2
+  * Rename class for DATE type in Java driver (CASSANDRA-9563)
   * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
   * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
   * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)



[1/2] cassandra git commit: Rename class for DATE type in Java driver

2015-06-18 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk 4938ab5bf - 67baaef0f


Rename class for DATE type in Java driver

patch by Robert Stupp; reviewed by Aleksey Yeschenko for CASSANDRA-9563


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

Branch: refs/heads/trunk
Commit: a13399279b4e863779af938fb4f7da9abc4755d2
Parents: 94be12c
Author: Robert Stupp sn...@snazy.de
Authored: Thu Jun 18 18:02:45 2015 +0200
Committer: Robert Stupp sn...@snazy.de
Committed: Thu Jun 18 18:02:45 2015 +0200

--
 CHANGES.txt  |   1 +
 ...r-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar | Bin 2155169 - 0 bytes
 ...r-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar | Bin 0 - 2154972 bytes
 .../cassandra/hadoop/cql3/CqlRecordReader.java   |   6 +++---
 4 files changed, 4 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3671af9..76a42ab 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2
+ * Rename class for DATE type in Java driver (CASSANDRA-9563)
  * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
  * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
  * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar
--
diff --git a/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar 
b/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar
deleted file mode 100644
index d75a595..000
Binary files a/lib/cassandra-driver-core-2.2.0-rc1-SNAPSHOT-20150603-shaded.jar 
and /dev/null differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar
--
diff --git a/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar 
b/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar
new file mode 100644
index 000..7d971df
Binary files /dev/null and 
b/lib/cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar differ

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a1339927/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
--
diff --git a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java 
b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
index 3e79ad1..6db851d 100644
--- a/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
+++ b/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordReader.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 import com.datastax.driver.core.Cluster;
 import com.datastax.driver.core.ColumnDefinitions;
 import com.datastax.driver.core.ColumnMetadata;
-import com.datastax.driver.core.DateWithoutTime;
+import com.datastax.driver.core.LocalDate;
 import com.datastax.driver.core.Metadata;
 import com.datastax.driver.core.ResultSet;
 import com.datastax.driver.core.Row;
@@ -418,13 +418,13 @@ public class CqlRecordReader extends RecordReaderLong, 
Row
 }
 
 @Override
-public DateWithoutTime getDate(int i)
+public LocalDate getDate(int i)
 {
 return row.getDate(i);
 }
 
 @Override
-public DateWithoutTime getDate(String s)
+public LocalDate getDate(String s)
 {
 return row.getDate(s);
 }



[jira] [Updated] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

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

Study Hsueh updated CASSANDRA-9607:
---
Environment: 
OS: 
CentOS 6 * 4
Ubuntu 14.04 * 2

JDK: Oracle JDK 7

VM: Azure VM Standard A3 * 6
RAM: 7 GB
Cores: 4

  was:
OS: 
CentOS 6 * 4
Ubuntu 14.04 * 2

JDK: Oracle JDK 7


 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: load.png


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[04/12] cassandra git commit: Expose some internals of SelectStatement for inspection by QueryHandlers

2015-06-18 Thread samt
Expose some internals of SelectStatement for inspection by QueryHandlers

patch by Sam Tunnicliffe; reviewed by Benjamin Lerer and Mick Semb Wever
for CASSANDRA-9532


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

Branch: refs/heads/trunk
Commit: f32cff8e1fb69317219ffaee81b5861a54b83a1b
Parents: ad8047a
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 4 18:12:35 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:11:00 2015 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/cql3/ColumnSpecification.java |  22 ++
 .../cql3/statements/SelectStatement.java|  37 ++-
 .../cassandra/cql3/statements/Selection.java|  80 +++---
 .../cql3/statements/SelectionColumnMapping.java | 106 
 .../cql3/statements/SelectionColumns.java   |  19 ++
 .../statements/SelectionColumnMappingTest.java  | 244 +++
 7 files changed, 476 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 753fb1c..a235528 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.16:
+ * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
  * ArrivalWindow should use primitives (CASSANDRA-9496)
  * Periodically submit background compaction tasks (CASSANDRA-9592)
  * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
--
diff --git a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java 
b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
index 4dae701..089a1c5 100644
--- a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
@@ -17,6 +17,8 @@
  */
 package org.apache.cassandra.cql3;
 
+import com.google.common.base.Objects;
+
 import org.apache.cassandra.db.marshal.AbstractType;
 
 public class ColumnSpecification
@@ -40,4 +42,24 @@ public class ColumnSpecification
 // Not fully conventional, but convenient (for error message to users 
in particular)
 return name.toString();
 }
+
+public boolean equals(Object obj)
+{
+if (null == obj)
+return false;
+
+if(!(obj instanceof ColumnSpecification))
+return false;
+
+ColumnSpecification other = (ColumnSpecification)obj;
+return Objects.equal(ksName, other.ksName)
+ Objects.equal(cfName, other.cfName)
+ Objects.equal(name, other.name)
+ Objects.equal(type, other.type);
+}
+
+public int hashCode()
+{
+return Objects.hashCode(ksName, cfName, name, type);
+}
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 95e0441..1c19760 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -60,7 +60,10 @@ import org.slf4j.LoggerFactory;
 /**
  * Encapsulates a completely parsed SELECT query, including the target
  * column family, expression, result count, and ordering clause.
- *
+ * A number of public methods here are only used internally. However,
+ * many of these are made accessible for the benefit of custom
+ * QueryHandler implementations, so before reducing their accessibility
+ * due consideration should be given.
  */
 public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 {
@@ -184,6 +187,14 @@ public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 return boundTerms;
 }
 
+/**
+ * May be used by custom QueryHandler implementations
+ */
+public Selection getSelection()
+{
+return selection;
+}
+
 public void checkAccess(ClientState state) throws InvalidRequestException, 
UnauthorizedException
 {
 state.hasColumnFamilyAccess(keyspace(), columnFamily(), 
Permission.SELECT);
@@ -580,7 +591,10 @@ public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 return new 

[12/12] cassandra git commit: Merge branch 'cassandra-2.2' into trunk

2015-06-18 Thread samt
Merge branch 'cassandra-2.2' into trunk


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

Branch: refs/heads/trunk
Commit: 40424ee598d2c64e7530a5bf0febd0bd4e8d825c
Parents: 67baaef 1f8516d
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 18 17:44:34 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:44:34 2015 +0100

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/ColumnIdentifier.java |   6 +-
 .../cassandra/cql3/ColumnSpecification.java |   6 +
 .../restrictions/StatementRestrictions.java |  22 +-
 .../selection/AbstractFunctionSelector.java |  13 +
 .../cassandra/cql3/selection/FieldSelector.java |   8 +-
 .../cassandra/cql3/selection/Selectable.java|  10 +-
 .../cassandra/cql3/selection/Selection.java |  58 +--
 .../cql3/selection/SelectionColumnMapping.java  | 118 +++
 .../cql3/selection/SelectionColumns.java|  18 +
 .../cassandra/cql3/selection/Selector.java  |  13 +
 .../cql3/selection/SelectorFactories.java   |   2 +-
 .../cql3/selection/SimpleSelector.java  |  17 +-
 .../cql3/selection/WritetimeOrTTLSelector.java  |  14 +-
 .../cql3/statements/SelectStatement.java|  28 +-
 .../selection/SelectionColumnMappingTest.java   | 353 +++
 16 files changed, 633 insertions(+), 54 deletions(-)
--


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



[07/12] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-06-18 Thread samt
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 0452e74f59182aee515cc6920e35287def86c9fe
Parents: 9966419 f32cff8
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 18 17:32:04 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:34:27 2015 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/cql3/ColumnSpecification.java |  22 ++
 .../cql3/statements/SelectStatement.java|  44 +++-
 .../cassandra/cql3/statements/Selection.java|  79 +++---
 .../cql3/statements/SelectionColumnMapping.java | 107 
 .../cql3/statements/SelectionColumns.java   |  18 ++
 .../statements/SelectionColumnMappingTest.java  | 252 +++
 7 files changed, 492 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/CHANGES.txt
--
diff --cc CHANGES.txt
index 1d72c9a,a235528..899ea7c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,6 -1,5 +1,7 @@@
 -2.0.16:
 +2.1.7
 + * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 +Merged from 2.0
+  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
   * ArrivalWindow should use primitives (CASSANDRA-9496)
   * Periodically submit background compaction tasks (CASSANDRA-9592)
   * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
--
diff --cc src/java/org/apache/cassandra/cql3/ColumnSpecification.java
index d2e08f9,089a1c5..f5f921d
--- a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
@@@ -33,4 -35,31 +35,24 @@@ public class ColumnSpecificatio
  this.name = name;
  this.type = type;
  }
+ 
 -@Override
 -public String toString()
 -{
 -// Not fully conventional, but convenient (for error message to users 
in particular)
 -return name.toString();
 -}
 -
+ public boolean equals(Object obj)
+ {
+ if (null == obj)
+ return false;
+ 
+ if(!(obj instanceof ColumnSpecification))
+ return false;
+ 
+ ColumnSpecification other = (ColumnSpecification)obj;
+ return Objects.equal(ksName, other.ksName)
+  Objects.equal(cfName, other.cfName)
+  Objects.equal(name, other.name)
+  Objects.equal(type, other.type);
+ }
+ 
+ public int hashCode()
+ {
+ return Objects.hashCode(ksName, cfName, name, type);
+ }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --cc src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 51f4941,1c19760..d0566eb
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@@ -58,9 -60,12 +58,13 @@@ import org.slf4j.LoggerFactory
  /**
   * Encapsulates a completely parsed SELECT query, including the target
   * column family, expression, result count, and ordering clause.
 + *
+  * A number of public methods here are only used internally. However,
+  * many of these are made accessible for the benefit of custom
+  * QueryHandler implementations, so before reducing their accessibility
+  * due consideration should be given.
   */
 -public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 +public class SelectStatement implements CQLStatement
  {
  private static final Logger logger = 
LoggerFactory.getLogger(SelectStatement.class);
  
@@@ -170,6 -168,20 +174,9 @@@
   : selection.getResultMetadata();
  }
  
 -public long measureForPreparedCache(MemoryMeter meter)
 -{
 -return meter.measure(this)
 - + meter.measureDeep(parameters)
 - + meter.measureDeep(selection)
 - + (limit == null ? 0 : meter.measureDeep(limit))
 - + meter.measureDeep(keyRestrictions)
 - + meter.measureDeep(columnRestrictions)
 - + meter.measureDeep(metadataRestrictions)
 - + meter.measureDeep(restrictedNames)
 - + (sliceRestriction == null ? 0 : 

[11/12] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-06-18 Thread samt
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: 1f8516da82fc19500d3b00d37780265c34a358b0
Parents: a133992 0452e74
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 18 17:39:43 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:41:06 2015 +0100

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/ColumnIdentifier.java |   6 +-
 .../cassandra/cql3/ColumnSpecification.java |   6 +
 .../restrictions/StatementRestrictions.java |  22 +-
 .../selection/AbstractFunctionSelector.java |  13 +
 .../cassandra/cql3/selection/FieldSelector.java |   8 +-
 .../cassandra/cql3/selection/Selectable.java|  10 +-
 .../cassandra/cql3/selection/Selection.java |  58 +--
 .../cql3/selection/SelectionColumnMapping.java  | 118 +++
 .../cql3/selection/SelectionColumns.java|  18 +
 .../cassandra/cql3/selection/Selector.java  |  13 +
 .../cql3/selection/SelectorFactories.java   |   2 +-
 .../cql3/selection/SimpleSelector.java  |  17 +-
 .../cql3/selection/WritetimeOrTTLSelector.java  |  14 +-
 .../cql3/statements/SelectStatement.java|  28 +-
 .../selection/SelectionColumnMappingTest.java   | 353 +++
 16 files changed, 633 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f8516da/CHANGES.txt
--
diff --cc CHANGES.txt
index 76a42ab,899ea7c..fb44c9a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,16 -1,7 +1,17 @@@
 -2.1.7
 +2.2
 + * Rename class for DATE type in Java driver (CASSANDRA-9563)
 + * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
 + * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
 + * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)
 + * Add functions to convert timeuuid to date or time, deprecate dateOf and 
unixTimestampOf (CASSANDRA-9229)
 + * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
 + * Fix deprecated repair JMX API (CASSANDRA-9570)
 + * Add logback metrics (CASSANDRA-9378)
 +Merged from 2.1:
   * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 + * Make rebuild only run one at a time (CASSANDRA-9119)
  Merged from 2.0
+  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
   * ArrivalWindow should use primitives (CASSANDRA-9496)
   * Periodically submit background compaction tasks (CASSANDRA-9592)
   * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f8516da/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
--
diff --cc src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
index 467b214,1501479..823af94
--- a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
@@@ -17,20 -17,16 +17,20 @@@
   */
  package org.apache.cassandra.cql3;
  
 -import java.util.Locale;
+ import java.nio.ByteBuffer;
 +import java.util.List;
 +import java.util.Locale;
- import java.nio.ByteBuffer;
  
  import org.apache.cassandra.cache.IMeasurableMemory;
  import org.apache.cassandra.config.CFMetaData;
  import org.apache.cassandra.config.ColumnDefinition;
 -import org.apache.cassandra.cql3.statements.Selectable;
 +import org.apache.cassandra.cql3.selection.Selectable;
 +import org.apache.cassandra.cql3.selection.Selector;
 +import org.apache.cassandra.cql3.selection.SimpleSelector;
  import org.apache.cassandra.db.marshal.AbstractType;
- import org.apache.cassandra.exceptions.InvalidRequestException;
  import org.apache.cassandra.db.marshal.CompositeType;
  import org.apache.cassandra.db.marshal.UTF8Type;
++import org.apache.cassandra.exceptions.InvalidRequestException;
  import org.apache.cassandra.utils.ByteBufferUtil;
  import org.apache.cassandra.utils.ObjectSizes;
  import org.apache.cassandra.utils.memory.AbstractAllocator;
@@@ -109,14 -105,6 +109,14 @@@ public class ColumnIdentifier extends o
  return new ColumnIdentifier(allocator.clone(bytes), text);
  }
  
 +public Selector.Factory newSelectorFactory(CFMetaData cfm, 
ListColumnDefinition defs) throws InvalidRequestException
 +{
 +ColumnDefinition def = cfm.getColumnDefinition(this);
 +if (def == null)
 +throw new InvalidRequestException(String.format(Undefined 

[01/12] cassandra git commit: Expose some internals of SelectStatement for inspection by QueryHandlers

2015-06-18 Thread samt
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 ad8047abd - f32cff8e1
  refs/heads/cassandra-2.1 9966419db - 0452e74f5
  refs/heads/cassandra-2.2 a13399279 - 1f8516da8
  refs/heads/trunk 67baaef0f - 40424ee59


Expose some internals of SelectStatement for inspection by QueryHandlers

patch by Sam Tunnicliffe; reviewed by Benjamin Lerer and Mick Semb Wever
for CASSANDRA-9532


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

Branch: refs/heads/cassandra-2.0
Commit: f32cff8e1fb69317219ffaee81b5861a54b83a1b
Parents: ad8047a
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 4 18:12:35 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:11:00 2015 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/cql3/ColumnSpecification.java |  22 ++
 .../cql3/statements/SelectStatement.java|  37 ++-
 .../cassandra/cql3/statements/Selection.java|  80 +++---
 .../cql3/statements/SelectionColumnMapping.java | 106 
 .../cql3/statements/SelectionColumns.java   |  19 ++
 .../statements/SelectionColumnMappingTest.java  | 244 +++
 7 files changed, 476 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 753fb1c..a235528 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.16:
+ * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
  * ArrivalWindow should use primitives (CASSANDRA-9496)
  * Periodically submit background compaction tasks (CASSANDRA-9592)
  * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
--
diff --git a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java 
b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
index 4dae701..089a1c5 100644
--- a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
@@ -17,6 +17,8 @@
  */
 package org.apache.cassandra.cql3;
 
+import com.google.common.base.Objects;
+
 import org.apache.cassandra.db.marshal.AbstractType;
 
 public class ColumnSpecification
@@ -40,4 +42,24 @@ public class ColumnSpecification
 // Not fully conventional, but convenient (for error message to users 
in particular)
 return name.toString();
 }
+
+public boolean equals(Object obj)
+{
+if (null == obj)
+return false;
+
+if(!(obj instanceof ColumnSpecification))
+return false;
+
+ColumnSpecification other = (ColumnSpecification)obj;
+return Objects.equal(ksName, other.ksName)
+ Objects.equal(cfName, other.cfName)
+ Objects.equal(name, other.name)
+ Objects.equal(type, other.type);
+}
+
+public int hashCode()
+{
+return Objects.hashCode(ksName, cfName, name, type);
+}
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 95e0441..1c19760 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -60,7 +60,10 @@ import org.slf4j.LoggerFactory;
 /**
  * Encapsulates a completely parsed SELECT query, including the target
  * column family, expression, result count, and ordering clause.
- *
+ * A number of public methods here are only used internally. However,
+ * many of these are made accessible for the benefit of custom
+ * QueryHandler implementations, so before reducing their accessibility
+ * due consideration should be given.
  */
 public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 {
@@ -184,6 +187,14 @@ public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 return boundTerms;
 }
 
+/**
+ * May be used by custom QueryHandler implementations
+ */
+public Selection getSelection()
+{
+return selection;
+}
+
 public void checkAccess(ClientState state) throws InvalidRequestException, 

[jira] [Commented] (CASSANDRA-9563) Rename class for DATE type in Java driver

2015-06-18 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592015#comment-14592015
 ] 

Aleksey Yeschenko commented on CASSANDRA-9563:
--

+1

 Rename class for DATE type in Java driver
 -

 Key: CASSANDRA-9563
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9563
 Project: Cassandra
  Issue Type: Improvement
Reporter: Olivier Michallat
Assignee: Robert Stupp
Priority: Minor
 Fix For: 2.2.0 rc2


 An early preview of the Java driver 2.2 was provided for inclusion in 
 Cassandra 2.2.0-rc1. It uses a custom Java type to represent CQL type 
 {{DATE}}. Currently that Java type is called {{DateWithoutTime}}.
 We'd like to rename it to {{LocalDate}}. This would be a breaking change for 
 Cassandra, because that type is visible from UDF implementations.



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


[jira] [Updated] (CASSANDRA-9619) Read performance regression on trunk and 2.2 vs. 2.1

2015-06-18 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-9619:
---
Fix Version/s: 2.2.0 rc2

 Read performance regression on trunk and 2.2 vs. 2.1
 

 Key: CASSANDRA-9619
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9619
 Project: Cassandra
  Issue Type: Bug
Reporter: Jim Witschey
  Labels: perfomance
 Fix For: 2.2.0 rc2


 There seems to be a regression in read in 2.2 and trunk, as compared to 2.1 
 and 2.0. I found it running cstar_perf jobs with 50-column tables. 2.2 may be 
 worse than trunk, though my results on that aren't consistent. The relevant 
 cstar_perf jobs are here:
 http://cstar.datastax.com/tests/id/273e2ea8-0fc8-11e5-816c-42010af0688f
 http://cstar.datastax.com/tests/id/3a8002d6-1480-11e5-97ff-42010af0688f
 http://cstar.datastax.com/tests/id/40ff2766-1248-11e5-bac8-42010af0688f
 The sequence of commands for these jobs is
 {code}
 stress write n=6500 -rate threads=300 -col n=FIXED\(50\)
 stress read n=6500 -rate threads=300
 stress read n=6500 -rate threads=300
 {code}
 Have a look at the operations per second going from [the first read 
 operation|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=op_rateoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=729.08ymin=0ymax=174379.7]
  to [the second read 
 operation|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=op_rateoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=729.08ymin=0ymax=174379.7].
  They've fallen from ~135K to ~100K comparing trunk to 2.1 and 2.0. It's 
 slightly worse for 2.2, and 2.2 operations per second fall continuously from 
 the first to the second read operation.
 There's a corresponding increase in read latency -- it's noticable on trunk 
 and pretty bad on 2.2. Again, the latency gets higher and higher on 2.2 as 
 the read operations progress (see the graphs 
 [here|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=95th_latencyoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=729.08ymin=0ymax=17.27]
  and 
 [here|http://cstar.datastax.com/graph?stats=273e2ea8-0fc8-11e5-816c-42010af0688fmetric=95th_latencyoperation=3_readsmoothing=1show_aggregates=truexmin=0xmax=928.62ymin=0ymax=14.52]).
 I see a similar regression in a [more recent 
 test|http://cstar.datastax.com/graph?stats=40ff2766-1248-11e5-bac8-42010af0688fmetric=op_rateoperation=2_readsmoothing=1show_aggregates=truexmin=0xmax=752.62ymin=0ymax=171799.1],
  though in this one trunk performed worse than 2.2. This run also didn't 
 display the increasing latency in 2.2.
 This regression may show for smaller numbers of columns, but not as 
 prominently, as shown [in the results to this test with the stress default of 
 5 
 columns|http://cstar.datastax.com/graph?stats=227cb89e-0fc8-11e5-9f14-42010af0688fmetric=99.9th_latencyoperation=3_readsmoothing=1show_aggregates=truexmin=0xmax=498.19ymin=0ymax=334.29].
  There's an increase in latency variability on trunk and 2.2, but I don't see 
 a regression in summary statistics.
 My measurements aren't confounded by [the recent regression in 
 cassandra-stress|https://issues.apache.org/jira/browse/CASSANDRA-9558]; 
 cstar_perf uses the same stress program (from trunk) on all versions on the 
 cluster.
 I'm currently working to
 - reproduce with a smaller workload so this is easier to bisect and debug.
 - get results with larger numbers of columns, since we've seen the regression 
 on 50 columns but not the stress default of 5.



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


[jira] [Commented] (CASSANDRA-9610) Increased response time with cassandra 2.0.9 from 1.2.19

2015-06-18 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592028#comment-14592028
 ] 

Tyler Hobbs commented on CASSANDRA-9610:


Well, in the 1.2.19 trace it shows host1 performing a scan for the full token 
range, which normally wouldn't happen with vnodes.

What are your replication settings for that keyspace on both clusters?  (You 
can just paste the output of {{DESCRIBE KEYSPACE}} in cqlsh.)

 Increased response time with cassandra 2.0.9 from 1.2.19
 

 Key: CASSANDRA-9610
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9610
 Project: Cassandra
  Issue Type: Bug
Reporter: Maitrayee
 Attachments: servicedefinition_schema.txt, traceout_1.2.19, 
 traceout_2.0.9


 I was using Cassandra 1.2.19. Recently upgraded to 2.0.9. Queries with 
 secondary index was completing much faster in 1.2.19
 Validated this with trace on via cqlsh



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


[jira] [Updated] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Robbie Strickland (JIRA)

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

Robbie Strickland updated CASSANDRA-9607:
-
Environment: 
OS: 
CentOS 6 * 4
Ubuntu 14.04 * 2

JDK: Oracle JDK 7, Oracle JDK 8

VM: Azure VM Standard A3 * 6
RAM: 7 GB
Cores: 4

  was:
OS: 
CentOS 6 * 4
Ubuntu 14.04 * 2

JDK: Oracle JDK 7

VM: Azure VM Standard A3 * 6
RAM: 7 GB
Cores: 4


 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: load.png


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Updated] (CASSANDRA-6177) remove all sleeps in the dtests

2015-06-18 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-6177:
---
Assignee: Steve Wang  (was: Philip Thompson)

 remove all sleeps in the dtests
 ---

 Key: CASSANDRA-6177
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6177
 Project: Cassandra
  Issue Type: Test
Reporter: Brandon Williams
Assignee: Steve Wang

 The dtests use a ton of sleep calls for various things, most of which is 
 guessing if Cassandra has finished doing something or not.  Guessing is 
 problematic and shouldn't be necessary -- a prime example of this is creating 
 a ks or cf.  When done over cql, we sleep and hope it's done propagating, but 
 when done over thrift we actually check for schema agreement.  We should be 
 able to eliminate the sleeps and reliably detect when it's time for the next 
 step programmatically.



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


[06/12] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-06-18 Thread samt
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 0452e74f59182aee515cc6920e35287def86c9fe
Parents: 9966419 f32cff8
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 18 17:32:04 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:34:27 2015 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/cql3/ColumnSpecification.java |  22 ++
 .../cql3/statements/SelectStatement.java|  44 +++-
 .../cassandra/cql3/statements/Selection.java|  79 +++---
 .../cql3/statements/SelectionColumnMapping.java | 107 
 .../cql3/statements/SelectionColumns.java   |  18 ++
 .../statements/SelectionColumnMappingTest.java  | 252 +++
 7 files changed, 492 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/CHANGES.txt
--
diff --cc CHANGES.txt
index 1d72c9a,a235528..899ea7c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,6 -1,5 +1,7 @@@
 -2.0.16:
 +2.1.7
 + * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 +Merged from 2.0
+  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
   * ArrivalWindow should use primitives (CASSANDRA-9496)
   * Periodically submit background compaction tasks (CASSANDRA-9592)
   * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
--
diff --cc src/java/org/apache/cassandra/cql3/ColumnSpecification.java
index d2e08f9,089a1c5..f5f921d
--- a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
@@@ -33,4 -35,31 +35,24 @@@ public class ColumnSpecificatio
  this.name = name;
  this.type = type;
  }
+ 
 -@Override
 -public String toString()
 -{
 -// Not fully conventional, but convenient (for error message to users 
in particular)
 -return name.toString();
 -}
 -
+ public boolean equals(Object obj)
+ {
+ if (null == obj)
+ return false;
+ 
+ if(!(obj instanceof ColumnSpecification))
+ return false;
+ 
+ ColumnSpecification other = (ColumnSpecification)obj;
+ return Objects.equal(ksName, other.ksName)
+  Objects.equal(cfName, other.cfName)
+  Objects.equal(name, other.name)
+  Objects.equal(type, other.type);
+ }
+ 
+ public int hashCode()
+ {
+ return Objects.hashCode(ksName, cfName, name, type);
+ }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --cc src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 51f4941,1c19760..d0566eb
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@@ -58,9 -60,12 +58,13 @@@ import org.slf4j.LoggerFactory
  /**
   * Encapsulates a completely parsed SELECT query, including the target
   * column family, expression, result count, and ordering clause.
 + *
+  * A number of public methods here are only used internally. However,
+  * many of these are made accessible for the benefit of custom
+  * QueryHandler implementations, so before reducing their accessibility
+  * due consideration should be given.
   */
 -public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 +public class SelectStatement implements CQLStatement
  {
  private static final Logger logger = 
LoggerFactory.getLogger(SelectStatement.class);
  
@@@ -170,6 -168,20 +174,9 @@@
   : selection.getResultMetadata();
  }
  
 -public long measureForPreparedCache(MemoryMeter meter)
 -{
 -return meter.measure(this)
 - + meter.measureDeep(parameters)
 - + meter.measureDeep(selection)
 - + (limit == null ? 0 : meter.measureDeep(limit))
 - + meter.measureDeep(keyRestrictions)
 - + meter.measureDeep(columnRestrictions)
 - + meter.measureDeep(metadataRestrictions)
 - + meter.measureDeep(restrictedNames)
 - + (sliceRestriction == 

[09/12] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-06-18 Thread samt
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: 1f8516da82fc19500d3b00d37780265c34a358b0
Parents: a133992 0452e74
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 18 17:39:43 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:41:06 2015 +0100

--
 CHANGES.txt |   1 +
 .../apache/cassandra/cql3/ColumnIdentifier.java |   6 +-
 .../cassandra/cql3/ColumnSpecification.java |   6 +
 .../restrictions/StatementRestrictions.java |  22 +-
 .../selection/AbstractFunctionSelector.java |  13 +
 .../cassandra/cql3/selection/FieldSelector.java |   8 +-
 .../cassandra/cql3/selection/Selectable.java|  10 +-
 .../cassandra/cql3/selection/Selection.java |  58 +--
 .../cql3/selection/SelectionColumnMapping.java  | 118 +++
 .../cql3/selection/SelectionColumns.java|  18 +
 .../cassandra/cql3/selection/Selector.java  |  13 +
 .../cql3/selection/SelectorFactories.java   |   2 +-
 .../cql3/selection/SimpleSelector.java  |  17 +-
 .../cql3/selection/WritetimeOrTTLSelector.java  |  14 +-
 .../cql3/statements/SelectStatement.java|  28 +-
 .../selection/SelectionColumnMappingTest.java   | 353 +++
 16 files changed, 633 insertions(+), 54 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f8516da/CHANGES.txt
--
diff --cc CHANGES.txt
index 76a42ab,899ea7c..fb44c9a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,16 -1,7 +1,17 @@@
 -2.1.7
 +2.2
 + * Rename class for DATE type in Java driver (CASSANDRA-9563)
 + * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
 + * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
 + * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)
 + * Add functions to convert timeuuid to date or time, deprecate dateOf and 
unixTimestampOf (CASSANDRA-9229)
 + * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
 + * Fix deprecated repair JMX API (CASSANDRA-9570)
 + * Add logback metrics (CASSANDRA-9378)
 +Merged from 2.1:
   * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 + * Make rebuild only run one at a time (CASSANDRA-9119)
  Merged from 2.0
+  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
   * ArrivalWindow should use primitives (CASSANDRA-9496)
   * Periodically submit background compaction tasks (CASSANDRA-9592)
   * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f8516da/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
--
diff --cc src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
index 467b214,1501479..823af94
--- a/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnIdentifier.java
@@@ -17,20 -17,16 +17,20 @@@
   */
  package org.apache.cassandra.cql3;
  
 -import java.util.Locale;
+ import java.nio.ByteBuffer;
 +import java.util.List;
 +import java.util.Locale;
- import java.nio.ByteBuffer;
  
  import org.apache.cassandra.cache.IMeasurableMemory;
  import org.apache.cassandra.config.CFMetaData;
  import org.apache.cassandra.config.ColumnDefinition;
 -import org.apache.cassandra.cql3.statements.Selectable;
 +import org.apache.cassandra.cql3.selection.Selectable;
 +import org.apache.cassandra.cql3.selection.Selector;
 +import org.apache.cassandra.cql3.selection.SimpleSelector;
  import org.apache.cassandra.db.marshal.AbstractType;
- import org.apache.cassandra.exceptions.InvalidRequestException;
  import org.apache.cassandra.db.marshal.CompositeType;
  import org.apache.cassandra.db.marshal.UTF8Type;
++import org.apache.cassandra.exceptions.InvalidRequestException;
  import org.apache.cassandra.utils.ByteBufferUtil;
  import org.apache.cassandra.utils.ObjectSizes;
  import org.apache.cassandra.utils.memory.AbstractAllocator;
@@@ -109,14 -105,6 +109,14 @@@ public class ColumnIdentifier extends o
  return new ColumnIdentifier(allocator.clone(bytes), text);
  }
  
 +public Selector.Factory newSelectorFactory(CFMetaData cfm, 
ListColumnDefinition defs) throws InvalidRequestException
 +{
 +ColumnDefinition def = cfm.getColumnDefinition(this);
 +if (def == null)
 +throw new 

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

2015-06-18 Thread samt
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f8516da/src/java/org/apache/cassandra/cql3/selection/Selector.java
--
diff --cc src/java/org/apache/cassandra/cql3/selection/Selector.java
index 747dc60,000..9b7f0ba
mode 100644,00..100644
--- a/src/java/org/apache/cassandra/cql3/selection/Selector.java
+++ b/src/java/org/apache/cassandra/cql3/selection/Selector.java
@@@ -1,179 -1,0 +1,192 @@@
 +/*
 + * 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.
 + */
 +package org.apache.cassandra.cql3.selection;
 +
 +import java.nio.ByteBuffer;
 +import java.util.Collections;
 +
 +import org.apache.cassandra.config.CFMetaData;
++import org.apache.cassandra.config.ColumnDefinition;
 +import org.apache.cassandra.cql3.AssignmentTestable;
 +import org.apache.cassandra.cql3.ColumnIdentifier;
 +import org.apache.cassandra.cql3.ColumnSpecification;
 +import org.apache.cassandra.cql3.functions.Function;
 +import org.apache.cassandra.cql3.selection.Selection.ResultSetBuilder;
 +import org.apache.cassandra.db.marshal.AbstractType;
 +import org.apache.cassandra.exceptions.InvalidRequestException;
 +
 +/**
 + * A codeSelector/code is used to convert the data returned by the 
storage engine into the data requested by the 
 + * user. They correspond to the lt;selectorgt; elements from the select 
clause.
 + * pSince the introduction of aggregation, codeSelector/codes cannot be 
called anymore by multiple threads 
 + * as they have an internal state./p
 + */
 +public abstract class Selector implements AssignmentTestable
 +{
 +/**
 + * A factory for codeSelector/code instances.
 + */
 +public static abstract class Factory
 +{
 +public IterableFunction getFunctions()
 +{
 +return Collections.emptySet();
 +}
 +
 +/**
 + * Returns the column specification corresponding to the output value 
of the selector instances created by
 + * this factory.
 + *
 + * @param cfm the column family meta data
 + * @return a column specification
 + */
 +public final ColumnSpecification getColumnSpecification(CFMetaData 
cfm)
 +{
 +return new ColumnSpecification(cfm.ksName,
 +   cfm.cfName,
 +   new 
ColumnIdentifier(getColumnName(), true),
 +   getReturnType());
 +}
 +
 +/**
 + * Creates a new codeSelector/code instance.
 + *
 + * @return a new codeSelector/code instance
 + */
 +public abstract Selector newInstance() throws InvalidRequestException;
 +
 +/**
 + * Checks if this factory creates selectors instances that creates 
aggregates.
 + *
 + * @return codetrue/code if this factory creates selectors 
instances that creates aggregates,
 + * codefalse/code otherwise
 + */
 +public boolean isAggregateSelectorFactory()
 +{
 +return false;
 +}
 +
 +/**
 + * Checks if this factory creates codewritetime/code selectors 
instances.
 + *
 + * @return codetrue/code if this factory creates 
codewritetime/code selectors instances,
 + * codefalse/code otherwise
 + */
 +public boolean isWritetimeSelectorFactory()
 +{
 +return false;
 +}
 +
 +/**
 + * Checks if this factory creates codeTTL/code selectors 
instances.
 + *
 + * @return codetrue/code if this factory creates codeTTL/code 
selectors instances,
 + * codefalse/code otherwise
 + */
 +public boolean isTTLSelectorFactory()
 +{
 +return false;
 +}
 +
 +/**
 + * Returns the name of the column corresponding to the output value 
of the selector instances created by
 + * this factory.
 + *
 + * @return a column name
 + */
 +protected abstract String getColumnName();
 +
 +/**
 + * Returns the type of the values returned by the selector instances 

[05/12] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-06-18 Thread samt
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.2
Commit: 0452e74f59182aee515cc6920e35287def86c9fe
Parents: 9966419 f32cff8
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 18 17:32:04 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:34:27 2015 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/cql3/ColumnSpecification.java |  22 ++
 .../cql3/statements/SelectStatement.java|  44 +++-
 .../cassandra/cql3/statements/Selection.java|  79 +++---
 .../cql3/statements/SelectionColumnMapping.java | 107 
 .../cql3/statements/SelectionColumns.java   |  18 ++
 .../statements/SelectionColumnMappingTest.java  | 252 +++
 7 files changed, 492 insertions(+), 31 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/CHANGES.txt
--
diff --cc CHANGES.txt
index 1d72c9a,a235528..899ea7c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,6 -1,5 +1,7 @@@
 -2.0.16:
 +2.1.7
 + * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 +Merged from 2.0
+  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
   * ArrivalWindow should use primitives (CASSANDRA-9496)
   * Periodically submit background compaction tasks (CASSANDRA-9592)
   * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
--
diff --cc src/java/org/apache/cassandra/cql3/ColumnSpecification.java
index d2e08f9,089a1c5..f5f921d
--- a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
@@@ -33,4 -35,31 +35,24 @@@ public class ColumnSpecificatio
  this.name = name;
  this.type = type;
  }
+ 
 -@Override
 -public String toString()
 -{
 -// Not fully conventional, but convenient (for error message to users 
in particular)
 -return name.toString();
 -}
 -
+ public boolean equals(Object obj)
+ {
+ if (null == obj)
+ return false;
+ 
+ if(!(obj instanceof ColumnSpecification))
+ return false;
+ 
+ ColumnSpecification other = (ColumnSpecification)obj;
+ return Objects.equal(ksName, other.ksName)
+  Objects.equal(cfName, other.cfName)
+  Objects.equal(name, other.name)
+  Objects.equal(type, other.type);
+ }
+ 
+ public int hashCode()
+ {
+ return Objects.hashCode(ksName, cfName, name, type);
+ }
  }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0452e74f/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --cc src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 51f4941,1c19760..d0566eb
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@@ -58,9 -60,12 +58,13 @@@ import org.slf4j.LoggerFactory
  /**
   * Encapsulates a completely parsed SELECT query, including the target
   * column family, expression, result count, and ordering clause.
 + *
+  * A number of public methods here are only used internally. However,
+  * many of these are made accessible for the benefit of custom
+  * QueryHandler implementations, so before reducing their accessibility
+  * due consideration should be given.
   */
 -public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 +public class SelectStatement implements CQLStatement
  {
  private static final Logger logger = 
LoggerFactory.getLogger(SelectStatement.class);
  
@@@ -170,6 -168,20 +174,9 @@@
   : selection.getResultMetadata();
  }
  
 -public long measureForPreparedCache(MemoryMeter meter)
 -{
 -return meter.measure(this)
 - + meter.measureDeep(parameters)
 - + meter.measureDeep(selection)
 - + (limit == null ? 0 : meter.measureDeep(limit))
 - + meter.measureDeep(keyRestrictions)
 - + meter.measureDeep(columnRestrictions)
 - + meter.measureDeep(metadataRestrictions)
 - + meter.measureDeep(restrictedNames)
 - + (sliceRestriction == 

[08/12] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-06-18 Thread samt
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f8516da/src/java/org/apache/cassandra/cql3/selection/Selector.java
--
diff --cc src/java/org/apache/cassandra/cql3/selection/Selector.java
index 747dc60,000..9b7f0ba
mode 100644,00..100644
--- a/src/java/org/apache/cassandra/cql3/selection/Selector.java
+++ b/src/java/org/apache/cassandra/cql3/selection/Selector.java
@@@ -1,179 -1,0 +1,192 @@@
 +/*
 + * 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.
 + */
 +package org.apache.cassandra.cql3.selection;
 +
 +import java.nio.ByteBuffer;
 +import java.util.Collections;
 +
 +import org.apache.cassandra.config.CFMetaData;
++import org.apache.cassandra.config.ColumnDefinition;
 +import org.apache.cassandra.cql3.AssignmentTestable;
 +import org.apache.cassandra.cql3.ColumnIdentifier;
 +import org.apache.cassandra.cql3.ColumnSpecification;
 +import org.apache.cassandra.cql3.functions.Function;
 +import org.apache.cassandra.cql3.selection.Selection.ResultSetBuilder;
 +import org.apache.cassandra.db.marshal.AbstractType;
 +import org.apache.cassandra.exceptions.InvalidRequestException;
 +
 +/**
 + * A codeSelector/code is used to convert the data returned by the 
storage engine into the data requested by the 
 + * user. They correspond to the lt;selectorgt; elements from the select 
clause.
 + * pSince the introduction of aggregation, codeSelector/codes cannot be 
called anymore by multiple threads 
 + * as they have an internal state./p
 + */
 +public abstract class Selector implements AssignmentTestable
 +{
 +/**
 + * A factory for codeSelector/code instances.
 + */
 +public static abstract class Factory
 +{
 +public IterableFunction getFunctions()
 +{
 +return Collections.emptySet();
 +}
 +
 +/**
 + * Returns the column specification corresponding to the output value 
of the selector instances created by
 + * this factory.
 + *
 + * @param cfm the column family meta data
 + * @return a column specification
 + */
 +public final ColumnSpecification getColumnSpecification(CFMetaData 
cfm)
 +{
 +return new ColumnSpecification(cfm.ksName,
 +   cfm.cfName,
 +   new 
ColumnIdentifier(getColumnName(), true),
 +   getReturnType());
 +}
 +
 +/**
 + * Creates a new codeSelector/code instance.
 + *
 + * @return a new codeSelector/code instance
 + */
 +public abstract Selector newInstance() throws InvalidRequestException;
 +
 +/**
 + * Checks if this factory creates selectors instances that creates 
aggregates.
 + *
 + * @return codetrue/code if this factory creates selectors 
instances that creates aggregates,
 + * codefalse/code otherwise
 + */
 +public boolean isAggregateSelectorFactory()
 +{
 +return false;
 +}
 +
 +/**
 + * Checks if this factory creates codewritetime/code selectors 
instances.
 + *
 + * @return codetrue/code if this factory creates 
codewritetime/code selectors instances,
 + * codefalse/code otherwise
 + */
 +public boolean isWritetimeSelectorFactory()
 +{
 +return false;
 +}
 +
 +/**
 + * Checks if this factory creates codeTTL/code selectors 
instances.
 + *
 + * @return codetrue/code if this factory creates codeTTL/code 
selectors instances,
 + * codefalse/code otherwise
 + */
 +public boolean isTTLSelectorFactory()
 +{
 +return false;
 +}
 +
 +/**
 + * Returns the name of the column corresponding to the output value 
of the selector instances created by
 + * this factory.
 + *
 + * @return a column name
 + */
 +protected abstract String getColumnName();
 +
 +/**
 + * Returns the type of the values returned by the selector instances 

[03/12] cassandra git commit: Expose some internals of SelectStatement for inspection by QueryHandlers

2015-06-18 Thread samt
Expose some internals of SelectStatement for inspection by QueryHandlers

patch by Sam Tunnicliffe; reviewed by Benjamin Lerer and Mick Semb Wever
for CASSANDRA-9532


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

Branch: refs/heads/cassandra-2.2
Commit: f32cff8e1fb69317219ffaee81b5861a54b83a1b
Parents: ad8047a
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 4 18:12:35 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:11:00 2015 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/cql3/ColumnSpecification.java |  22 ++
 .../cql3/statements/SelectStatement.java|  37 ++-
 .../cassandra/cql3/statements/Selection.java|  80 +++---
 .../cql3/statements/SelectionColumnMapping.java | 106 
 .../cql3/statements/SelectionColumns.java   |  19 ++
 .../statements/SelectionColumnMappingTest.java  | 244 +++
 7 files changed, 476 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 753fb1c..a235528 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.16:
+ * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
  * ArrivalWindow should use primitives (CASSANDRA-9496)
  * Periodically submit background compaction tasks (CASSANDRA-9592)
  * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
--
diff --git a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java 
b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
index 4dae701..089a1c5 100644
--- a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
@@ -17,6 +17,8 @@
  */
 package org.apache.cassandra.cql3;
 
+import com.google.common.base.Objects;
+
 import org.apache.cassandra.db.marshal.AbstractType;
 
 public class ColumnSpecification
@@ -40,4 +42,24 @@ public class ColumnSpecification
 // Not fully conventional, but convenient (for error message to users 
in particular)
 return name.toString();
 }
+
+public boolean equals(Object obj)
+{
+if (null == obj)
+return false;
+
+if(!(obj instanceof ColumnSpecification))
+return false;
+
+ColumnSpecification other = (ColumnSpecification)obj;
+return Objects.equal(ksName, other.ksName)
+ Objects.equal(cfName, other.cfName)
+ Objects.equal(name, other.name)
+ Objects.equal(type, other.type);
+}
+
+public int hashCode()
+{
+return Objects.hashCode(ksName, cfName, name, type);
+}
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 95e0441..1c19760 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -60,7 +60,10 @@ import org.slf4j.LoggerFactory;
 /**
  * Encapsulates a completely parsed SELECT query, including the target
  * column family, expression, result count, and ordering clause.
- *
+ * A number of public methods here are only used internally. However,
+ * many of these are made accessible for the benefit of custom
+ * QueryHandler implementations, so before reducing their accessibility
+ * due consideration should be given.
  */
 public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 {
@@ -184,6 +187,14 @@ public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 return boundTerms;
 }
 
+/**
+ * May be used by custom QueryHandler implementations
+ */
+public Selection getSelection()
+{
+return selection;
+}
+
 public void checkAccess(ClientState state) throws InvalidRequestException, 
UnauthorizedException
 {
 state.hasColumnFamilyAccess(keyspace(), columnFamily(), 
Permission.SELECT);
@@ -580,7 +591,10 @@ public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 

[02/12] cassandra git commit: Expose some internals of SelectStatement for inspection by QueryHandlers

2015-06-18 Thread samt
Expose some internals of SelectStatement for inspection by QueryHandlers

patch by Sam Tunnicliffe; reviewed by Benjamin Lerer and Mick Semb Wever
for CASSANDRA-9532


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

Branch: refs/heads/cassandra-2.1
Commit: f32cff8e1fb69317219ffaee81b5861a54b83a1b
Parents: ad8047a
Author: Sam Tunnicliffe s...@beobal.com
Authored: Thu Jun 4 18:12:35 2015 +0100
Committer: Sam Tunnicliffe s...@beobal.com
Committed: Thu Jun 18 17:11:00 2015 +0100

--
 CHANGES.txt |   1 +
 .../cassandra/cql3/ColumnSpecification.java |  22 ++
 .../cql3/statements/SelectStatement.java|  37 ++-
 .../cassandra/cql3/statements/Selection.java|  80 +++---
 .../cql3/statements/SelectionColumnMapping.java | 106 
 .../cql3/statements/SelectionColumns.java   |  19 ++
 .../statements/SelectionColumnMappingTest.java  | 244 +++
 7 files changed, 476 insertions(+), 33 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 753fb1c..a235528 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.16:
+ * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
  * ArrivalWindow should use primitives (CASSANDRA-9496)
  * Periodically submit background compaction tasks (CASSANDRA-9592)
  * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
--
diff --git a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java 
b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
index 4dae701..089a1c5 100644
--- a/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
+++ b/src/java/org/apache/cassandra/cql3/ColumnSpecification.java
@@ -17,6 +17,8 @@
  */
 package org.apache.cassandra.cql3;
 
+import com.google.common.base.Objects;
+
 import org.apache.cassandra.db.marshal.AbstractType;
 
 public class ColumnSpecification
@@ -40,4 +42,24 @@ public class ColumnSpecification
 // Not fully conventional, but convenient (for error message to users 
in particular)
 return name.toString();
 }
+
+public boolean equals(Object obj)
+{
+if (null == obj)
+return false;
+
+if(!(obj instanceof ColumnSpecification))
+return false;
+
+ColumnSpecification other = (ColumnSpecification)obj;
+return Objects.equal(ksName, other.ksName)
+ Objects.equal(cfName, other.cfName)
+ Objects.equal(name, other.name)
+ Objects.equal(type, other.type);
+}
+
+public int hashCode()
+{
+return Objects.hashCode(ksName, cfName, name, type);
+}
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/f32cff8e/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
--
diff --git a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java 
b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
index 95e0441..1c19760 100644
--- a/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
+++ b/src/java/org/apache/cassandra/cql3/statements/SelectStatement.java
@@ -60,7 +60,10 @@ import org.slf4j.LoggerFactory;
 /**
  * Encapsulates a completely parsed SELECT query, including the target
  * column family, expression, result count, and ordering clause.
- *
+ * A number of public methods here are only used internally. However,
+ * many of these are made accessible for the benefit of custom
+ * QueryHandler implementations, so before reducing their accessibility
+ * due consideration should be given.
  */
 public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 {
@@ -184,6 +187,14 @@ public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 return boundTerms;
 }
 
+/**
+ * May be used by custom QueryHandler implementations
+ */
+public Selection getSelection()
+{
+return selection;
+}
+
 public void checkAccess(ClientState state) throws InvalidRequestException, 
UnauthorizedException
 {
 state.hasColumnFamilyAccess(keyspace(), columnFamily(), 
Permission.SELECT);
@@ -580,7 +591,10 @@ public class SelectStatement implements CQLStatement, 
MeasurableForPreparedCache
 

[jira] [Updated] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

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

Study Hsueh updated CASSANDRA-9607:
---
Attachment: cassandra.yaml

cassandra configuration

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Updated] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

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

Study Hsueh updated CASSANDRA-9607:
---
Attachment: log.zip

cassandra log
2015-06-15 13:40:41,200 upgrade to 2.1.6
2015-06-17 18:32:40,740 whole cluster went down

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Commented] (CASSANDRA-9583) test-compression could run multiple unit tests in parallel like test

2015-06-18 Thread Yuki Morishita (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592787#comment-14592787
 ] 

Yuki Morishita commented on CASSANDRA-9583:
---

New commit with ant targets that was using suitename(testold, test-burn, 
long-test, etc) are running now.
Thanks for the catch!

 test-compression could run multiple unit tests in parallel like test
 

 Key: CASSANDRA-9583
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9583
 Project: Cassandra
  Issue Type: Test
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Fix For: 3.0 beta 1, 2.2.0 rc2






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


[jira] [Commented] (CASSANDRA-9064) [LeveledCompactionStrategy] cqlsh can't run cql produced by its own describe table statement

2015-06-18 Thread Eugene (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592777#comment-14592777
 ] 

Eugene commented on CASSANDRA-9064:
---

It would be nice to get this fixed.

For anyone looking for a work around, just strip out the min_threshold and 
max_threshold fields on the describe keyspace output.

This might work in some situations:

{code} sed -i -e s/{.*LeveledCompactionStrategy.*}/{'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}/ tables.txt 
{code}

Before using that verify that the compaction configuration for those tables 
don't have anything other than *min_threshold*, *max_threshold*, and *class* 
parameters defined.

 [LeveledCompactionStrategy] cqlsh can't run cql produced by its own describe 
 table statement
 

 Key: CASSANDRA-9064
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9064
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: cassandra 2.1.3 on mac os x
Reporter: Sujeet Gholap
Assignee: Benjamin Lerer
  Labels: cqlsh
 Fix For: 2.1.x


 Here's how to reproduce:
 1) Create a table with LeveledCompactionStrategy
 CREATE keyspace foo WITH REPLICATION = {'class': 'SimpleStrategy', 
 'replication_factor' : 3};
 CREATE TABLE foo.bar (
 spam text PRIMARY KEY
 ) WITH compaction = {'class': 'LeveledCompactionStrategy'};
 2) Describe the table and save the output
 cqlsh -e describe table foo.bar
 Output should be something like
 CREATE TABLE foo.bar (
 spam text PRIMARY KEY
 ) WITH bloom_filter_fp_chance = 0.1
 AND caching = '{keys:ALL, rows_per_partition:NONE}'
 AND comment = ''
 AND compaction = {'min_threshold': '4', 'class': 
 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy', 
 'max_threshold': '32'}
 AND compression = {'sstable_compression': 
 'org.apache.cassandra.io.compress.LZ4Compressor'}
 AND dclocal_read_repair_chance = 0.1
 AND default_time_to_live = 0
 AND gc_grace_seconds = 864000
 AND max_index_interval = 2048
 AND memtable_flush_period_in_ms = 0
 AND min_index_interval = 128
 AND read_repair_chance = 0.0
 AND speculative_retry = '99.0PERCENTILE';
 3) Save the output to repro.cql
 4) Drop the table foo.bar
 cqlsh -e drop table foo.bar
 5) Run the create table statement we saved
 cqlsh -f repro.cql
 6) Expected: normal execution without an error
 7) Reality:
 ConfigurationException: ErrorMessage code=2300 [Query invalid because of 
 configuration issue] message=Properties specified [min_threshold, 
 max_threshold] are not understood by LeveledCompactionStrategy



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


[2/3] cassandra git commit: Remove usage of suitename that is causing some tasks to silently fail in cassci

2015-06-18 Thread yukim
Remove usage of suitename that is causing some tasks to silently fail in cassci

Follow up on CASSANDRA-9583


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

Branch: refs/heads/trunk
Commit: 947edf1f19a8798b4befd9d598f3e17bbf3d7e48
Parents: 55a736a
Author: Ariel Weisberg ar...@weisberg.ws
Authored: Thu Jun 18 16:17:17 2015 -0400
Committer: Yuki Morishita yu...@apache.org
Committed: Thu Jun 18 19:26:16 2015 -0500

--
 build.xml | 21 ++---
 1 file changed, 10 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/947edf1f/build.xml
--
diff --git a/build.xml b/build.xml
index 82ec33e..d5e3869 100644
--- a/build.xml
+++ b/build.xml
@@ -1206,7 +1206,7 @@
   /target
 
   target name=testold depends=build-test description=Execute unit tests
-testmacro suitename=unit inputdir=${test.unit.src} 
exclude=**/pig/*.java timeout=${test.timeout}
+testmacro inputdir=${test.unit.src} exclude=**/pig/*.java 
timeout=${test.timeout}
   jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/
   jvmarg 
value=-Dinvalid-legacy-sstable-root=${test.data}/invalid-legacy-sstables/
   jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/
@@ -1279,7 +1279,7 @@
 ant testsome 
-Dtest.name=org.apache.cassandra.service.StorageServiceServerTest 
-Dtest.methods=testRegularMode,testGetAllRangesEmpty
   --
   target name=testsome depends=build-test description=Execute specific 
unit tests 
-testmacro suitename=unit inputdir=${test.unit.src} 
exclude=**/pig/*.java timeout=${test.timeout}
+testmacro inputdir=${test.unit.src} exclude=**/pig/*.java 
timeout=${test.timeout}
   test name=${test.name} methods=${test.methods}/
   jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/
   jvmarg 
value=-Dinvalid-legacy-sstable-root=${test.data}/invalid-legacy-sstables/
@@ -1305,39 +1305,39 @@
   /target
 
   target name=msg-ser-gen-test depends=build-test description=Generates 
message serializations
-testmacro suitename=unit inputdir=${test.unit.src} 
+testmacro inputdir=${test.unit.src}
 timeout=${test.timeout} filter=**/SerializationsTest.java
   jvmarg value=-Dcassandra.test-serialization-writes=True/
 /testmacro
   /target
   
   target name=msg-ser-test depends=build-test description=Tests message 
serializations
-  testmacro suitename=unit inputdir=${test.unit.src} 
timeout=${test.timeout}
+  testmacro inputdir=${test.unit.src} timeout=${test.timeout}
filter=**/SerializationsTest.java/
   /target
   
   target name=msg-ser-test-7 depends=build-test description=Generates 
message serializations
-testmacro suitename=unit inputdir=${test.unit.src} 
+testmacro inputdir=${test.unit.src}
 timeout=${test.timeout} filter=**/SerializationsTest.java
   jvmarg value=-Dcassandra.version=0.7/
 /testmacro
   /target
 
   target name=msg-ser-test-10 depends=build-test description=Tests 
message serializations on 1.0 messages
-testmacro suitename=unit inputdir=${test.unit.src} 
+testmacro inputdir=${test.unit.src}
 timeout=${test.timeout} filter=**/SerializationsTest.java
   jvmarg value=-Dcassandra.version=1.0/
 /testmacro
   /target
 
   target name=test-burn depends=build-test description=Execute 
functional tests
-testmacro suitename=burn inputdir=${test.burn.src}
+testmacro inputdir=${test.burn.src}
timeout=${test.burn.timeout}
 /testmacro
   /target
 
   target name=long-test depends=build-test description=Execute 
functional tests
-testmacro suitename=long inputdir=${test.long.src}
+testmacro inputdir=${test.long.src}
timeout=${test.long.timeout}
   jvmarg value=-Dcassandra.ring_delay_ms=1000/
   jvmarg value=-Dcassandra.tolerate_sstable_size=true/
@@ -1418,7 +1418,7 @@
   /target
 
   target name=pig-test 
depends=build-test,maven-ant-tasks-retrieve-pig-test description=Excute Pig 
tests
-testmacro suitename=pig inputdir=${test.pig.src} 
+testmacro inputdir=${test.pig.src}
timeout=120
 /testmacro
   /target
@@ -1549,7 +1549,6 @@
 
   !-- Run tests not in parallel and reports errors and generates a junit 
report after --
   macrodef name=testmacro
-attribute name=suitename /
 attribute name=inputdir /
 attribute name=timeout default=${test.timeout} /
 attribute name=forkmode default=perTest/
@@ -1561,7 +1560,7 @@
 attribute name=testtag default=/
 
 sequential
-  testmacrohelper 

[3/3] cassandra git commit: Merge branch 'cassandra-2.2' into trunk

2015-06-18 Thread yukim
Merge branch 'cassandra-2.2' into trunk


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

Branch: refs/heads/trunk
Commit: e246ec258ccab5cbd648eeb5e04feb5f952c5370
Parents: e14ce11 947edf1
Author: Yuki Morishita yu...@apache.org
Authored: Thu Jun 18 19:26:43 2015 -0500
Committer: Yuki Morishita yu...@apache.org
Committed: Thu Jun 18 19:26:43 2015 -0500

--
 build.xml | 21 ++---
 1 file changed, 10 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e246ec25/build.xml
--



[1/3] cassandra git commit: Remove usage of suitename that is causing some tasks to silently fail in cassci

2015-06-18 Thread yukim
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 55a736acf - 947edf1f1
  refs/heads/trunk e14ce11c0 - e246ec258


Remove usage of suitename that is causing some tasks to silently fail in cassci

Follow up on CASSANDRA-9583


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

Branch: refs/heads/cassandra-2.2
Commit: 947edf1f19a8798b4befd9d598f3e17bbf3d7e48
Parents: 55a736a
Author: Ariel Weisberg ar...@weisberg.ws
Authored: Thu Jun 18 16:17:17 2015 -0400
Committer: Yuki Morishita yu...@apache.org
Committed: Thu Jun 18 19:26:16 2015 -0500

--
 build.xml | 21 ++---
 1 file changed, 10 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/947edf1f/build.xml
--
diff --git a/build.xml b/build.xml
index 82ec33e..d5e3869 100644
--- a/build.xml
+++ b/build.xml
@@ -1206,7 +1206,7 @@
   /target
 
   target name=testold depends=build-test description=Execute unit tests
-testmacro suitename=unit inputdir=${test.unit.src} 
exclude=**/pig/*.java timeout=${test.timeout}
+testmacro inputdir=${test.unit.src} exclude=**/pig/*.java 
timeout=${test.timeout}
   jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/
   jvmarg 
value=-Dinvalid-legacy-sstable-root=${test.data}/invalid-legacy-sstables/
   jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/
@@ -1279,7 +1279,7 @@
 ant testsome 
-Dtest.name=org.apache.cassandra.service.StorageServiceServerTest 
-Dtest.methods=testRegularMode,testGetAllRangesEmpty
   --
   target name=testsome depends=build-test description=Execute specific 
unit tests 
-testmacro suitename=unit inputdir=${test.unit.src} 
exclude=**/pig/*.java timeout=${test.timeout}
+testmacro inputdir=${test.unit.src} exclude=**/pig/*.java 
timeout=${test.timeout}
   test name=${test.name} methods=${test.methods}/
   jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/
   jvmarg 
value=-Dinvalid-legacy-sstable-root=${test.data}/invalid-legacy-sstables/
@@ -1305,39 +1305,39 @@
   /target
 
   target name=msg-ser-gen-test depends=build-test description=Generates 
message serializations
-testmacro suitename=unit inputdir=${test.unit.src} 
+testmacro inputdir=${test.unit.src}
 timeout=${test.timeout} filter=**/SerializationsTest.java
   jvmarg value=-Dcassandra.test-serialization-writes=True/
 /testmacro
   /target
   
   target name=msg-ser-test depends=build-test description=Tests message 
serializations
-  testmacro suitename=unit inputdir=${test.unit.src} 
timeout=${test.timeout}
+  testmacro inputdir=${test.unit.src} timeout=${test.timeout}
filter=**/SerializationsTest.java/
   /target
   
   target name=msg-ser-test-7 depends=build-test description=Generates 
message serializations
-testmacro suitename=unit inputdir=${test.unit.src} 
+testmacro inputdir=${test.unit.src}
 timeout=${test.timeout} filter=**/SerializationsTest.java
   jvmarg value=-Dcassandra.version=0.7/
 /testmacro
   /target
 
   target name=msg-ser-test-10 depends=build-test description=Tests 
message serializations on 1.0 messages
-testmacro suitename=unit inputdir=${test.unit.src} 
+testmacro inputdir=${test.unit.src}
 timeout=${test.timeout} filter=**/SerializationsTest.java
   jvmarg value=-Dcassandra.version=1.0/
 /testmacro
   /target
 
   target name=test-burn depends=build-test description=Execute 
functional tests
-testmacro suitename=burn inputdir=${test.burn.src}
+testmacro inputdir=${test.burn.src}
timeout=${test.burn.timeout}
 /testmacro
   /target
 
   target name=long-test depends=build-test description=Execute 
functional tests
-testmacro suitename=long inputdir=${test.long.src}
+testmacro inputdir=${test.long.src}
timeout=${test.long.timeout}
   jvmarg value=-Dcassandra.ring_delay_ms=1000/
   jvmarg value=-Dcassandra.tolerate_sstable_size=true/
@@ -1418,7 +1418,7 @@
   /target
 
   target name=pig-test 
depends=build-test,maven-ant-tasks-retrieve-pig-test description=Excute Pig 
tests
-testmacro suitename=pig inputdir=${test.pig.src} 
+testmacro inputdir=${test.pig.src}
timeout=120
 /testmacro
   /target
@@ -1549,7 +1549,6 @@
 
   !-- Run tests not in parallel and reports errors and generates a junit 
report after --
   macrodef name=testmacro
-attribute name=suitename /
 attribute name=inputdir /
 attribute name=timeout default=${test.timeout} /
 attribute 

[jira] [Resolved] (CASSANDRA-9583) test-compression could run multiple unit tests in parallel like test

2015-06-18 Thread Yuki Morishita (JIRA)

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

Yuki Morishita resolved CASSANDRA-9583.
---
Resolution: Fixed

 test-compression could run multiple unit tests in parallel like test
 

 Key: CASSANDRA-9583
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9583
 Project: Cassandra
  Issue Type: Test
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Fix For: 3.0 beta 1, 2.2.0 rc2






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


[jira] [Updated] (CASSANDRA-9448) Metrics should use up to date nomenclature

2015-06-18 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-9448:
--
Assignee: Stefania  (was: Yuki Morishita)

 Metrics should use up to date nomenclature
 --

 Key: CASSANDRA-9448
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9448
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Sam Tunnicliffe
Assignee: Stefania
  Labels: docs-impacting
 Fix For: 3.0 beta 1


 There are a number of exposed metrics that currently are named using the old 
 nomenclature of columnfamily and rows (meaning partitions).
 It would be good to audit all metrics and update any names to match what they 
 actually represent; we should probably do that in a single sweep to avoid a 
 confusing mixture of old and new terminology. 
 As we'd need to do this in a major release, I've initially set the fixver for 
 3.0 beta1.



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


[jira] [Commented] (CASSANDRA-9448) Metrics should use up to date nomenclature

2015-06-18 Thread Yuki Morishita (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592860#comment-14592860
 ] 

Yuki Morishita commented on CASSANDRA-9448:
---

[~Stefania] Can you take a look?

 Metrics should use up to date nomenclature
 --

 Key: CASSANDRA-9448
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9448
 Project: Cassandra
  Issue Type: Improvement
  Components: Tools
Reporter: Sam Tunnicliffe
Assignee: Stefania
  Labels: docs-impacting
 Fix For: 3.0 beta 1


 There are a number of exposed metrics that currently are named using the old 
 nomenclature of columnfamily and rows (meaning partitions).
 It would be good to audit all metrics and update any names to match what they 
 actually represent; we should probably do that in a single sweep to avoid a 
 confusing mixture of old and new terminology. 
 As we'd need to do this in a major release, I've initially set the fixver for 
 3.0 beta1.



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


[jira] [Commented] (CASSANDRA-9606) this query is not supported in new version

2015-06-18 Thread zhaoyan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592863#comment-14592863
 ] 

zhaoyan commented on CASSANDRA-9606:


thanks for your advice。

but the paging you advice is in one request.
i want one request is one page.

 this query is not supported in new version
 --

 Key: CASSANDRA-9606
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9606
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: cassandra 2.1.6
 jdk 1.7.0_55
Reporter: zhaoyan
Assignee: Benjamin Lerer

 Background:
 1、create a table:
 {code}
 CREATE TABLE test (
 a int,
 b int,
 c int,
   d int,
 PRIMARY KEY (a, b, c)
 );
 {code}
 2、query by a=1 and b6
 {code}
 select * from test where a=1 and b6;
  a | b | c | d
 ---+---+---+---
  1 | 3 | 1 | 2
  1 | 3 | 2 | 2
  1 | 3 | 4 | 2
  1 | 3 | 5 | 2
  1 | 4 | 4 | 2
  1 | 5 | 5 | 2
 (6 rows)
 {code}
 3、query by page
 first page:
 {code}
 select * from test where a=1 and b6 limit 2;
  a | b | c | d
 ---+---+---+---
  1 | 3 | 1 | 2
  1 | 3 | 2 | 2
 (2 rows)
 {code}
 second page:
 {code}
 select * from test where a=1 and b6 and (b,c)  (3,2) limit 2;
  a | b | c | d
 ---+---+---+---
  1 | 3 | 4 | 2
  1 | 3 | 5 | 2
 (2 rows)
 {code}
 last page:
 {code}
 select * from test where a=1 and b6 and (b,c)  (3,5) limit 2;
  a | b | c | d
 ---+---+---+---
  1 | 4 | 4 | 2
  1 | 5 | 5 | 2
 (2 rows)
 {code}
 question:
 this query by page is ok when cassandra 2.0.8.
 but is not supported in the latest version 2.1.6
 when execute:
 {code}
 select * from test where a=1 and b6 and (b,c)  (3,2) limit 2;
 {code}
 get one error message:
 InvalidRequest: code=2200 [Invalid query] message=Column b cannot have 
 both tuple-notation inequalities and single-column inequalities: (b, c)  (3, 
 2)



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


[jira] [Commented] (CASSANDRA-9606) this query is not supported in new version

2015-06-18 Thread zhaoyan (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592865#comment-14592865
 ] 

zhaoyan commented on CASSANDRA-9606:


It confuses me.

 this query is not supported in new version
 --

 Key: CASSANDRA-9606
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9606
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: cassandra 2.1.6
 jdk 1.7.0_55
Reporter: zhaoyan
Assignee: Benjamin Lerer

 Background:
 1、create a table:
 {code}
 CREATE TABLE test (
 a int,
 b int,
 c int,
   d int,
 PRIMARY KEY (a, b, c)
 );
 {code}
 2、query by a=1 and b6
 {code}
 select * from test where a=1 and b6;
  a | b | c | d
 ---+---+---+---
  1 | 3 | 1 | 2
  1 | 3 | 2 | 2
  1 | 3 | 4 | 2
  1 | 3 | 5 | 2
  1 | 4 | 4 | 2
  1 | 5 | 5 | 2
 (6 rows)
 {code}
 3、query by page
 first page:
 {code}
 select * from test where a=1 and b6 limit 2;
  a | b | c | d
 ---+---+---+---
  1 | 3 | 1 | 2
  1 | 3 | 2 | 2
 (2 rows)
 {code}
 second page:
 {code}
 select * from test where a=1 and b6 and (b,c)  (3,2) limit 2;
  a | b | c | d
 ---+---+---+---
  1 | 3 | 4 | 2
  1 | 3 | 5 | 2
 (2 rows)
 {code}
 last page:
 {code}
 select * from test where a=1 and b6 and (b,c)  (3,5) limit 2;
  a | b | c | d
 ---+---+---+---
  1 | 4 | 4 | 2
  1 | 5 | 5 | 2
 (2 rows)
 {code}
 question:
 this query by page is ok when cassandra 2.0.8.
 but is not supported in the latest version 2.1.6
 when execute:
 {code}
 select * from test where a=1 and b6 and (b,c)  (3,2) limit 2;
 {code}
 get one error message:
 InvalidRequest: code=2200 [Invalid query] message=Column b cannot have 
 both tuple-notation inequalities and single-column inequalities: (b, c)  (3, 
 2)



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


[jira] [Comment Edited] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592119#comment-14592119
 ] 

Study Hsueh edited comment on CASSANDRA-9607 at 6/18/15 5:41 PM:
-

cassandra configuration
heap dump when oom: http://54.199.247.66/java_1434380208.hprof


was (Author: study):
cassandra configuration

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Comment Edited] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592119#comment-14592119
 ] 

Study Hsueh edited comment on CASSANDRA-9607 at 6/18/15 5:43 PM:
-

I had uploaded heap dump when OOM occurred: 
http://54.199.247.66/java_1434380208.hprof

2015-06-15 13:40:41,200 upgrade to 2.1.6
2015-06-17 18:32:40,740 whole cluster went down




was (Author: study):
cassandra configuration
heap dump when oom: http://54.199.247.66/java_1434380208.hprof

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


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

2015-06-18 Thread jake
http://git-wip-us.apache.org/repos/asf/cassandra/blob/70d0d5f2/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
--
diff --cc src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index f4a59a2,000..1458461
mode 100644,00..100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@@ -1,2175 -1,0 +1,2178 @@@
 +/*
 + * 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.
 + */
 +package org.apache.cassandra.io.sstable.format;
 +
 +import java.io.*;
 +import java.nio.ByteBuffer;
 +import java.util.*;
 +import java.util.concurrent.*;
 +import java.util.concurrent.atomic.AtomicBoolean;
 +import java.util.concurrent.atomic.AtomicLong;
 +
 +import com.google.common.annotations.VisibleForTesting;
 +import com.google.common.base.Predicate;
 +import com.google.common.collect.Iterators;
 +import com.google.common.collect.Ordering;
 +import com.google.common.primitives.Longs;
 +import com.google.common.util.concurrent.RateLimiter;
 +
 +import com.clearspring.analytics.stream.cardinality.CardinalityMergeException;
 +import com.clearspring.analytics.stream.cardinality.HyperLogLogPlus;
 +import com.clearspring.analytics.stream.cardinality.ICardinality;
 +import org.apache.cassandra.cache.CachingOptions;
 +import org.apache.cassandra.cache.InstrumentingCache;
 +import org.apache.cassandra.cache.KeyCacheKey;
 +import org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor;
 +import org.apache.cassandra.concurrent.ScheduledExecutors;
 +import org.apache.cassandra.config.*;
 +import org.apache.cassandra.db.*;
 +import org.apache.cassandra.db.columniterator.OnDiskAtomIterator;
 +import org.apache.cassandra.db.commitlog.ReplayPosition;
 +import org.apache.cassandra.db.composites.CellName;
 +import org.apache.cassandra.db.filter.ColumnSlice;
 +import org.apache.cassandra.db.index.SecondaryIndex;
 +import org.apache.cassandra.db.lifecycle.Tracker;
 +import org.apache.cassandra.dht.*;
 +import org.apache.cassandra.io.compress.CompressionMetadata;
 +import org.apache.cassandra.io.sstable.*;
 +import org.apache.cassandra.io.sstable.metadata.*;
 +import org.apache.cassandra.io.util.*;
 +import org.apache.cassandra.metrics.RestorableMeter;
 +import org.apache.cassandra.metrics.StorageMetrics;
 +import org.apache.cassandra.service.ActiveRepairService;
 +import org.apache.cassandra.service.CacheService;
 +import org.apache.cassandra.service.StorageService;
 +import org.apache.cassandra.utils.*;
 +import org.apache.cassandra.utils.concurrent.OpOrder;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
 +import org.apache.cassandra.utils.concurrent.Ref;
 +import org.apache.cassandra.utils.concurrent.SelfRefCounted;
 +
 +import static 
org.apache.cassandra.db.Directories.SECONDARY_INDEX_NAME_SEPARATOR;
 +
 +/**
 + * An SSTableReader can be constructed in a number of places, but typically 
is either
 + * read from disk at startup, or constructed from a flushed memtable, or 
after compaction
 + * to replace some existing sstables. However once created, an sstablereader 
may also be modified.
 + *
 + * A reader's OpenReason describes its current stage in its lifecycle, as 
follows:
 + * 
 + * 
 + * pre {@code
 + * NORMAL
 + * From:   None= Reader has been read from disk, either at 
startup or from a flushed memtable
 + * EARLY   = Reader is the final result of a compaction
 + * MOVED_START = Reader WAS being compacted, but this failed and 
it has been restored to NORMAL status
 + *
 + * EARLY
 + * From:   None= Reader is a compaction replacement that is 
either incomplete and has been opened
 + *to represent its partial result status, or has 
been finished but the compaction
 + *it is a part of has not yet completed fully
 + * EARLY   = Same as from None, only it is not the first 
time it has been
 + *
 + * MOVED_START
 + * From:   NORMAL  = Reader is being compacted. This compaction has 
not finished, but the compaction result
 + *

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

2015-06-18 Thread jake
Merge branch 'cassandra-2.1' into cassandra-2.2

Conflicts:
CHANGES.txt


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

Branch: refs/heads/trunk
Commit: 70d0d5f2cbe0b211b65fa7ee26b8c82e4d801fd9
Parents: 1f8516d 42ea6e1
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:47:47 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:47:47 2015 -0400

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/io/sstable/format/SSTableReader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/70d0d5f2/CHANGES.txt
--
diff --cc CHANGES.txt
index fb44c9a,9ae0969..b96a2b0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,6 +1,16 @@@
 -2.1.7
 +2.2
 + * Rename class for DATE type in Java driver (CASSANDRA-9563)
 + * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
 + * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
 + * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)
 + * Add functions to convert timeuuid to date or time, deprecate dateOf and 
unixTimestampOf (CASSANDRA-9229)
 + * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
 + * Fix deprecated repair JMX API (CASSANDRA-9570)
 + * Add logback metrics (CASSANDRA-9378)
 +Merged from 2.1:
+  * Fix bug in cardinality check when compacting (CASSANDRA-9580)
   * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 + * Make rebuild only run one at a time (CASSANDRA-9119)
  Merged from 2.0
   * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
   * ArrivalWindow should use primitives (CASSANDRA-9496)



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

2015-06-18 Thread jake
Merge branch 'cassandra-2.2' into trunk


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

Branch: refs/heads/trunk
Commit: 8ad6dc9af3e569a22bce178827aca93de3bdc352
Parents: 40424ee 70d0d5f
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:50:17 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:50:17 2015 -0400

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/io/sstable/format/SSTableReader.java | 3 +++
 2 files changed, 4 insertions(+)
--


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



[3/6] cassandra git commit: Fix bug in cardinality estimation when sstables are being compacted

2015-06-18 Thread jake
Fix bug in cardinality estimation when sstables are being compacted

patch by tjake; reviewed by benedict for CASSANDRA-9580


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

Branch: refs/heads/trunk
Commit: 42ea6e1f3751845bd0d1326ab789a53a20783a53
Parents: 83c0e01
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:43:44 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:45:45 2015 -0400

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/42ea6e1f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 899ea7c..9ae0969 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.7
+ * Fix bug in cardinality check when compacting (CASSANDRA-9580)
  * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 Merged from 2.0
  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/42ea6e1f/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index 0475665..0635826 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -264,6 +264,9 @@ public class SSTableReader extends SSTable implements 
SelfRefCountedSSTableRead
 ICardinality cardinality = null;
 for (SSTableReader sstable : sstables)
 {
+if (sstable.openReason == OpenReason.EARLY)
+continue;
+
 try
 {
 CompactionMetadata metadata = (CompactionMetadata) 
sstable.descriptor.getMetadataSerializer().deserialize(sstable.descriptor, 
MetadataType.COMPACTION);



[1/6] cassandra git commit: bump versions

2015-06-18 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/trunk 40424ee59 - 8ad6dc9af


bump versions


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

Branch: refs/heads/trunk
Commit: 23e66a9d1c50e4331e8c1d212c2eeb940c5471fa
Parents: f32cff8
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:02:45 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:02:45 2015 -0400

--
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 15 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index c4fdddb..9bfe803 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.0.16
+==
+
+Upgrading
+-
+- Nothing specific to this release, but refer to previous entries if you
+  are upgrading from a previous version.
+
 2.0.15
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/build.xml
--
diff --git a/build.xml b/build.xml
index e35cac0..b019ec3 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=2.0.15/
+property name=base.version value=2.0.16/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c970224..527eb29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.0.16) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani j...@apache.org  Thu, 18 Jun 2015 14:01:32 -0400
+
 cassandra (2.0.15) unstable; urgency=medium
 
   * New release



[2/6] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-06-18 Thread jake
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/trunk
Commit: 83c0e01aa84a6cbfe36a89ef13027a78567df70a
Parents: 0452e74 23e66a9
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:32:10 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:32:10 2015 -0400

--

--




[jira] [Commented] (CASSANDRA-9616) cfstats on 2.1.6 throws fatal exception during compaction cycles

2015-06-18 Thread Jim Witschey (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592301#comment-14592301
 ] 

Jim Witschey commented on CASSANDRA-9616:
-

Thanks for the report. This looks like a duplicate of 
[9580|https://issues.apache.org/jira/browse/CASSANDRA-9580]. [~mwmanley] Does 
that seem right to you?

 cfstats on 2.1.6 throws fatal exception during compaction cycles
 

 Key: CASSANDRA-9616
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9616
 Project: Cassandra
  Issue Type: Bug
Reporter: Mark Manley

 When running cfstats against any cf that is doing a compaction cycle, I get 
 the following exception for its reading of tmplink files:
 {code}
 error: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 {code}
 This seems to have started when I rolled out 2.1.6.  I don't see a current 
 bug in my cursory search, so here you go!



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


Git Push Summary

2015-06-18 Thread jake
Repository: cassandra
Updated Tags:  refs/tags/2.1.7-tentative [created] 718c14432


cassandra git commit: bump versions

2015-06-18 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 42ea6e1f3 - 718c14432


bump versions


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

Branch: refs/heads/cassandra-2.1
Commit: 718c144324d170535d4f1a1e79dd9869cce19ed1
Parents: 42ea6e1
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:53:07 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:53:07 2015 -0400

--
 NEWS.txt | 10 ++
 build.xml|  2 +-
 debian/changelog |  6 ++
 3 files changed, 17 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/718c1443/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 272c837..80776e8 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,16 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+
+2.1.7
+=
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.1 if you are upgrading
+  from a previous version.
+
+
 2.1.6
 =
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/718c1443/build.xml
--
diff --git a/build.xml b/build.xml
index adde1d3..73e76e5 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=2.1.6/
+property name=base.version value=2.1.7/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/718c1443/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 1a742fa..d7e1fd1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.1.7) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani j...@apache.org  Thu, 18 Jun 2015 14:52:26 -0400
+
 cassandra (2.1.6) unstable; urgency=medium
 
   * New release



[jira] [Comment Edited] (CASSANDRA-9610) Increased response time with cassandra 2.0.9 from 1.2.19

2015-06-18 Thread Maitrayee (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592242#comment-14592242
 ] 

Maitrayee edited comment on CASSANDRA-9610 at 6/18/15 7:13 PM:
---

In 1.2.19 cluster I have 
CREATE KEYSPACE topology WITH replication = {
  'class': 'NetworkTopologyStrategy',
  'dc1': '2',
  'dc2': '2',
  'dc3': '2'
};


In 2.0.9 cluster I have 
CREATE KEYSPACE topology WITH replication = {
  'class': 'NetworkTopologyStrategy',
  'dc1': '2',
  'dc2': '2'
};

Is num_token ignored when initial_token is set? In out 1.2.19 cluster we have 
the following values

num_token:256
initial_token:

no value is specified for initial_token

Initially in 2.0.9 we did not set initial_token. Now I tried with empty 
setting. Response time still did not improve


was (Author: maitrayee_c):
In 1.2.19 cluster I have 
CREATE KEYSPACE topology WITH replication = {
  'class': 'NetworkTopologyStrategy',
  'dc1': '2',
  'dc2': '2',
  'dc3': '2'
};


In 2.0.9 cluster I have 
CREATE KEYSPACE topology WITH replication = {
  'class': 'NetworkTopologyStrategy',
  'dc1': '2',
  'dc2': '2'
};

Is num_token ignored when initial_token is set? In out 1.2.19 cluster we have 
the following values

num_token:256
initial_token:

no value is specified for initial_toke.

Initially in 2.0.9 we did not set initial_token. Now I tried with empty 
setting. Response time still not improve

 Increased response time with cassandra 2.0.9 from 1.2.19
 

 Key: CASSANDRA-9610
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9610
 Project: Cassandra
  Issue Type: Bug
Reporter: Maitrayee
 Attachments: servicedefinition_schema.txt, traceout_1.2.19, 
 traceout_2.0.9


 I was using Cassandra 1.2.19. Recently upgraded to 2.0.9. Queries with 
 secondary index was completing much faster in 1.2.19
 Validated this with trace on via cqlsh



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


[2/3] cassandra git commit: Update and refactor ant test/test-compression to run the tests in parallel

2015-06-18 Thread yukim
Update and refactor ant test/test-compression to run the tests in parallel

patch by Ariel Weisberg; reviewed by yukim for CASSANDRA-9583


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

Branch: refs/heads/trunk
Commit: 55a736acff1bfae779c6f01b2280ef50befca1a5
Parents: 70d0d5f
Author: Ariel Weisberg ar...@weisberg.ws
Authored: Thu Jun 18 14:10:37 2015 -0500
Committer: Yuki Morishita yu...@apache.org
Committed: Thu Jun 18 14:10:37 2015 -0500

--
 CHANGES.txt |   1 +
 build.xml   | 237 ++-
 2 files changed, 148 insertions(+), 90 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/55a736ac/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b96a2b0..56f0dc0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -7,6 +7,7 @@
  * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
  * Fix deprecated repair JMX API (CASSANDRA-9570)
  * Add logback metrics (CASSANDRA-9378)
+ * Update and refactor ant test/test-compression to run the tests in parallel 
(CASSANDRA-9583)
 Merged from 2.1:
  * Fix bug in cardinality check when compacting (CASSANDRA-9580)
  * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/55a736ac/build.xml
--
diff --git a/build.xml b/build.xml
index e768a394..82ec33e 100644
--- a/build.xml
+++ b/build.xml
@@ -1114,8 +1114,12 @@
 /copy
   /target
 
-  macrodef name=testmacro
-attribute name=suitename /
+  !-- Defines how to run a set of tests. If you change the defaults for 
attributes
+   you should also update them in testmacro.,
+   The two are split because the helper doesn't generate
+   a junit report or fail on errors, since this is called in parallel to 
run tests
+   when we choose to run tests in parallel --
+  macrodef name=testmacrohelper
 attribute name=inputdir /
 attribute name=timeout default=${test.timeout} /
 attribute name=forkmode default=perTest/
@@ -1133,7 +1137,6 @@
  else=
 istrue value=${usejacoco}/
   /condition
-  echo message=running @{suitename} tests/
   mkdir dir=${build.test.dir}/cassandra/
   mkdir dir=${build.test.dir}/output/
   mkdir dir=${build.test.dir}/output/@{testtag}/
@@ -1168,22 +1171,9 @@
 filelist dir=@{inputdir} files=@{filelist}/
 /batchtest
   /junit
-  junitreport todir=${build.test.dir}
-fileset dir=${build.test.dir}/output
-  include name=**/TEST-*.xml/
-/fileset
-report format=frames todir=${build.test.dir}/junitreport/
-  /junitreport
-  fail message=Some @{suitename} test(s) failed.
-condition
-and
-isset property=testfailed/
-not
-  isset property=ant.test.failure.ignore/
-/not
-  /and
-/condition
-  /fail
+  delete quiet=true failonerror=false 
dir=${build.test.dir}/cassandra/commitlog:@{poffset}/
+  delete quiet=true failonerror=false 
dir=${build.test.dir}/cassandra/data:@{poffset}/
+  delete quiet=true failonerror=false 
dir=${build.test.dir}/cassandra/saved_caches:@{poffset}/
 /sequential
   /macrodef
 
@@ -1231,18 +1221,47 @@
 /fileset
   /target
   
-  target name=testlist
-testmacro suitename=${testlist.name} inputdir=${test.unit.src} 
filelist=${test.file.list} poffset=${testlist.offset} exclude=**/*.java 
timeout=${test.timeout}
-  jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/
-  jvmarg 
value=-Dinvalid-legacy-sstable-root=${test.data}/invalid-legacy-sstables/
-  jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/
-  jvmarg 
value=-Dmigration-sstable-root=${test.data}/migration-sstables/
-  jvmarg value=-Dcassandra.ring_delay_ms=1000/
-  jvmarg value=-Dcassandra.tolerate_sstable_size=true/
-  jvmarg 
value=-Dcassandra.config.loader=org.apache.cassandra.OffsetAwareConfigurationLoader/
-  jvmarg value=-Dcassandra.skip_sync=true /
-/testmacro
-  /target
+  !-- Will not generate a junit report or fail on error since it is called in 
parallel for test-compression
+   That is taken care of by testparallel --
+  macrodef name=testlist
+attribute name=test.file.list/
+attribute name=testlist.offset/
+sequential
+  testmacrohelper inputdir=${test.unit.src} 
filelist=@{test.file.list} poffset=@{testlist.offset} 

[1/3] cassandra git commit: Update and refactor ant test/test-compression to run the tests in parallel

2015-06-18 Thread yukim
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 70d0d5f2c - 55a736acf
  refs/heads/trunk 8ad6dc9af - e14ce11c0


Update and refactor ant test/test-compression to run the tests in parallel

patch by Ariel Weisberg; reviewed by yukim for CASSANDRA-9583


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

Branch: refs/heads/cassandra-2.2
Commit: 55a736acff1bfae779c6f01b2280ef50befca1a5
Parents: 70d0d5f
Author: Ariel Weisberg ar...@weisberg.ws
Authored: Thu Jun 18 14:10:37 2015 -0500
Committer: Yuki Morishita yu...@apache.org
Committed: Thu Jun 18 14:10:37 2015 -0500

--
 CHANGES.txt |   1 +
 build.xml   | 237 ++-
 2 files changed, 148 insertions(+), 90 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/55a736ac/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b96a2b0..56f0dc0 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -7,6 +7,7 @@
  * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
  * Fix deprecated repair JMX API (CASSANDRA-9570)
  * Add logback metrics (CASSANDRA-9378)
+ * Update and refactor ant test/test-compression to run the tests in parallel 
(CASSANDRA-9583)
 Merged from 2.1:
  * Fix bug in cardinality check when compacting (CASSANDRA-9580)
  * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/55a736ac/build.xml
--
diff --git a/build.xml b/build.xml
index e768a394..82ec33e 100644
--- a/build.xml
+++ b/build.xml
@@ -1114,8 +1114,12 @@
 /copy
   /target
 
-  macrodef name=testmacro
-attribute name=suitename /
+  !-- Defines how to run a set of tests. If you change the defaults for 
attributes
+   you should also update them in testmacro.,
+   The two are split because the helper doesn't generate
+   a junit report or fail on errors, since this is called in parallel to 
run tests
+   when we choose to run tests in parallel --
+  macrodef name=testmacrohelper
 attribute name=inputdir /
 attribute name=timeout default=${test.timeout} /
 attribute name=forkmode default=perTest/
@@ -1133,7 +1137,6 @@
  else=
 istrue value=${usejacoco}/
   /condition
-  echo message=running @{suitename} tests/
   mkdir dir=${build.test.dir}/cassandra/
   mkdir dir=${build.test.dir}/output/
   mkdir dir=${build.test.dir}/output/@{testtag}/
@@ -1168,22 +1171,9 @@
 filelist dir=@{inputdir} files=@{filelist}/
 /batchtest
   /junit
-  junitreport todir=${build.test.dir}
-fileset dir=${build.test.dir}/output
-  include name=**/TEST-*.xml/
-/fileset
-report format=frames todir=${build.test.dir}/junitreport/
-  /junitreport
-  fail message=Some @{suitename} test(s) failed.
-condition
-and
-isset property=testfailed/
-not
-  isset property=ant.test.failure.ignore/
-/not
-  /and
-/condition
-  /fail
+  delete quiet=true failonerror=false 
dir=${build.test.dir}/cassandra/commitlog:@{poffset}/
+  delete quiet=true failonerror=false 
dir=${build.test.dir}/cassandra/data:@{poffset}/
+  delete quiet=true failonerror=false 
dir=${build.test.dir}/cassandra/saved_caches:@{poffset}/
 /sequential
   /macrodef
 
@@ -1231,18 +1221,47 @@
 /fileset
   /target
   
-  target name=testlist
-testmacro suitename=${testlist.name} inputdir=${test.unit.src} 
filelist=${test.file.list} poffset=${testlist.offset} exclude=**/*.java 
timeout=${test.timeout}
-  jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/
-  jvmarg 
value=-Dinvalid-legacy-sstable-root=${test.data}/invalid-legacy-sstables/
-  jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/
-  jvmarg 
value=-Dmigration-sstable-root=${test.data}/migration-sstables/
-  jvmarg value=-Dcassandra.ring_delay_ms=1000/
-  jvmarg value=-Dcassandra.tolerate_sstable_size=true/
-  jvmarg 
value=-Dcassandra.config.loader=org.apache.cassandra.OffsetAwareConfigurationLoader/
-  jvmarg value=-Dcassandra.skip_sync=true /
-/testmacro
-  /target
+  !-- Will not generate a junit report or fail on error since it is called in 
parallel for test-compression
+   That is taken care of by testparallel --
+  macrodef name=testlist
+attribute name=test.file.list/
+attribute 

[3/3] cassandra git commit: Merge branch 'cassandra-2.2' into trunk

2015-06-18 Thread yukim
Merge branch 'cassandra-2.2' into trunk


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

Branch: refs/heads/trunk
Commit: e14ce11c02420b4a9330fcfe1aea1cbeb97f0fd2
Parents: 8ad6dc9 55a736a
Author: Yuki Morishita yu...@apache.org
Authored: Thu Jun 18 14:12:15 2015 -0500
Committer: Yuki Morishita yu...@apache.org
Committed: Thu Jun 18 14:12:15 2015 -0500

--
 CHANGES.txt |   1 +
 build.xml   | 237 ++-
 2 files changed, 148 insertions(+), 90 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e14ce11c/build.xml
--



[jira] [Commented] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592186#comment-14592186
 ] 

Benedict commented on CASSANDRA-9607:
-

bq. I had uploaded heap dump when OOM occurred:

Ah, you hadn't mentioned OOM. In that case it is _highly likely_ you are 
experiencing CASSANDRA-9549, which will be fixed in 2.1.7 released shortly, or 
you can run the patch version posted to that ticket as [~rstrickland] has.

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Comment Edited] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592186#comment-14592186
 ] 

Benedict edited comment on CASSANDRA-9607 at 6/18/15 5:58 PM:
--

bq. I had uploaded heap dump when OOM occurred:

Ah, you hadn't mentioned OOM. In that case it is _highly likely_ you are 
experiencing CASSANDRA-9549, which will be fixed in 2.1.7 released shortly, or 
you can run the patch version posted to that ticket as [~jjirsa] has.


was (Author: benedict):
bq. I had uploaded heap dump when OOM occurred:

Ah, you hadn't mentioned OOM. In that case it is _highly likely_ you are 
experiencing CASSANDRA-9549, which will be fixed in 2.1.7 released shortly, or 
you can run the patch version posted to that ticket as [~rstrickland] has.

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


cassandra git commit: bump versions

2015-06-18 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 f32cff8e1 - 23e66a9d1


bump versions


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

Branch: refs/heads/cassandra-2.0
Commit: 23e66a9d1c50e4331e8c1d212c2eeb940c5471fa
Parents: f32cff8
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:02:45 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:02:45 2015 -0400

--
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 15 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index c4fdddb..9bfe803 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.0.16
+==
+
+Upgrading
+-
+- Nothing specific to this release, but refer to previous entries if you
+  are upgrading from a previous version.
+
 2.0.15
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/build.xml
--
diff --git a/build.xml b/build.xml
index e35cac0..b019ec3 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=2.0.15/
+property name=base.version value=2.0.16/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c970224..527eb29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.0.16) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani j...@apache.org  Thu, 18 Jun 2015 14:01:32 -0400
+
 cassandra (2.0.15) unstable; urgency=medium
 
   * New release



Git Push Summary

2015-06-18 Thread jake
Repository: cassandra
Updated Tags:  refs/tags/2.0.16-tentative [created] 23e66a9d1


[jira] [Commented] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592306#comment-14592306
 ] 

Study Hsueh commented on CASSANDRA-9607:


Thanks, but I think we have no plan to try 2.1.6 and 2.1.7 in the near future.

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Assigned] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Benedict (JIRA)

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

Benedict reassigned CASSANDRA-9607:
---

Assignee: Benedict

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Assignee: Benedict
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Commented] (CASSANDRA-9610) Increased response time with cassandra 2.0.9 from 1.2.19

2015-06-18 Thread Maitrayee (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592242#comment-14592242
 ] 

Maitrayee commented on CASSANDRA-9610:
--

In 1.2.19 cluster I have 
CREATE KEYSPACE topology WITH replication = {
  'class': 'NetworkTopologyStrategy',
  'dc1': '2',
  'dc2': '2',
  'dc3': '2'
};


In 2.0.9 cluster I have 
CREATE KEYSPACE topology WITH replication = {
  'class': 'NetworkTopologyStrategy',
  'dc1': '2',
  'dc2': '2'
};

Is num_token ignored when initial_token is set? In out 1.2.19 cluster we have 
the following values

num_token:256
initial_token:

no value is specified for initial_toke.

Initially in 2.0.9 we did not set initial_token. Now I tried with empty 
setting. Response time still not improve

 Increased response time with cassandra 2.0.9 from 1.2.19
 

 Key: CASSANDRA-9610
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9610
 Project: Cassandra
  Issue Type: Bug
Reporter: Maitrayee
 Attachments: servicedefinition_schema.txt, traceout_1.2.19, 
 traceout_2.0.9


 I was using Cassandra 1.2.19. Recently upgraded to 2.0.9. Queries with 
 secondary index was completing much faster in 1.2.19
 Validated this with trace on via cqlsh



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


[jira] [Commented] (CASSANDRA-9612) Assertion error while running `nodetool cfstats`

2015-06-18 Thread mlowicki (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592309#comment-14592309
 ] 

mlowicki commented on CASSANDRA-9612:
-

[~mambocab] yes.

 Assertion error while running `nodetool cfstats`
 

 Key: CASSANDRA-9612
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9612
 Project: Cassandra
  Issue Type: Bug
 Environment: C* 2.1.6
Reporter: mlowicki

  nodetool cfstats sync.entity
 {code}
 Keyspace: sync
   Read Count: 2916573
   Read Latency: 0.26340278573517617 ms.
   Write Count: 2356495
   Write Latency: 0.03296340242606074 ms.
   Pending Flushes: 0
   Table: entity
   SSTable count: 919
   SSTables in each level: [50/4, 11/10, 101/100, 756, 0, 0, 0, 0, 
 0]
   Space used (live): 146265014558
   Space used (total): 146265014558
   Space used by snapshots (total): 0
   Off heap memory used (total): 97950899
   SSTable Compression Ratio: 0.1870809135227128
 error: 
 /var/lib/cassandra/data2/sync/entity-f73d1360770e11e49f1d673dc3e50a5f/sync-entity-tmplink-ka-516810-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /var/lib/cassandra/data2/sync/entity-f73d1360770e11e49f1d673dc3e50a5f/sync-entity-tmplink-ka-516810-Data.db
   at 
 org.apache.cassandra.io.sstable.SSTableReader.getApproximateKeyCount(SSTableReader.java:270)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:296)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:290)
   at 
 com.yammer.metrics.reporting.JmxReporter$Gauge.getValue(JmxReporter.java:63)
   at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
   at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
   at 
 com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
   at 
 com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:83)
   at 
 com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
   at 
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
   at 
 com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1464)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
   at 
 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:657)
   at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
   at sun.rmi.transport.Transport$2.run(Transport.java:202)
   at sun.rmi.transport.Transport$2.run(Transport.java:199)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:198)
   at 
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681)
   at java.security.AccessController.doPrivileged(Native Method)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at 
 

[jira] [Commented] (CASSANDRA-9499) Introduce writeVInt method to DataOutputStreamPlus

2015-06-18 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592307#comment-14592307
 ] 

Ariel Weisberg commented on CASSANDRA-9499:
---

I have the proposed encoding implemented and have the beginnings of an 
efficient implementation for BufferedDataOutputStreamPlus and NIOInputStream. 
There is probably still branches or that could be removed as well as making the 
bit fiddling more efficient and clearer. I am going to try and clean it up, but 
I could use feedback.

I couldn't come up with an efficient implementation for computeUnsignedVIntSize 
(when you haven't encoded it yet).
 
I also created the branch 
https://github.com/aweisberg/cassandra/commits/C-9499-madness where I removed 
Encoded*Stream and changed the serializers to use DataInputPlus which extends 
DataInput to add the varint decoding methods. I haven't rebased that on top of 
C-9499 yet.

I am using 1s for the extension bits. I am also emitting the bytes in little 
endian order although it seems like I would need to do that at least for the 
first byte. I could emit the rest of the bytes in big endian order for the 
getLong(). Right now I have to reverse them because the ByteBuffer is big 
endian. l am wagering it is faster than swapping the settings.

 Introduce writeVInt method to DataOutputStreamPlus
 --

 Key: CASSANDRA-9499
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9499
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Assignee: Ariel Weisberg
Priority: Minor
 Fix For: 3.0 beta 1


 CASSANDRA-8099 really could do with a writeVInt method, for both fixing 
 CASSANDRA-9498 but also efficiently encoding timestamp/deletion deltas. It 
 should be possible to make an especially efficient implementation against 
 BufferedDataOutputStreamPlus.



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


[jira] [Comment Edited] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592117#comment-14592117
 ] 

Study Hsueh edited comment on CASSANDRA-9607 at 6/18/15 5:41 PM:
-

cassandra log
2015-06-15 13:40:41,200 upgrade to 2.1.6
2015-06-17 18:32:40,740 whole cluster went down


was (Author: study):
cassandra log
2015-06-15 13:40:41,200 upgrade to 2.1.6
2015-06-17 18:32:40,740 whole cluster went down

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[jira] [Commented] (CASSANDRA-9580) Cardinality check broken during incremental compaction re-opening

2015-06-18 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592208#comment-14592208
 ] 

Benedict commented on CASSANDRA-9580:
-

[~tjake]: it might be good to get this into 2.1.7, and I can follow up later 
with my ticket.

It should be changed to only skip OPEN_EARLY though, since we want to include 
METADATA_CHANGE (index summary redistribution).

 Cardinality check broken during incremental compaction re-opening
 -

 Key: CASSANDRA-9580
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9580
 Project: Cassandra
  Issue Type: Bug
Reporter: T Jake Luciani
Assignee: T Jake Luciani
Priority: Minor
 Fix For: 2.1.x

 Attachments: lcstest.yaml


 While testing LCS I found cfstats sometimes crashes during compaction 
 It looks to be related to the incremental re-opening not having metadata.
 {code}
 
 Keyspace: stresscql
   Read Count: 0
   Read Latency: NaN ms.
   Write Count: 6590571
   Write Latency: 0.026910956273743198 ms.
   Pending Flushes: 0
   Table: ycsb
   SSTable count: 69
   SSTables in each level: [67/4, 1, 0, 0, 0, 0, 0, 0, 0]
   Space used (live): 3454857914
   Space used (total): 3454857914
   Space used by snapshots (total): 0
   Off heap memory used (total): 287361
   SSTable Compression Ratio: 0.0
 error: 
 /home/jake/workspace/cassandra/./bin/../data/data/stresscql/ycsb-ff399910104911e5a797a18c989fb6f2/stresscql-ycsb-tmplink-ka-125-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /home/jake/workspace/cassandra/./bin/../data/data/stresscql/ycsb-ff399910104911e5a797a18c989fb6f2/stresscql-ycsb-tmplink-ka-125-Data.db
   at 
 org.apache.cassandra.io.sstable.SSTableReader.getApproximateKeyCount(SSTableReader.java:270)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:296)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:290)
   at 
 com.yammer.metrics.reporting.JmxReporter$Gauge.getValue(JmxReporter.java:63)
   at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
   at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
   at 
 com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
   at 
 com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:83)
   at 
 com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
   at 
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
   at 
 com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1443)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
   at 
 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:637)
   at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:483)
   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
   at sun.rmi.transport.Transport$1.run(Transport.java:178)
   at sun.rmi.transport.Transport$1.run(Transport.java:175)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:174)
   at 
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:557)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:812)
   at 
 

[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-06-18 Thread jake
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.1
Commit: 83c0e01aa84a6cbfe36a89ef13027a78567df70a
Parents: 0452e74 23e66a9
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:32:10 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:32:10 2015 -0400

--

--




[1/2] cassandra git commit: bump versions

2015-06-18 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 0452e74f5 - 83c0e01aa


bump versions


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

Branch: refs/heads/cassandra-2.1
Commit: 23e66a9d1c50e4331e8c1d212c2eeb940c5471fa
Parents: f32cff8
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:02:45 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:02:45 2015 -0400

--
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 15 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index c4fdddb..9bfe803 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.0.16
+==
+
+Upgrading
+-
+- Nothing specific to this release, but refer to previous entries if you
+  are upgrading from a previous version.
+
 2.0.15
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/build.xml
--
diff --git a/build.xml b/build.xml
index e35cac0..b019ec3 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=2.0.15/
+property name=base.version value=2.0.16/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c970224..527eb29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.0.16) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani j...@apache.org  Thu, 18 Jun 2015 14:01:32 -0400
+
 cassandra (2.0.15) unstable; urgency=medium
 
   * New release



[jira] [Updated] (CASSANDRA-8460) Make it possible to move non-compacting sstables to slow/big storage in DTCS

2015-06-18 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson updated CASSANDRA-8460:
---
Reviewer: Marcus Eriksson

 Make it possible to move non-compacting sstables to slow/big storage in DTCS
 

 Key: CASSANDRA-8460
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8460
 Project: Cassandra
  Issue Type: Improvement
Reporter: Marcus Eriksson
Assignee: Jeff Jirsa
  Labels: dtcs

 It would be nice if we could configure DTCS to have a set of extra data 
 directories where we move the sstables once they are older than 
 max_sstable_age_days. 
 This would enable users to have a quick, small SSD for hot, new data, and big 
 spinning disks for data that is rarely read and never compacted.



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


cassandra git commit: Fix bug in cardinality estimation when sstables are being compacted

2015-06-18 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 83c0e01aa - 42ea6e1f3


Fix bug in cardinality estimation when sstables are being compacted

patch by tjake; reviewed by benedict for CASSANDRA-9580


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

Branch: refs/heads/cassandra-2.1
Commit: 42ea6e1f3751845bd0d1326ab789a53a20783a53
Parents: 83c0e01
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:43:44 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:45:45 2015 -0400

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/42ea6e1f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 899ea7c..9ae0969 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.7
+ * Fix bug in cardinality check when compacting (CASSANDRA-9580)
  * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 Merged from 2.0
  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/42ea6e1f/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index 0475665..0635826 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -264,6 +264,9 @@ public class SSTableReader extends SSTable implements 
SelfRefCountedSSTableRead
 ICardinality cardinality = null;
 for (SSTableReader sstable : sstables)
 {
+if (sstable.openReason == OpenReason.EARLY)
+continue;
+
 try
 {
 CompactionMetadata metadata = (CompactionMetadata) 
sstable.descriptor.getMetadataSerializer().deserialize(sstable.descriptor, 
MetadataType.COMPACTION);



[jira] [Commented] (CASSANDRA-9612) Assertion error while running `nodetool cfstats`

2015-06-18 Thread Jim Witschey (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592298#comment-14592298
 ] 

Jim Witschey commented on CASSANDRA-9612:
-

This looks like a duplicate of 
[9580|https://issues.apache.org/jira/browse/CASSANDRA-9580]. [~mlowicki] Does 
that seem right to you?

 Assertion error while running `nodetool cfstats`
 

 Key: CASSANDRA-9612
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9612
 Project: Cassandra
  Issue Type: Bug
 Environment: C* 2.1.6
Reporter: mlowicki

  nodetool cfstats sync.entity
 {code}
 Keyspace: sync
   Read Count: 2916573
   Read Latency: 0.26340278573517617 ms.
   Write Count: 2356495
   Write Latency: 0.03296340242606074 ms.
   Pending Flushes: 0
   Table: entity
   SSTable count: 919
   SSTables in each level: [50/4, 11/10, 101/100, 756, 0, 0, 0, 0, 
 0]
   Space used (live): 146265014558
   Space used (total): 146265014558
   Space used by snapshots (total): 0
   Off heap memory used (total): 97950899
   SSTable Compression Ratio: 0.1870809135227128
 error: 
 /var/lib/cassandra/data2/sync/entity-f73d1360770e11e49f1d673dc3e50a5f/sync-entity-tmplink-ka-516810-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /var/lib/cassandra/data2/sync/entity-f73d1360770e11e49f1d673dc3e50a5f/sync-entity-tmplink-ka-516810-Data.db
   at 
 org.apache.cassandra.io.sstable.SSTableReader.getApproximateKeyCount(SSTableReader.java:270)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:296)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:290)
   at 
 com.yammer.metrics.reporting.JmxReporter$Gauge.getValue(JmxReporter.java:63)
   at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
   at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
   at 
 com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
   at 
 com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:83)
   at 
 com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
   at 
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
   at 
 com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1464)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
   at 
 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:657)
   at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
   at sun.rmi.transport.Transport$2.run(Transport.java:202)
   at sun.rmi.transport.Transport$2.run(Transport.java:199)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:198)
   at 
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681)
   at java.security.AccessController.doPrivileged(Native Method)
   at 
 

[jira] [Commented] (CASSANDRA-9616) cfstats on 2.1.6 throws fatal exception during compaction cycles

2015-06-18 Thread Mark Manley (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592327#comment-14592327
 ] 

Mark Manley commented on CASSANDRA-9616:


It looks like the same issue with a different call.  I'll close this as a dup 
and will link this appropriately.

Thanks!

 cfstats on 2.1.6 throws fatal exception during compaction cycles
 

 Key: CASSANDRA-9616
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9616
 Project: Cassandra
  Issue Type: Bug
Reporter: Mark Manley

 When running cfstats against any cf that is doing a compaction cycle, I get 
 the following exception for its reading of tmplink files:
 {code}
 error: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 {code}
 This seems to have started when I rolled out 2.1.6.  I don't see a current 
 bug in my cursory search, so here you go!



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


[jira] [Resolved] (CASSANDRA-9616) cfstats on 2.1.6 throws fatal exception during compaction cycles

2015-06-18 Thread Mark Manley (JIRA)

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

Mark Manley resolved CASSANDRA-9616.

Resolution: Duplicate

 cfstats on 2.1.6 throws fatal exception during compaction cycles
 

 Key: CASSANDRA-9616
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9616
 Project: Cassandra
  Issue Type: Bug
Reporter: Mark Manley

 When running cfstats against any cf that is doing a compaction cycle, I get 
 the following exception for its reading of tmplink files:
 {code}
 error: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 {code}
 This seems to have started when I rolled out 2.1.6.  I don't see a current 
 bug in my cursory search, so here you go!



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


[jira] [Commented] (CASSANDRA-9616) cfstats on 2.1.6 throws fatal exception during compaction cycles

2015-06-18 Thread Jim Witschey (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592334#comment-14592334
 ] 

Jim Witschey commented on CASSANDRA-9616:
-

Perfect, thank you.

 cfstats on 2.1.6 throws fatal exception during compaction cycles
 

 Key: CASSANDRA-9616
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9616
 Project: Cassandra
  Issue Type: Bug
Reporter: Mark Manley

 When running cfstats against any cf that is doing a compaction cycle, I get 
 the following exception for its reading of tmplink files:
 {code}
 error: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /var/lib/cassandra/data/metric/metric_300-3fc67c00f75911e495a13d7c060fcade/metric-metric_300-tmplink-ka-9300-Data.db
 {code}
 This seems to have started when I rolled out 2.1.6.  I don't see a current 
 bug in my cursory search, so here you go!



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


[jira] [Commented] (CASSANDRA-9610) Increased response time with cassandra 2.0.9 from 1.2.19

2015-06-18 Thread Maitrayee (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592405#comment-14592405
 ] 

Maitrayee commented on CASSANDRA-9610:
--

In 1.2.19 I have 3 nodes in each dc. Cluster is across 3 dc

In 2.0.9 I have 2 nodes/dc across 2 dc

 Increased response time with cassandra 2.0.9 from 1.2.19
 

 Key: CASSANDRA-9610
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9610
 Project: Cassandra
  Issue Type: Bug
Reporter: Maitrayee
 Attachments: servicedefinition_schema.txt, traceout_1.2.19, 
 traceout_2.0.9


 I was using Cassandra 1.2.19. Recently upgraded to 2.0.9. Queries with 
 secondary index was completing much faster in 1.2.19
 Validated this with trace on via cqlsh



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


[jira] [Reopened] (CASSANDRA-9583) test-compression could run multiple unit tests in parallel like test

2015-06-18 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg reopened CASSANDRA-9583:
---

There is an issue with some jobs like pig-test running into broken parts of the 
build script. I pushed another commit to remove the usage of suitename and if 
the pig-tests show up in the results in Cassci it should address the issue.

 test-compression could run multiple unit tests in parallel like test
 

 Key: CASSANDRA-9583
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9583
 Project: Cassandra
  Issue Type: Test
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Fix For: 3.0 beta 1, 2.2.0 rc2






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


[jira] [Issue Comment Deleted] (CASSANDRA-9607) Get high load after upgrading from 2.1.3 to cassandra 2.1.6

2015-06-18 Thread Study Hsueh (JIRA)

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

Study Hsueh updated CASSANDRA-9607:
---
Comment: was deleted

(was: cassandra log
2015-06-15 13:40:41,200 upgrade to 2.1.6
2015-06-17 18:32:40,740 whole cluster went down)

 Get high load after upgrading from 2.1.3 to cassandra 2.1.6
 ---

 Key: CASSANDRA-9607
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9607
 Project: Cassandra
  Issue Type: Bug
 Environment: OS: 
 CentOS 6 * 4
 Ubuntu 14.04 * 2
 JDK: Oracle JDK 7, Oracle JDK 8
 VM: Azure VM Standard A3 * 6
 RAM: 7 GB
 Cores: 4
Reporter: Study Hsueh
Priority: Critical
 Attachments: cassandra.yaml, load.png, log.zip


 After upgrading cassandra version from 2.1.3 to 2.1.6, the average load of my 
 cassandra cluster grows from 0.x~1.x to 3.x~6.x. 
 What kind of additional information should I provide for this problem?



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


[4/5] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-06-18 Thread jake
http://git-wip-us.apache.org/repos/asf/cassandra/blob/70d0d5f2/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
--
diff --cc src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
index f4a59a2,000..1458461
mode 100644,00..100644
--- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java
@@@ -1,2175 -1,0 +1,2178 @@@
 +/*
 + * 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.
 + */
 +package org.apache.cassandra.io.sstable.format;
 +
 +import java.io.*;
 +import java.nio.ByteBuffer;
 +import java.util.*;
 +import java.util.concurrent.*;
 +import java.util.concurrent.atomic.AtomicBoolean;
 +import java.util.concurrent.atomic.AtomicLong;
 +
 +import com.google.common.annotations.VisibleForTesting;
 +import com.google.common.base.Predicate;
 +import com.google.common.collect.Iterators;
 +import com.google.common.collect.Ordering;
 +import com.google.common.primitives.Longs;
 +import com.google.common.util.concurrent.RateLimiter;
 +
 +import com.clearspring.analytics.stream.cardinality.CardinalityMergeException;
 +import com.clearspring.analytics.stream.cardinality.HyperLogLogPlus;
 +import com.clearspring.analytics.stream.cardinality.ICardinality;
 +import org.apache.cassandra.cache.CachingOptions;
 +import org.apache.cassandra.cache.InstrumentingCache;
 +import org.apache.cassandra.cache.KeyCacheKey;
 +import org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor;
 +import org.apache.cassandra.concurrent.ScheduledExecutors;
 +import org.apache.cassandra.config.*;
 +import org.apache.cassandra.db.*;
 +import org.apache.cassandra.db.columniterator.OnDiskAtomIterator;
 +import org.apache.cassandra.db.commitlog.ReplayPosition;
 +import org.apache.cassandra.db.composites.CellName;
 +import org.apache.cassandra.db.filter.ColumnSlice;
 +import org.apache.cassandra.db.index.SecondaryIndex;
 +import org.apache.cassandra.db.lifecycle.Tracker;
 +import org.apache.cassandra.dht.*;
 +import org.apache.cassandra.io.compress.CompressionMetadata;
 +import org.apache.cassandra.io.sstable.*;
 +import org.apache.cassandra.io.sstable.metadata.*;
 +import org.apache.cassandra.io.util.*;
 +import org.apache.cassandra.metrics.RestorableMeter;
 +import org.apache.cassandra.metrics.StorageMetrics;
 +import org.apache.cassandra.service.ActiveRepairService;
 +import org.apache.cassandra.service.CacheService;
 +import org.apache.cassandra.service.StorageService;
 +import org.apache.cassandra.utils.*;
 +import org.apache.cassandra.utils.concurrent.OpOrder;
 +import org.slf4j.Logger;
 +import org.slf4j.LoggerFactory;
 +import org.apache.cassandra.utils.concurrent.Ref;
 +import org.apache.cassandra.utils.concurrent.SelfRefCounted;
 +
 +import static 
org.apache.cassandra.db.Directories.SECONDARY_INDEX_NAME_SEPARATOR;
 +
 +/**
 + * An SSTableReader can be constructed in a number of places, but typically 
is either
 + * read from disk at startup, or constructed from a flushed memtable, or 
after compaction
 + * to replace some existing sstables. However once created, an sstablereader 
may also be modified.
 + *
 + * A reader's OpenReason describes its current stage in its lifecycle, as 
follows:
 + * 
 + * 
 + * pre {@code
 + * NORMAL
 + * From:   None= Reader has been read from disk, either at 
startup or from a flushed memtable
 + * EARLY   = Reader is the final result of a compaction
 + * MOVED_START = Reader WAS being compacted, but this failed and 
it has been restored to NORMAL status
 + *
 + * EARLY
 + * From:   None= Reader is a compaction replacement that is 
either incomplete and has been opened
 + *to represent its partial result status, or has 
been finished but the compaction
 + *it is a part of has not yet completed fully
 + * EARLY   = Same as from None, only it is not the first 
time it has been
 + *
 + * MOVED_START
 + * From:   NORMAL  = Reader is being compacted. This compaction has 
not finished, but the compaction result
 + *

[2/5] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-06-18 Thread jake
Merge branch 'cassandra-2.0' into cassandra-2.1


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

Branch: refs/heads/cassandra-2.2
Commit: 83c0e01aa84a6cbfe36a89ef13027a78567df70a
Parents: 0452e74 23e66a9
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:32:10 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:32:10 2015 -0400

--

--




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

2015-06-18 Thread jake
Merge branch 'cassandra-2.1' into cassandra-2.2

Conflicts:
CHANGES.txt


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

Branch: refs/heads/cassandra-2.2
Commit: 70d0d5f2cbe0b211b65fa7ee26b8c82e4d801fd9
Parents: 1f8516d 42ea6e1
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:47:47 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:47:47 2015 -0400

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/io/sstable/format/SSTableReader.java | 3 +++
 2 files changed, 4 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/70d0d5f2/CHANGES.txt
--
diff --cc CHANGES.txt
index fb44c9a,9ae0969..b96a2b0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,15 -1,6 +1,16 @@@
 -2.1.7
 +2.2
 + * Rename class for DATE type in Java driver (CASSANDRA-9563)
 + * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
 + * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
 + * Mlockall before opening system sstables  remove boot_without_jna option 
(CASSANDRA-9573)
 + * Add functions to convert timeuuid to date or time, deprecate dateOf and 
unixTimestampOf (CASSANDRA-9229)
 + * Make sure we cancel non-compacting sstables from LifecycleTransaction 
(CASSANDRA-9566)
 + * Fix deprecated repair JMX API (CASSANDRA-9570)
 + * Add logback metrics (CASSANDRA-9378)
 +Merged from 2.1:
+  * Fix bug in cardinality check when compacting (CASSANDRA-9580)
   * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 + * Make rebuild only run one at a time (CASSANDRA-9119)
  Merged from 2.0
   * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
   * ArrivalWindow should use primitives (CASSANDRA-9496)



[1/5] cassandra git commit: bump versions

2015-06-18 Thread jake
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 1f8516da8 - 70d0d5f2c


bump versions


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

Branch: refs/heads/cassandra-2.2
Commit: 23e66a9d1c50e4331e8c1d212c2eeb940c5471fa
Parents: f32cff8
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:02:45 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:02:45 2015 -0400

--
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 3 files changed, 15 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index c4fdddb..9bfe803 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.0.16
+==
+
+Upgrading
+-
+- Nothing specific to this release, but refer to previous entries if you
+  are upgrading from a previous version.
+
 2.0.15
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/build.xml
--
diff --git a/build.xml b/build.xml
index e35cac0..b019ec3 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 property name=debuglevel value=source,lines,vars/
 
 !-- default version and SCM information --
-property name=base.version value=2.0.15/
+property name=base.version value=2.0.16/
 property name=scm.connection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.developerConnection 
value=scm:git://git.apache.org/cassandra.git/
 property name=scm.url 
value=http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree/

http://git-wip-us.apache.org/repos/asf/cassandra/blob/23e66a9d/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c970224..527eb29 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.0.16) unstable; urgency=medium
+
+  * New release 
+
+ -- Jake Luciani j...@apache.org  Thu, 18 Jun 2015 14:01:32 -0400
+
 cassandra (2.0.15) unstable; urgency=medium
 
   * New release



[3/5] cassandra git commit: Fix bug in cardinality estimation when sstables are being compacted

2015-06-18 Thread jake
Fix bug in cardinality estimation when sstables are being compacted

patch by tjake; reviewed by benedict for CASSANDRA-9580


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

Branch: refs/heads/cassandra-2.2
Commit: 42ea6e1f3751845bd0d1326ab789a53a20783a53
Parents: 83c0e01
Author: T Jake Luciani j...@apache.org
Authored: Thu Jun 18 14:43:44 2015 -0400
Committer: T Jake Luciani j...@apache.org
Committed: Thu Jun 18 14:45:45 2015 -0400

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/42ea6e1f/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 899ea7c..9ae0969 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.7
+ * Fix bug in cardinality check when compacting (CASSANDRA-9580)
  * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour 
(CASSANDRA-9549)
 Merged from 2.0
  * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/42ea6e1f/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
--
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java 
b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index 0475665..0635826 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -264,6 +264,9 @@ public class SSTableReader extends SSTable implements 
SelfRefCountedSSTableRead
 ICardinality cardinality = null;
 for (SSTableReader sstable : sstables)
 {
+if (sstable.openReason == OpenReason.EARLY)
+continue;
+
 try
 {
 CompactionMetadata metadata = (CompactionMetadata) 
sstable.descriptor.getMetadataSerializer().deserialize(sstable.descriptor, 
MetadataType.COMPACTION);



[jira] [Resolved] (CASSANDRA-9612) Assertion error while running `nodetool cfstats`

2015-06-18 Thread Jim Witschey (JIRA)

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

Jim Witschey resolved CASSANDRA-9612.
-
Resolution: Duplicate

 Assertion error while running `nodetool cfstats`
 

 Key: CASSANDRA-9612
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9612
 Project: Cassandra
  Issue Type: Bug
 Environment: C* 2.1.6
Reporter: mlowicki

  nodetool cfstats sync.entity
 {code}
 Keyspace: sync
   Read Count: 2916573
   Read Latency: 0.26340278573517617 ms.
   Write Count: 2356495
   Write Latency: 0.03296340242606074 ms.
   Pending Flushes: 0
   Table: entity
   SSTable count: 919
   SSTables in each level: [50/4, 11/10, 101/100, 756, 0, 0, 0, 0, 
 0]
   Space used (live): 146265014558
   Space used (total): 146265014558
   Space used by snapshots (total): 0
   Off heap memory used (total): 97950899
   SSTable Compression Ratio: 0.1870809135227128
 error: 
 /var/lib/cassandra/data2/sync/entity-f73d1360770e11e49f1d673dc3e50a5f/sync-entity-tmplink-ka-516810-Data.db
 -- StackTrace --
 java.lang.AssertionError: 
 /var/lib/cassandra/data2/sync/entity-f73d1360770e11e49f1d673dc3e50a5f/sync-entity-tmplink-ka-516810-Data.db
   at 
 org.apache.cassandra.io.sstable.SSTableReader.getApproximateKeyCount(SSTableReader.java:270)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:296)
   at 
 org.apache.cassandra.metrics.ColumnFamilyMetrics$9.value(ColumnFamilyMetrics.java:290)
   at 
 com.yammer.metrics.reporting.JmxReporter$Gauge.getValue(JmxReporter.java:63)
   at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75)
   at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
   at 
 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
   at 
 com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
   at 
 com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:83)
   at 
 com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
   at 
 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
   at 
 com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1464)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97)
   at 
 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420)
   at 
 javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:657)
   at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
   at sun.rmi.transport.Transport$2.run(Transport.java:202)
   at sun.rmi.transport.Transport$2.run(Transport.java:199)
   at java.security.AccessController.doPrivileged(Native Method)
   at sun.rmi.transport.Transport.serviceCall(Transport.java:198)
   at 
 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.access$400(TCPTransport.java:619)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:684)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$1.run(TCPTransport.java:681)
   at java.security.AccessController.doPrivileged(Native Method)
   at 
 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681)
   at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at 
 

[jira] [Comment Edited] (CASSANDRA-9610) Increased response time with cassandra 2.0.9 from 1.2.19

2015-06-18 Thread Maitrayee (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-9610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14592405#comment-14592405
 ] 

Maitrayee edited comment on CASSANDRA-9610 at 6/18/15 8:29 PM:
---

In 1.2.19 I have 3 nodes in each dc. Cluster is across 3 dc
In 2.0.9 I have 2 nodes/dc across 2 dc

As I mentioned, in 1.2.19 initial_token was not set any value, does that still 
override num_token.
nodetool status on the 1.2.19 cluster shows Tokens as 256. How is it still 
vnode is disabled on this cluster?


was (Author: maitrayee_c):
In 1.2.19 I have 3 nodes in each dc. Cluster is across 3 dc
In 2.0.9 I have 2 nodes/dc across 2 dc

As I mentioned, in 1.2.19 initial_token was not set any value, does that still 
override num_token.
nodetool status on the 1.2.19 cluster shows Tokens as 256

During 1.2.19 to 2.0.9 upgrade initial_token was commented. Do I need to follow 
the same steps 

 Increased response time with cassandra 2.0.9 from 1.2.19
 

 Key: CASSANDRA-9610
 URL: https://issues.apache.org/jira/browse/CASSANDRA-9610
 Project: Cassandra
  Issue Type: Bug
Reporter: Maitrayee
 Attachments: servicedefinition_schema.txt, traceout_1.2.19, 
 traceout_2.0.9


 I was using Cassandra 1.2.19. Recently upgraded to 2.0.9. Queries with 
 secondary index was completing much faster in 1.2.19
 Validated this with trace on via cqlsh



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


  1   2   >