[jira] [Resolved] (CASSANDRA-4560) Add tracing support for CQL3 bind variables

2012-09-19 Thread David Alves (JIRA)

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

David Alves resolved CASSANDRA-4560.


Resolution: Fixed

> Add tracing support for CQL3 bind variables
> ---
>
> Key: CASSANDRA-4560
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4560
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-4584 at 9/20/12 6:48 AM:
-

separated logging for prepared query submission, execution and regular query 
execution, this pretty much includes CASSANDRA-4560 which is now included in 
this patch.

  was (Author: dr-alves):
separated logging for prepared query submission, execution and regular 
query execution, this pretty much includes CASSANDRA-4560 which is not included 
in this patch.
  
> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
>  Labels: cql3
> Fix For: 1.2.0 beta 2
>
> Attachments: 4584.patch, 4584.patch, 4584.patch, 4584.patch, 
> 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4584:
---

Attachment: 4584.patch

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
>  Labels: cql3
> Fix For: 1.2.0 beta 2
>
> Attachments: 4584.patch, 4584.patch, 4584.patch, 4584.patch, 
> 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4584:


separated logging for prepared query submission, execution and regular query 
execution, this pretty much includes CASSANDRA-4560 which is not included in 
this patch.

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
>  Labels: cql3
> Fix For: 1.2.0 beta 2
>
> Attachments: 4584.patch, 4584.patch, 4584.patch, 4584.patch, 
> 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4560) Add tracing support for CQL3 bind variables

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4560:
---

Attachment: (was: 4560.patch)

> Add tracing support for CQL3 bind variables
> ---
>
> Key: CASSANDRA-4560
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4560
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4584:
---

Attachment: 4584.patch

moved the initial logging of cql queries into QueryProcessor in the cql3 case 
because sessions were being started before and we needed to log params.

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
>  Labels: cql3
> Fix For: 1.2.0 beta 2
>
> Attachments: 4584.patch, 4584.patch, 4584.patch, 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4585) Add cqlsh support for tracing results

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4585:
---

Attachment: 4585.patch

added pretty printing to the uuid. the result can be used directly to query the 
sessions/events table.

> Add cqlsh support for tracing results
> -
>
> Key: CASSANDRA-4585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4585
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Tools
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4585.patch, 4585.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4560) Add tracing support for CQL3 bind variables

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4560:
---

Attachment: 4560.patch

simple patch that exposes bound variable names by exposing 
ParsedStatement.Prepared in ClientState instead of exposing CQLStatement 
directly.

> Add tracing support for CQL3 bind variables
> ---
>
> Key: CASSANDRA-4560
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4560
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Jonathan Ellis
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 4560.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4560) Add tracing support for CQL3 bind variables

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4560:
---

Assignee: David Alves

> Add tracing support for CQL3 bind variables
> ---
>
> Key: CASSANDRA-4560
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4560
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 4560.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4585) Add cqlsh support for tracing results

2012-09-19 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4585:


we need it to be able to query the trace tables so i'm planning on adding it, 
just need some more time

> Add cqlsh support for tracing results
> -
>
> Key: CASSANDRA-4585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4585
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Tools
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4585.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4585) Add cqlsh support for tracing results

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4585:
---

Attachment: 4585.patch

requires 
http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/issues/detail?id=24
 to go in.

just missing pretty printing the uuid.

> Add cqlsh support for tracing results
> -
>
> Key: CASSANDRA-4585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4585
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Tools
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: Aleksey Yeschenko
> Fix For: 1.2.0
>
> Attachments: 4585.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4584:


moving cqlsh to another issue makes this one pretty much done (before review 
that is)

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch, 4584.patch, 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4584:
---

Attachment: 4584.patch

reverted changes to cqlsh as those go into CASSANDRA-4585

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch, 4584.patch, 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4584:
---

Attachment: 4584.patch

moves enabling tracing into queryprocessor, still missing uuid pretty printing 
in cqlsh.

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch, 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4584:


bq. But honestly I'm not sure there is a point in disallowing tracing for some 
query, especially since that's more work than doing it for all queries. 
Besides, for any query it could be interesting to know how long it took to 
parse it, to validate it and to execute it.

I see no reason why tracing should not be enabled for schema querying/altering 
statements, but since "trace" is keyword we only know wether to trace *after* 
we parse the query, which will make it difficult to track parse times.

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4584:


the non-schema-tracing behavior is legacy from the original patch, but I can't 
actually think of a reason not to trace schema altering/querying statements, so 
I'll add it where you suggest (and also add it to thrift for that matter). 

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-19 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4584:


Allowing tracing only on Modification/Select and Truncate statements was 
deliberate as it mimics what is done in the thrift interface (cf/keyspace 
methods do not enable tracing), but I hadn't thought of placing it in 
QueryProcessor, maybe it makes more sense there.
Still you raise a point should schema altering methods be traced? 


> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-18 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4584:


Note: patch needs an updated version of lib/cql-internal-only-1.2.0.zip that 
can be built with the patch in 
http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/issues/detail?id=24

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-18 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-4584 at 9/19/12 5:37 PM:
-

patch that adds the keyword "trace" to cql3.

tracing is forced for a query when the keyword is prepended (e.g. "trace select 
* from "Standard1";")

the CqlResult from the query includes the session uuid so that clients may use 
it to query the events/sessions tables

adds support for showing said uuid in cqlsh *but* couldn't figure out how to 
format it in intelligible form (only gibberish is printed, uuid is returned as 
bytes, tried using the formatting methods but ultimately gave up, need help).

also altered cassandra-dbapi2 so that cursor now includes the uuid from the 
reponse (submitted patch in 
http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/issues/detail?id=24)



  was (Author: dr-alves):
patch that adds the keyword "trace" to cql3.

tracing is forced for a query when the keyword is prepended (e.g. "trace select 
* from "Standard1";)

the CqlResult from the query includes the session uuid so that clients may use 
it to query the events/sessions tables

adds support for showing said uuid in cqlsh *but* couldn't figure out how to 
format it in intelligible form (only gibberish is printed, uuid is returned as 
bytes, tried using the formatting methods but ultimately gave up, need help).

also altered cassandra-dbapi2 so that cursor now includes the uuid from the 
reponse (submitted patch in 
http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/issues/detail?id=24)


  
> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-18 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4584:
---

Attachment: 4584.patch

patch that adds the keyword "trace" to cql3.

tracing is forced for a query when the keyword is prepended (e.g. "trace select 
* from "Standard1";)

the CqlResult from the query includes the session uuid so that clients may use 
it to query the events/sessions tables

adds support for showing said uuid in cqlsh *but* couldn't figure out how to 
format it in intelligible form (only gibberish is printed, uuid is returned as 
bytes, tried using the formatting methods but ultimately gave up, need help).

also altered cassandra-dbapi2 so that cursor now includes the uuid from the 
reponse (submitted patch in 
http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/issues/detail?id=24)



> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 4584.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4672) _TRACE verb is not droppable which causes an AssertionError

2012-09-17 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4672:
---

Attachment: 4672.patch

attaching trivial fix 

> _TRACE verb is not droppable which causes an AssertionError
> ---
>
> Key: CASSANDRA-4672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4672
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: David Alves
>Assignee: David Alves
>Priority: Trivial
> Fix For: 1.2.0
>
> Attachments: 4672.patch
>
>
> When a big enough statement is traced (like select *) an assertion error is 
> fired because the _TRACE verb is not droppable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4672) _TRACE verb is not droppable which causes an AssertionError

2012-09-17 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4672:
---

Assignee: David Alves

> _TRACE verb is not droppable which causes an AssertionError
> ---
>
> Key: CASSANDRA-4672
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4672
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
>Reporter: David Alves
>Assignee: David Alves
>Priority: Trivial
> Fix For: 1.2.0
>
>
> When a big enough statement is traced (like select *) an assertion error is 
> fired because the _TRACE verb is not droppable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CASSANDRA-4672) _TRACE verb is not droppable which causes an AssertionError

2012-09-17 Thread David Alves (JIRA)
David Alves created CASSANDRA-4672:
--

 Summary: _TRACE verb is not droppable which causes an 
AssertionError
 Key: CASSANDRA-4672
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4672
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Affects Versions: 1.2.0
Reporter: David Alves
Priority: Trivial
 Fix For: 1.2.0


When a big enough statement is traced (like select *) an assertion error is 
fired because the _TRACE verb is not droppable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-09-17 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1337:


cool, that means things are probably kosher at least semantically, right? I 
mean the bug present in v1 is no longer present and all other related tests 
pass.

> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 1137-bugfix.patch, 1337.patch, 1337-v4.patch, 
> ASF.LICENSE.NOT.GRANTED--0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt,
>  CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4615) cannot set log4j level on modules/classes

2012-09-04 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4615:


not as long as the file appender has an INFO threshold, no.

> cannot set log4j level on modules/classes
> -
>
> Key: CASSANDRA-4615
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4615
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.2.0 beta 1
>Reporter: Brandon Williams
>Assignee: David Alves
>Priority: Minor
>
> For example, setting log4j.logger.org.apache.cassandra.db=DEBUG in the config 
> has no effect. Perhaps there is something else that needs to be set as well, 
> but we should at least document that there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-4615) cannot set log4j level on modules/classes

2012-09-04 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-4615 at 9/5/12 9:15 AM:


right, you need to also down the threshold for the appender you want (probably 
the R one in this case).

I'll try and find find a better way to do that, but without actually using a 
different logger for tracing (and therefore changing quite a lot of code) it 
will probably depend on some weird hack to the logging system.

  was (Author: dr-alves):
right, you need to also up the threshold for the appender you want 
(probably the R one in this case).

I'll try and find find a better way to do that, but without actually using a 
different logger for tracing (and therefore changing quite a lot of code) it 
will probably depend on some weird hack to the logging system.
  
> cannot set log4j level on modules/classes
> -
>
> Key: CASSANDRA-4615
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4615
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.2.0 beta 1
>Reporter: Brandon Williams
>Assignee: David Alves
>Priority: Minor
>
> For example, setting log4j.logger.org.apache.cassandra.db=DEBUG in the config 
> has no effect. Perhaps there is something else that needs to be set as well, 
> but we should at least document that there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4615) cannot set log4j level on modules/classes

2012-09-04 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4615:


right, you need to also up the threshold for the appender you want (probably 
the R one in this case).

I'll try and find find a better way to do that, but without actually using a 
different logger for tracing (and therefore changing quite a lot of code) it 
will probably depend on some weird hack to the logging system.

> cannot set log4j level on modules/classes
> -
>
> Key: CASSANDRA-4615
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4615
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.2.0 beta 1
>Reporter: Brandon Williams
>Assignee: David Alves
>Priority: Minor
>
> For example, setting log4j.logger.org.apache.cassandra.db=DEBUG in the config 
> has no effect. Perhaps there is something else that needs to be set as well, 
> but we should at least document that there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4615) cannot set log4j level on modules/classes

2012-09-04 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4615:


The way it is setup right now, in order for tracing appender to be used in 
debug level, the root logger was set to DEBUG and the other appenders were set 
to INFO. This unfortunately has the side effect of not being able to lower only 
a particular logger to debug (because the root is already at debug).

The other strategy would be to have an alternative logger for tracing, but this 
cannot be done at the conf file level only, the actual instance of Logger would 
have to be a different one. I mean instead of Logger logger = 
LoggerFactory.getLogger(CassandraServer.class); we would have to use a 
particular one, like Logger logger = LoggerFactory.getLogger("tracing-logger");.

I chose the first one because it didn't mean changing code (just the conf file).

> cannot set log4j level on modules/classes
> -
>
> Key: CASSANDRA-4615
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4615
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.2.0 beta 1
>Reporter: Brandon Williams
>Assignee: David Alves
>Priority: Minor
>
> For example, setting log4j.logger.org.apache.cassandra.db=DEBUG in the config 
> has no effect. Perhaps there is something else that needs to be set as well, 
> but we should at least document that there.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (CASSANDRA-4584) Add CQL syntax to enable request tracing

2012-09-01 Thread David Alves (JIRA)

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

David Alves reassigned CASSANDRA-4584:
--

Assignee: David Alves  (was: Sylvain Lebresne)

> Add CQL syntax to enable request tracing
> 
>
> Key: CASSANDRA-4584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4584
> Project: Cassandra
>  Issue Type: Sub-task
>Affects Versions: 1.2.0 beta 1
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-09-01 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1337:
---

Attachment: 1337-v4.patch

Corrected 2ndary index cfactor calc and (slightly) optimized gathering rows.

> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 1137-bugfix.patch, 1337.patch, 1337-v4.patch, 
> ASF.LICENSE.NOT.GRANTED--0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt,
>  CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-08-31 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1337 at 9/1/12 5:09 PM:


Clean rehash that addresses Sylvain's (very helpful) comments, including an 
implementation for the CQL3 case. It estimates concurrency factor the following 
ways:

Estimate Rows:
- Primary Indexes - uses cfs's estimated keys divided by RF
- 2ndary indexes - uses the mean col count of the most selective index to 
estimate the total num keys

Estimate Cols (CQL3):
- IdentityFilter - uses the estimated keys + mean col count to estimate total 
cols
- NamesFilter - assumes cols with names are present and uses estimated keys to 
calculate to estimate total cols
- Other filters - as ylvain mentioned because we have no idea on the 
selectivity of the col filter we cannot estimate how many cols will be returned 
per node so we revert to concurrecy factor = 1.

Reimplemented parallel the parallel execution part to make it a lot cleaner IMO 
(previous implementation was forcefully adapting from the initial sequential 
execution which made it difficult to read)

Notes:
- cql_test.py dtest is failing in the same place as trunk ,need to look into it 
to make sure Sylvain's dtest passes
- not sure whether to wait on read repair results for all handlers or just for 
the ones we actually use

  was (Author: dr-alves):
Clean rehash that addressed Sylvain's (very helpful comments) including 
implementing for the CQL3 case. It estimated concurrency factor the following 
ways:

- Primary Indexes + Thrift - divides cfs by RF
- 2ndary indexes + Thrift - uses the mean col count of the most selective index 
to estimate the number of keys
- CQL3 + IdentityFilter - uses the estimated keys + mean col count to estimate 
cols per node
- CQL3 + Names filter - assumes cols with names are present and uses estimated 
keys to calculate cols per node
- CQL3 - Other filters - as sylvain mentioned because we have no idea on the 
selectivity of the col filter we cannot estimate how many cols will be returned 
per node so we revert to concurrecy factor = 1.

Reimplemented parallel the parallel execution part to make it a lot cleaner IMO 
(previous implementation was adapting sequential execution which made it 
difficult to read)

cql_test.py dtest is failing in the same place as trunk ,need to look into it 
to make sure Sylvain's dtest passes
  
> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 1137-bugfix.patch, 1337.patch, 
> ASF.LICENSE.NOT.GRANTED--0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt,
>  CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-08-31 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1337 at 9/1/12 5:09 PM:


Clean rehash that addresses Sylvain's (very helpful) comments, including an 
implementation for the CQL3 case. It estimates concurrency factor the following 
ways:

Estimate Rows:
- Primary Indexes - uses cfs's estimated keys divided by RF
- 2ndary indexes - uses the mean col count of the most selective index to 
estimate the total num keys

Estimate Cols (CQL3):
- IdentityFilter - uses the estimated keys + mean col count to estimate total 
cols
- NamesFilter - assumes cols with names are present and uses estimated keys to 
calculate to estimate total cols
- Other filters - as Sylvain mentioned because we have no idea on the 
selectivity of the col filter we cannot estimate how many cols will be returned 
per node so we revert to concurrecy factor = 1.

Reimplemented parallel the parallel execution part to make it a lot cleaner IMO 
(previous implementation was forcefully adapting from the initial sequential 
execution which made it difficult to read)

Notes:
- cql_test.py dtest is failing in the same place as trunk ,need to look into it 
to make sure Sylvain's dtest passes
- not sure whether to wait on read repair results for all handlers or just for 
the ones we actually use

  was (Author: dr-alves):
Clean rehash that addresses Sylvain's (very helpful) comments, including an 
implementation for the CQL3 case. It estimates concurrency factor the following 
ways:

Estimate Rows:
- Primary Indexes - uses cfs's estimated keys divided by RF
- 2ndary indexes - uses the mean col count of the most selective index to 
estimate the total num keys

Estimate Cols (CQL3):
- IdentityFilter - uses the estimated keys + mean col count to estimate total 
cols
- NamesFilter - assumes cols with names are present and uses estimated keys to 
calculate to estimate total cols
- Other filters - as ylvain mentioned because we have no idea on the 
selectivity of the col filter we cannot estimate how many cols will be returned 
per node so we revert to concurrecy factor = 1.

Reimplemented parallel the parallel execution part to make it a lot cleaner IMO 
(previous implementation was forcefully adapting from the initial sequential 
execution which made it difficult to read)

Notes:
- cql_test.py dtest is failing in the same place as trunk ,need to look into it 
to make sure Sylvain's dtest passes
- not sure whether to wait on read repair results for all handlers or just for 
the ones we actually use
  
> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 1137-bugfix.patch, 1337.patch, 
> ASF.LICENSE.NOT.GRANTED--0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt,
>  CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-08-31 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1337:
---

Attachment: 1337.patch

Clean rehash that addressed Sylvain's (very helpful comments) including 
implementing for the CQL3 case. It estimated concurrency factor the following 
ways:

- Primary Indexes + Thrift - divides cfs by RF
- 2ndary indexes + Thrift - uses the mean col count of the most selective index 
to estimate the number of keys
- CQL3 + IdentityFilter - uses the estimated keys + mean col count to estimate 
cols per node
- CQL3 + Names filter - assumes cols with names are present and uses estimated 
keys to calculate cols per node
- CQL3 - Other filters - as sylvain mentioned because we have no idea on the 
selectivity of the col filter we cannot estimate how many cols will be returned 
per node so we revert to concurrecy factor = 1.

Reimplemented parallel the parallel execution part to make it a lot cleaner IMO 
(previous implementation was adapting sequential execution which made it 
difficult to read)

cql_test.py dtest is failing in the same place as trunk ,need to look into it 
to make sure Sylvain's dtest passes

> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2.1
>
> Attachments: 1137-bugfix.patch, 1337.patch, 
> ASF.LICENSE.NOT.GRANTED--0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt,
>  CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-4599) Event tracing always records thread name as 'TracingStage'

2012-08-31 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4599:


lgtm, +1

> Event tracing always records thread name as 'TracingStage'
> --
>
> Key: CASSANDRA-4599
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4599
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
>Priority: Trivial
> Fix For: 1.2.0 beta 1
>
> Attachments: 4599.txt
>
>
> Since LoggingEvent#getThreadName gets current thread name when accessed, name 
> of tracing thread ('TracingStage') is always logged to events CF.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1123) Allow tracing query details

2012-08-29 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1123:
---

Attachment: 1123-v9.patch

Fixes the NPE. Problem was the result.getColumnCount call inside the logging 
statement (result maybe null).

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch, 1123-v8.patch, 1123-v9.patch, 
> 1123-v9.txt, 1123-v9.txt
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-08-29 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


+1, wfm

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch, 1123-v8.patch, 1123-v9.txt, 
> 1123-v9.txt
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-4406) Update stress for CQL3

2012-08-29 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4406:
---

Attachment: 4406.patch

addresses Pavel's review issues namely:

-adds support for both cql version (through -L and -L3) 
-CQLReader now correctly forms both cql2 and cql3 queries.


also readded support for time uuid col names in cql2

> Update stress for CQL3
> --
>
> Key: CASSANDRA-4406
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4406
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Affects Versions: 1.1.0
>Reporter: Sylvain Lebresne
>Assignee: David Alves
>  Labels: stress
> Fix For: 1.2.0
>
> Attachments: 4406.patch, 4406.patch, 4406.patch
>
>
> Stress does not support CQL3. We should add support for it so that:
> # we can benchmark CQL3
> # we can benchmark CASSANDRA-2478

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1123) Allow tracing query details

2012-08-28 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1123:
---

Attachment: 1123-v8.patch

Moves the error handling out of debuggableTPE into a parent TPE that is also 
used as the bare TPE for tracing, debuggable TPE now does only tracing plus the 
blocking queue.

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch, 1123-v8.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (CASSANDRA-1123) Allow tracing query details

2012-08-28 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1123 at 8/29/12 2:50 AM:
-

maybe I'm missing something, but I think we're covered:

- since the responsibility of logging such an event would always fall on the 
writing thread my point was that any log event generated by that thread would 
already go to all appenders but the tracing one because the TL state doen't get 
propagated there (for instance if we used try/catch in runMayThrow or if we 
logged in afterExecute).

- CassandraDaemon already sets a default exception handler that logs to error.

- The only thing that is not done is the 
test-whether-exception-handler-is-set-and-if-not-log dance that DTPE does but 
since one such handler is set this shouldn't be a problem, correct?

All this being said nothing like making sure by testing. will post back.

  was (Author: dr-alves):
maybe I'm missing something, but I think we're covered:

- since the responsibility of logging such an event would always fall on the 
writing thread my point was that any log event generated by that thread would 
already go to all appenders but the tracing one because the TL state doen't get 
propagated there (for instance if we used try/catch in runMayThrow).

- CassandraDaemon already sets a default exception handler that logs to error.

- The only thing that is not done is the 
test-whether-exception-handler-is-set-and-if-not-log dance that DTPE does but 
since one such handler is set this shouldn't be a problem, correct?

All this being said nothing like making sure by testing. will post back.
  
> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-08-28 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


maybe I'm missing something, but I think we're covered:

- since the responsibility of logging such an event would always fall on the 
writing thread my point was that any log event generated by that thread would 
already go to all appenders but the tracing one because the TL state doen't get 
propagated there (for instance if we used try/catch in runMayThrow).

- CassandraDaemon already sets a default exception handler that logs to error.

- The only thing that is not done is the 
test-whether-exception-handler-is-set-and-if-not-log dance that DTPE does but 
since one such handler is set this shouldn't be a problem, correct?

All this being said nothing like making sure by testing. will post back.

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-08-27 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


(previous results were with regard to writes/sec rate), int_op_rate/key_rate 
see the same results, avg latency does not see a difference


> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-08-27 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


ran some smoke tests (locally): 0.1% tracing probability under full load causes 
~5.5% slowdown (in writes), without any tracing event being discarded.



> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-08-27 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


bq. Hmm, can we do something clever like 
http://stackoverflow.com/questions/4046228/log4j-excluding-the-logging-of-some-classes
 to just log o.a.c.tracing to stdout + R so we don't just error out silently 
when something goes wrong w/ tracing?

after I had done this I realized that there was no point. all log events from 
everywhere (including o.a.c.tracing) but the ones coming from tracing stage 
executions are already present in all logs (tracing, rolling and stdout) if at 
the debug level. tracing writes do not inherit the debuggableTPE, which means 
log events coming from a tracing write do not go the tracing appender but *do* 
go the rest of the appenders by default already.

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1123) Allow tracing query details

2012-08-27 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1123:
---

Attachment: 1123-v7.patch

- Fixed NPE in TracingAppender because of inlining isTracing() (the instance 
may not be built at the time the appender is started)
- Added settraceprobability to nodetool
- Removed tracing settings from stress (assumed that was the goal, happy to 
readd if needed)

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt, 1123-v7.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-08-27 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


bq. Hmm, can we do something clever like 
http://stackoverflow.com/questions/4046228/log4j-excluding-the-logging-of-some-classes
 to just log o.a.c.tracing to stdout + R so we don't just error out silently 
when something goes wrong w/ tracing?

We can, I'm taking care of that on the next patch along with nodetool. 
Although, just to be clear, using a bare TPE is still the way to go because we 
still wouldn't want to propagate tracing to tracing mutation threads.

nice job on the DTPE cleanup.

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0 beta 1
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch, 1123-v6.txt
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1123) Allow tracing query details

2012-08-26 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1123:
---

Attachment: 1123.patch

final touches:
- JMX enabled tracing
- simplified enabling tracing
- completed cli and stress

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2.0
>
> Attachments: 1123-3.patch.gz, 1123.patch, 1123.patch, 1123.patch, 
> 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CASSANDRA-1123) Allow tracing query details

2012-08-20 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1123:
---

Attachment: 1123.patch

Attached is a patch that implements almost everything mentioned:

- Trace is implemented asynchronously with a new Stage that has a threadpool 
with a single thread that refuses to execute when the queue if full ( as 
suggested a warn is logged, experiments say that under huge load 0.001 
traceProbability still works without rejecting events). (also this threadpool 
is the only one that does not propagate trace events).

- Allows to enable tracing/disable tracing from cli. Also enable tracing has 
two parameters traceProbability (the prop that any single request from that 
client gets traced) and maxTraceNumber to allow to set a maximum number of 
traces to do (-1 set this to Integer.MAX_INT which is also the default)

- Adds the possibility to enable tracing in stress (using -tr probability 
[optionally maxNumTraces]

- TraceEvents can be build using a fluent builder (TraceEventBuilder) that is 
also able to deserialize events (both from thrift and from IColumns).

- All requests in CassandraServer start a tracing session when tracing is 
enabled and all parameters are stored along with the request details. This is 
done using a ThriftType that is able to serialize and deserialize thrift 
objects into Cassandra.

- User Request/Reply, Stage Start/Finish and Message Request/Reply are traced 
along with specific custom requests (such as apply_mutation, and 
get_column_family)

- Cli contains two other commands to explore traces:

show tracing summary [request_name] - this displays a summary for a request 
type:

{quote}
Summary for sessions of request: batch_mutate
Total Sessions: 500
Total Events: 3190
   
==
   |Avg.|   StdDev.  |   Max. |Min.|
 99%   | Unit   |
=
| Latency  |  22.48 |  28.68 | 293.90 |   0.56 |
 150.38|   msec |
|---|
| Batch Rows   |   1.00 |   0.00 |   1.00 |   1.00 |
   1.00| amount/req |
|---|
| Mutations|   5.00 |   0.00 |   5.00 |   5.00 |
   5.00| amount/req |
|---|
| Deletions|   0.00 |   0.00 |   0.00 |   0.00 |
   0.00| amount/req |
|---|
| Columns  |   5.00 |   0.00 |   5.00 |   5.00 |
   5.00| amount/req |
|---|
| Counters |   0.00 |   0.00 |   0.00 |   0.00 |
   0.00| amount/req |
|---|
| Super Col.   |   0.00 |   0.00 |   0.00 |   0.00 |
   0.00| amount/req |
|---|
| Written Bytes| 170.00 |   0.00 | 170.00 | 170.00 |
 170.00| amount/req |
|---|

Quickest Request sessionId: 135b0c60-eac0-11e1--fe8ebeead9ff
Slowest  Request sessionId: f09c3e10-eabf-11e1--fe8ebeead9ff
{quote}

explain trace session [sessionId] - displays the complete set of events of a 
tracing session along with a to-scale timeline for its execution.

{quote}
Session Summary: f09c3e10-eabf-11e1--fe8ebeead9ff
Request: batch_mutate
Coordinator: /127.0.0.1
Interacting nodes: 2 {[/127.0.0.1, /127.0.0.2]}
Duration: 293901000 nano seconds (293.901 msecs)
Consistency Level: ONE
Request Timeline:

||--|
Se;/Msg 
/Se


  |-||   

  Msg,apply_mutation;St:[Mutation];/St:[Mutation]   


Caption: 
Se  - Session start (start of request: batch_mutate)
/Se - Session end (end of request: batch_mutate)
St[StageName]   - Begin of Stage with StageName (e.g. Mutatio

[jira] [Comment Edited] (CASSANDRA-1123) Allow tracing query details

2012-08-20 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1123 at 8/20/12 11:28 PM:
--

Attached is a patch that implements almost everything mentioned:

- Trace is implemented asynchronously with a new Stage that has a threadpool 
with a single thread that refuses to execute when the queue if full ( as 
suggested a warn is logged, experiments say that under huge load 0.001 
traceProbability still works without rejecting events). (also this threadpool 
is the only one that does not propagate trace events).

- Allows to enable tracing/disable tracing from cli. Also enable tracing has 
two parameters traceProbability (the prop that any single request from that 
client gets traced) and maxTraceNumber to allow to set a maximum number of 
traces to do (-1 set this to Integer.MAX_INT which is also the default)

- Adds the possibility to enable tracing in stress (using -tr probability 
[optionally maxNumTraces]

- TraceEvents can be build using a fluent builder (TraceEventBuilder) that is 
also able to deserialize events (both from thrift and from IColumns).

- All requests in CassandraServer start a tracing session when tracing is 
enabled and all parameters are stored along with the request details. This is 
done using a ThriftType that is able to serialize and deserialize thrift 
objects into Cassandra.

- User Request/Reply, Stage Start/Finish and Message Request/Reply are traced 
along with specific custom requests (such as apply_mutation, and 
get_column_family)

- Cli contains two other commands to explore traces:

show tracing summary [request_name] - this displays a summary for a request 
type:

{code}
Summary for sessions of request: batch_mutate
Total Sessions: 500
Total Events: 3190
   
==
   |Avg.|   StdDev.  |   Max. |Min.|
 99%   | Unit   |
=
| Latency  |  22.48 |  28.68 | 293.90 |   0.56 |
 150.38|   msec |
|---|
| Batch Rows   |   1.00 |   0.00 |   1.00 |   1.00 |
   1.00| amount/req |
|---|
| Mutations|   5.00 |   0.00 |   5.00 |   5.00 |
   5.00| amount/req |
|---|
| Deletions|   0.00 |   0.00 |   0.00 |   0.00 |
   0.00| amount/req |
|---|
| Columns  |   5.00 |   0.00 |   5.00 |   5.00 |
   5.00| amount/req |
|---|
| Counters |   0.00 |   0.00 |   0.00 |   0.00 |
   0.00| amount/req |
|---|
| Super Col.   |   0.00 |   0.00 |   0.00 |   0.00 |
   0.00| amount/req |
|---|
| Written Bytes| 170.00 |   0.00 | 170.00 | 170.00 |
 170.00| amount/req |
|---|

Quickest Request sessionId: 135b0c60-eac0-11e1--fe8ebeead9ff
Slowest  Request sessionId: f09c3e10-eabf-11e1--fe8ebeead9ff
{code}

explain trace session [sessionId] - displays the complete set of events of a 
tracing session along with a to-scale timeline for its execution.

{code}
Session Summary: f09c3e10-eabf-11e1--fe8ebeead9ff
Request: batch_mutate
Coordinator: /127.0.0.1
Interacting nodes: 2 {[/127.0.0.1, /127.0.0.2]}
Duration: 293901000 nano seconds (293.901 msecs)
Consistency Level: ONE
Request Timeline:

||--|
Se;/Msg 
/Se


  |-||   

  Msg,apply_mutation;St:[Mutation];/St:[Mutation]   


Caption: 
Se  - Session start (start of request: batch_mutate)
/Se - Session end (end of request

[jira] [Commented] (CASSANDRA-4555) select statement with indexed column causes node to OOM

2012-08-17 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4555:


+1 applies cleanly and solves the problem.

> select statement with indexed column causes node to OOM
> ---
>
> Key: CASSANDRA-4555
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4555
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 1.2.0
> Environment: MAC OSx
>Reporter: David Alves
>Assignee: Jonathan Ellis
> Fix For: 1.2.0
>
> Attachments: 4555.txt
>
>
> After creating a keyspace, table and index on a clean ccm 3 node cluster 
> based on trunk, when a select statement with an index expression is executed 
> in cqlsh one of the nodes OOM's and goes down.
> The steps to reproduce the problem are:
> create a 3 node cluster from trunk (I used ccm)
> execute the following statements in cqlsh:
> {noformat}
> CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
>   AND strategy_options:replication_factor = '1';
> CREATE TABLE trace.trace_events(sessionId  timeuuid,
>   coordinator   inet,
>   eventId   timeuuid,
>   description   text,
>   duration  bigint,
>   happened_at   timestamp,
>   name  text,
>   payload_types map,
>   payload   map,
>   sourceinet,
>   type  text,
>   PRIMARY KEY (sessionId, coordinator, eventId));
> CREATE INDEX idx_name ON trace.trace_events (name);
> {noformat}
> Executing the following statement causes node2 to OOM:
> select * from trace_events where name = 'batch_mutate';
> In my case node2 goes down with:
> {noformat}
> ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
> Exception in thread Thread[Thread-9,5,main]
> java.lang.OutOfMemoryError: Java heap space
>   at 
> org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
>   at 
> org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
>   at 
> org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
>   at 
> org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
>   at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
>   at 
> org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
>   at 
> org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
>   at 
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
>  INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
> (line 221) Stop listening to thrift clients
>  INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java 
> (line 1054) Announcing shutdown
>  INFO [StorageServiceShutdownHook] 2012-08-17 19:42:56,749 
> MessagingService.java (line 657) Waiting for messaging service to quiesce
>  INFO [ACCEPT-/127.0.0.2] 2012-08-17 19:42:56,751 MessagingService.java (line 
> 849) MessagingService shutting down server thread.
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4555) select statement with indexed column causes node to OOM

2012-08-17 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4555:


With and without data. It OOMs because it tries to allocate a huge byte[] on 
TokenSerializer.deserialize(). 

> select statement with indexed column causes node to OOM
> ---
>
> Key: CASSANDRA-4555
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4555
> Project: Cassandra
>  Issue Type: Bug
> Environment: MAC OSx
>Reporter: David Alves
>
> After creating a keyspace, table and index on a clean ccm 3 node cluster 
> based on trunk, when a select statement with an index expression is executed 
> in cqlsh one of the nodes OOM's and goes down.
> The steps to reproduce the problem are:
> create a 3 node cluster from trunk (I used ccm)
> execute the following statements in cqlsh:
> {noformat}
> CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
>   AND strategy_options:replication_factor = '1';
> CREATE TABLE trace.trace_events(sessionId  timeuuid,
>   coordinator   inet,
>   eventId   timeuuid,
>   description   text,
>   duration  bigint,
>   happened_at   timestamp,
>   name  text,
>   payload_types map,
>   payload   map,
>   sourceinet,
>   type  text,
>   PRIMARY KEY (sessionId, coordinator, eventId));
> CREATE INDEX idx_name ON trace.trace_events (name);
> {noformat}
> Executing the following statement causes node2 to OOM:
> select * from trace_events where name = 'batch_mutate';
> In my case node2 goes down with:
> {noformat}
> ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
> Exception in thread Thread[Thread-9,5,main]
> java.lang.OutOfMemoryError: Java heap space
>   at 
> org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
>   at 
> org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
>   at 
> org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
>   at 
> org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
>   at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
>   at 
> org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
>   at 
> org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
>   at 
> org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
>  INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
> (line 221) Stop listening to thrift clients
>  INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java 
> (line 1054) Announcing shutdown
>  INFO [StorageServiceShutdownHook] 2012-08-17 19:42:56,749 
> MessagingService.java (line 657) Waiting for messaging service to quiesce
>  INFO [ACCEPT-/127.0.0.2] 2012-08-17 19:42:56,751 MessagingService.java (line 
> 849) MessagingService shutting down server thread.
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4555) select statement with indexed column causes node to OOM

2012-08-17 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4555:
---

Description: 
After creating a keyspace, table and index on a clean ccm 3 node cluster based 
on trunk, when a select statement with an index expression is executed in cqlsh 
one of the nodes OOM's and goes down.

The steps to reproduce the problem are:

create a 3 node cluster from trunk (I used ccm)

execute the following statements in cqlsh:

{noformat}
CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
  AND strategy_options:replication_factor = '1';

CREATE TABLE trace.trace_events(sessionId  timeuuid,
  coordinator   inet,
  eventId   timeuuid,
  description   text,
  duration  bigint,
  happened_at   timestamp,
  name  text,
  payload_types map,
  payload   map,
  sourceinet,
  type  text,
  PRIMARY KEY (sessionId, coordinator, eventId));

CREATE INDEX idx_name ON trace.trace_events (name);
{noformat}

Executing the following statement causes node2 to OOM:

select * from trace_events where name = 'batch_mutate';

In my case node2 goes down with:

{noformat}
ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
Exception in thread Thread[Thread-9,5,main]
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
at 
org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
at 
org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
at 
org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
at 
org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
(line 221) Stop listening to thrift clients
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java (line 
1054) Announcing shutdown
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:56,749 
MessagingService.java (line 657) Waiting for messaging service to quiesce
 INFO [ACCEPT-/127.0.0.2] 2012-08-17 19:42:56,751 MessagingService.java (line 
849) MessagingService shutting down server thread.
{noformat}


  was:
After creating a keyspace, table and index on a clean ccm 3 node cluster based 
on trunk, when a select statement with an index expression is executed in cqlsh 
one of the nodes OOM's and goes down.

The steps to reproduce the problem are:

create a 3 node cluster from trunk (I used ccm)

execute the following statements in cqlsh:

{noformat}
CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
  AND strategy_options:replication_factor = '1';

CREATE TABLE trace.trace_events(sessionId  timeuuid,
  coordinator   inet,
  eventId   timeuuid,
  description   text,
  duration  bigint,
  happened_at   timestamp,
  name  text,
  payload_types map,
  payload   map,
  sourceinet,
  type  text,
  PRIMARY KEY (sessionId, coordinator, eventId));

CREATE INDEX idx_name ON trace.trace_events (name);
{noformat}

Executing the following statement causes node2 to OOM:

select * from trace_events where name = 'batch_mutate';

In make case node2 goes down with:

{noformat}
ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
Exception in thread Thread[Thread-9,5,main]
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
at 
org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
at 
org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
at 
org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
at 
org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
(line 221) Stop listening to thrift clients
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java (line 
1054) Announcing shutdown
 INFO [StorageServiceShutdownH

[jira] [Updated] (CASSANDRA-4555) select statement with indexed column causes node to OOM

2012-08-17 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4555:
---

Description: 
After creating a keyspace, table and index on a clean ccm 3 node cluster based 
on trunk, when a select statement with an index expression is executed in cqlsh 
one of the nodes OOM's and goes down.

The steps to reproduce the problem are:

create a 3 node cluster from trunk (I used ccm)

execute the following statements in cqlsh:

{noformat}
CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
  AND strategy_options:replication_factor = '1';

CREATE TABLE trace.trace_events(sessionId  timeuuid,
  coordinator   inet,
  eventId   timeuuid,
  description   text,
  duration  bigint,
  happened_at   timestamp,
  name  text,
  payload_types map,
  payload   map,
  sourceinet,
  type  text,
  PRIMARY KEY (sessionId, coordinator, eventId));

CREATE INDEX idx_name ON trace.trace_events (name);
{noformat}

Executing the following statement causes node2 to OOM:

select * from trace_events where name = 'batch_mutate';

In make case node2 goes down with:

{noformat}
ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
Exception in thread Thread[Thread-9,5,main]
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
at 
org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
at 
org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
at 
org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
at 
org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
(line 221) Stop listening to thrift clients
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java (line 
1054) Announcing shutdown
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:56,749 
MessagingService.java (line 657) Waiting for messaging service to quiesce
 INFO [ACCEPT-/127.0.0.2] 2012-08-17 19:42:56,751 MessagingService.java (line 
849) MessagingService shutting down server thread.
{noformat}

  was:
After creating a keyspace, table and index on a clean ccm 3 node cluster based 
on trunk, when a select statement with an index is expression is executed in 
cqlsh one of the nodes OOM's and goes down.

The steps to reproduce the problem are:

create a 3 node cluster from trunk (I used ccm)

execute the following statements in cqlsh:

CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
  AND strategy_options:replication_factor = '1';

CREATE TABLE trace.trace_events(sessionId  timeuuid,
  coordinator   inet,
  eventId   timeuuid,
  description   text,
  duration  bigint,
  happened_at   timestamp,
  name  text,
  payload_types map,
  payload   map,
  sourceinet,
  type  text,
  PRIMARY KEY (sessionId, coordinator, eventId));

CREATE INDEX idx_name ON trace.trace_events (name);

Executing the following statement causes node2 to OOM:

select * from trace_events where name = 'batch_mutate';

In make case node2 goes down with:

{quote}
ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
Exception in thread Thread[Thread-9,5,main]
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
at 
org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
at 
org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
at 
org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
at 
org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
(line 221) Stop listening to thrift clients
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java (line 
1054) Announcing shutdown
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42

[jira] [Updated] (CASSANDRA-4555) select statement with indexed column causes node to OOM

2012-08-17 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4555:
---

Description: 
After creating a keyspace, table and index on a clean ccm 3 node cluster based 
on trunk, when a select statement with an index is expression is executed in 
cqlsh one of the nodes OOM's and goes down.

The steps to reproduce the problem are:

create a 3 node cluster from trunk (I used ccm)

execute the following statements in cqlsh:

CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
  AND strategy_options:replication_factor = '1';

CREATE TABLE trace.trace_events(sessionId  timeuuid,
  coordinator   inet,
  eventId   timeuuid,
  description   text,
  duration  bigint,
  happened_at   timestamp,
  name  text,
  payload_types map,
  payload   map,
  sourceinet,
  type  text,
  PRIMARY KEY (sessionId, coordinator, eventId));

CREATE INDEX idx_name ON trace.trace_events (name);

Executing the following statement causes node2 to OOM:

select * from trace_events where name = 'batch_mutate';

In make case node2 goes down with:

{quote}
ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
Exception in thread Thread[Thread-9,5,main]
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
at 
org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
at 
org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
at 
org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
at 
org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
(line 221) Stop listening to thrift clients
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java (line 
1054) Announcing shutdown
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:56,749 
MessagingService.java (line 657) Waiting for messaging service to quiesce
 INFO [ACCEPT-/127.0.0.2] 2012-08-17 19:42:56,751 MessagingService.java (line 
849) MessagingService shutting down server thread.
{quote}

  was:
After creating a keyspace, table and index on a clean ccm 3 node cluster based 
on trunk, when a select statement with an index is expression is executed in 
cqlsh one of the nodes OOM's and goes down.

The statements to reproduce the problem are:

create a 3 node cluster from trunk (I used ccm)

execute the following statements in cqlsh:

CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
  AND strategy_options:replication_factor = '1';

CREATE TABLE trace.trace_events(sessionId  timeuuid,
  coordinator   inet,
  eventId   timeuuid,
  description   text,
  duration  bigint,
  happened_at   timestamp,
  name  text,
  payload_types map,
  payload   map,
  sourceinet,
  type  text,
  PRIMARY KEY (sessionId, coordinator, eventId));

CREATE INDEX idx_name ON trace.trace_events (name);

Executing the following statement causes node2 to OOM:

select * from trace_events where name = 'batch_mutate';

In make case node2 goes down with:

{quote}
ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
Exception in thread Thread[Thread-9,5,main]
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
at 
org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
at 
org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
at 
org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
at 
org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
(line 221) Stop listening to thrift clients
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java (line 
1054) Announcing shutdown
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:56,749 
MessagingSe

[jira] [Created] (CASSANDRA-4555) select statement with indexed column causes node to OOM

2012-08-17 Thread David Alves (JIRA)
David Alves created CASSANDRA-4555:
--

 Summary: select statement with indexed column causes node to OOM
 Key: CASSANDRA-4555
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4555
 Project: Cassandra
  Issue Type: Bug
 Environment: MAC OSx
Reporter: David Alves


After creating a keyspace, table and index on a clean ccm 3 node cluster based 
on trunk, when a select statement with an index is expression is executed in 
cqlsh one of the nodes OOM's and goes down.

The statements to reproduce the problem are:

create a 3 node cluster from trunk (I used ccm)

execute the following statements in cqlsh:

CREATE KEYSPACE trace WITH strategy_class = 'SimpleStrategy'
  AND strategy_options:replication_factor = '1';

CREATE TABLE trace.trace_events(sessionId  timeuuid,
  coordinator   inet,
  eventId   timeuuid,
  description   text,
  duration  bigint,
  happened_at   timestamp,
  name  text,
  payload_types map,
  payload   map,
  sourceinet,
  type  text,
  PRIMARY KEY (sessionId, coordinator, eventId));

CREATE INDEX idx_name ON trace.trace_events (name);

Executing the following statement causes node2 to OOM:

select * from trace_events where name = 'batch_mutate';

In make case node2 goes down with:

{quote}
ERROR [Thread-9] 2012-08-17 19:42:55,741 CassandraDaemon.java (line 131) 
Exception in thread Thread[Thread-9,5,main]
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.dht.Token$TokenSerializer.deserialize(Token.java:97)
at 
org.apache.cassandra.dht.AbstractBounds$AbstractBoundsSerializer.deserialize(AbstractBounds.java:161)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:299)
at 
org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:181)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:94)
at 
org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:181)
at 
org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:122)
at 
org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:69)
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,746 ThriftServer.java 
(line 221) Stop listening to thrift clients
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:55,748 Gossiper.java (line 
1054) Announcing shutdown
 INFO [StorageServiceShutdownHook] 2012-08-17 19:42:56,749 
MessagingService.java (line 657) Waiting for messaging service to quiesce
 INFO [ACCEPT-/127.0.0.2] 2012-08-17 19:42:56,751 MessagingService.java (line 
849) MessagingService shutting down server thread.
{quote}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-07-27 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1337 at 7/27/12 7:09 PM:
-

patch that addresses the bugs raised by sylvain. (StoragProxyTest and 
cql_test.py both pass) namely:
- local path counts as one less handler
- enough check moved out of the remote branch
- estimatedKeysPerRange take into account replication factor
- columns.maxIsColumns sets concurrency to 1

still working on the dtest that proves (or disproves that this works)

I'd like to move the rest of the issues raised by sylvain to another ticket.

  was (Author: dr-alves):
patch that addresses the bugs raised by sylvain. (StoragProxyTest and 
cql_test.py both pass) namely:
- local path counts as one less handler
- enough check moved out of the remote branch
- estimatedKeysPerRange take into account replication factor
- columns.maxIsColumns sets concurrency to 1

still working on the dtest that proves (or disproves that this works) but both 
StorageProxyTest and the regression test created by Sylvain pass

I'd like to move the rest of the issues raised by sylvain to another ticket.
  
> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 
> 0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt, 
> 1137-bugfix.patch, CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-07-27 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1337 at 7/27/12 7:07 PM:
-

patch that addresses the bugs raised by sylvain. (StoragProxyTest and 
cql_test.py both pass) namely:
- local path counts as one less handler
- enough check moved out of the remote branch
- estimatedKeysPerRange take into account replication factor
- columns.maxIsColumns sets concurrency to 1

still working on the dtest that proves (or disproves that this works) but both 
StorageProxyTest and the regression test created by Sylvain pass

I'd like to move the rest of the issues raised by sylvain to another ticket.

  was (Author: dr-alves):
patch that addresses the bugs raised by sylvain. (StoragProxyTest and 
cql_test.py both pass) namely:
- local path counts as one less handler
- enough check moven out of the remote branch
- estimatedKeysPerRange take into account replication factor
- columns.maxIsColumns sets concurrency to 1

still working on the dtest that proves (or disproves that this works) 

I'd like to move the rest of the issues raised by sylvain to another ticket.
  
> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 
> 0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt, 
> 1137-bugfix.patch, CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-07-27 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1337:
---

Attachment: 1137-bugfix.patch

patch that addresses the bugs raised by sylvain. (StoragProxyTest and 
cql_test.py both pass) namely:
- local path counts as one less handler
- enough check moven out of the remote branch
- estimatedKeysPerRange take into account replication factor
- columns.maxIsColumns sets concurrency to 1

still working on the dtest that proves (or disproves that this works) 

I'd like to move the rest of the issues raised by sylvain to another ticket.

> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 
> 0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt, 
> 1137-bugfix.patch, CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4406) Update stress for CQL3

2012-07-25 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4406:
---

Attachment: 4406.patch

removed whitespace

> Update stress for CQL3
> --
>
> Key: CASSANDRA-4406
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4406
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Affects Versions: 1.1.0
>Reporter: Sylvain Lebresne
>Assignee: David Alves
>  Labels: stress
> Fix For: 1.2
>
> Attachments: 4406.patch, 4406.patch
>
>
> Stress does not support CQL3. We should add support for it so that:
> # we can benchmark CQL3
> # we can benchmark CASSANDRA-2478

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4406) Update stress for CQL3

2012-07-24 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4406:


What I couldn't figure out was how to use UUID column names (required when the 
TimeUUID comparator is set with the U option), that option currently throws an 
UnsupportedOperationException.

> Update stress for CQL3
> --
>
> Key: CASSANDRA-4406
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4406
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Affects Versions: 1.1.0
>Reporter: Sylvain Lebresne
>Assignee: David Alves
>  Labels: stress
> Fix For: 1.2
>
> Attachments: 4406.patch
>
>
> Stress does not support CQL3. We should add support for it so that:
> # we can benchmark CQL3
> # we can benchmark CASSANDRA-2478

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4406) Update stress for CQL3

2012-07-24 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4406:
---

Attachment: 4406.patch

this patch does the following:

- updates cql version to 3.0
- adds column names and types to the cfdef
- uses those column names to build the statement (prepared statement previsouly 
used ?=? pairs for columns now uses "C.." = ? pairs)

> Update stress for CQL3
> --
>
> Key: CASSANDRA-4406
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4406
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Affects Versions: 1.1.0
>Reporter: Sylvain Lebresne
>Assignee: David Alves
>  Labels: stress
> Fix For: 1.2
>
> Attachments: 4406.patch
>
>
> Stress does not support CQL3. We should add support for it so that:
> # we can benchmark CQL3
> # we can benchmark CASSANDRA-2478

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-24 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


the patch includes the nodetool functionality to flush everything, we'd still 
want that right? I can trim it to just that (and open a different ticket?).

> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch, 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-24 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


One last thing... since we're only changing debian/init this will work only on 
debian flavored deployments

maybe we should go ahead place the flag on the cassandra.yaml and make the 
shutdown hook follow that option inetead, this would make the option valid for 
all deployments (I'd still add the automated wait/kill for debian deployments, 
non debian deployments would have to take care of killing themselves).

wdyt?

> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch, 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-24 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


makes sense, will add a 10 min wiat period, still what should be the default 
setting? flush everything or just the non durable tables?

> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch, 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-24 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-3564 at 7/24/12 9:26 PM:
-

makes sense, will add a 10 min wait period, still what should be the default 
setting? flush everything or just the non durable tables?

  was (Author: dr-alves):
makes sense, will add a 10 min wiat period, still what should be the 
default setting? flush everything or just the non durable tables?
  
> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch, 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-24 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


I suggest that we add flag that when enabled waits for the full flush for all 
tables and maybe we don't even need the wait period since the user explicitely 
told that he wanted a full flush and should be willing to wait. When the flag 
disabled reverts to the current setting (flush only non-durable tables).

Even in the default setting (say the admin remembered he wanted to flush 
everything *after* the daemon started) he can always use nodetool to do so.


> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch, 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-24 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


You mean send SIGINT/SIGTERM before waiting and SIGKILL after right?

SIGINT/SIGTERM don't do a global flush because the shutdown hooks still only 
flush tables that have durable_writes to false, so either we used nodetool to 
explicitly call flushAllTables of do in cassandra daemon which is being called 
from jsvc anyway.





> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch, 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-24 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-3564:
---

Attachment: 3564.patch

Patch that includes killing/waiting in the do_stop function of the init debian 
script. 

Script does not actually call the flushTablesAndExit() instead jsvc's stop() 
hook does, after killing the RPC and native servers.

Node is given 100 secs to finish flush, I'm not sure this is a good default 
setting.

> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch, 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3706) Back up configuration files on startup

2012-07-23 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3706:


How far is this from going in? Any thing I can do to help? CASSANDRA-1123 will 
also need distributed system tables and I'd like to minimize duplicate code. 

I can split the patch into generic dist system tables and specific 
configuration backup + rebase and use the common part in 1123.

wdyt?

> Back up configuration files on startup
> --
>
> Key: CASSANDRA-3706
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3706
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Tools
>Reporter: Jonathan Ellis
>Assignee: Dave Brosius
>Priority: Minor
>  Labels: lhf
> Fix For: 1.2
>
> Attachments: save_configuration.diff, save_configuration_2.diff, 
> save_configuration_3.diff, save_configuration_4.diff, 
> save_configuration_6.diff, save_configuration_7.diff, 
> save_configuration_8.diff, save_configuration_9.diff
>
>
> Snapshot can backup user data, but it's also nice to be able to have 
> known-good configurations saved as well in case of accidental snafus or even 
> catastrophic loss of a cluster.  If we check for changes to cassandra.yaml, 
> cassandra-env.sh, and maybe log4j-server.properties on startup, we can back 
> them up to a columnfamily that can then be handled by normal snapshot/backup 
> procedures.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-07-22 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


What should we do wrt to reads then? also store the complete results (what is 
returned to the client) and the whole row (required to cover the examples you 
mentioned), or do we summarize in that case? In this case not summarizing can 
be costly (lots of net traffic).



> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-07-22 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


Right, but for that example storing the args as they are wouldn't help either, 
which was the issue to begin with. Yet of course your point is valid. In order 
to accomodate the use case you mention I think we could get away with storing 
the number and size of both argument and results in the "coordinator" node 
*and* store the actual size of the whole row (num and size of cols) in the 
nodes that are performing the reads. wdyt? 

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-07-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


bq. Since every get_slice call will have the same arg count I don't see this 
being very useful.

I actually meant storing both the size and length of the arguments *and* the 
results. would that be sufficient?

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-1123) Allow tracing query details

2012-07-21 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1123 at 7/21/12 10:49 AM:
--

i get the point, the original paper mentioned that that was the case because 
the data was stored outside of the cluster. 

Still there is the question of authentication, even though access control is 
not very thorough AFAIK, the principle behind it is per keyspace access 
correct? this would mean that we're storing data belonging to a keyspace (that 
might have access control) in another keyspace (that must be outside 
accessible).

I'm happy to do it either way, but maybe we could instead store the number and 
length of the arguments. additionally this would decrease tracing network 
bandwidth usage.




  was (Author: dr-alves):
i get the point, the original paper mentioned that that was the case 
because the data was stored outside of the cluster. 

Still there is the question of authentication, even though access control is 
not completely implemented, the principle behind it is per keyspace access 
correct? this would meant that we're storing data belonging to a keyspace (that 
might have access control) in another keyspace (that must be outside 
accessible). am I wrong?



  
> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-07-20 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


i get the point, the original paper mentioned that that was the case because 
the data was stored outside of the cluster. 

Still there is the question of authentication, even though access control is 
not completely implemented, the principle behind it is per keyspace access 
correct? this would meant that we're storing data belonging to a keyspace (that 
might have access control) in another keyspace (that must be outside 
accessible). am I wrong?




> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-07-20 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


Thank you for the thorough review.

bq. Inclined to think we should include the parameters along w/ the String 
request type on session start. (Object... + toString would be adequate.) Maybe 
even use the new List type to store the arguments (CASSANDRA-3647).

In one of the papers this same issue raised privacy concerns that are probably 
even more valid for CASSANDRA since it's an open source project. IMO we should 
at the very least make this optional if not drop it all together.

bq. Tracing should be asynchronous. StorageProxy.mutate waits for a response, 
this is not what we want. Suggest a simple ExecutorService + queue. (If queue 
gets full, throw out the tracing events and log a WARN.). 

bq. Would like tracing to log.debug the event as well. This will cut down on 
duplicate debug/trace code, but also give us a fallback if we can't log it 
remotely. This will also cut down on log spam for when we enable debug level 
globally – only logging requests at debug where tracing was explicitly enabled 
will be a huge improvement.

+1, nice idea, was looking into doing something similar.

bq. get_slice uses startSession instead of startSessionIfRequested.
bq. There's a no-op initialization of trace context in StorageService.
bq. Naming: system_enable_query_details -> system_enable_query__tracing. 
TraceSession, TraceSessionState -> TraceSessionContext, 
TraceSessionContextThreadLocalState. endSession -> stopSession. getQueryDetails 
-> isTracingEnabled.

Most already corrected in current version.

bq. CFMetaData definitions should be with the other hardcoded ones in 
CFMetaData.
bq. Let's move helpers that are only used by test code like EVENT_TYPE into the 
Test class.

will do!

bq. Still think threadlocals are not the way to go, and this will become more 
clear as you try to add useful trace entries. I think you'll end up w/ a trace 
session "registry" like we have for MessagingService that we'll look up by 
session id. In that vein, I'm not sure what the afterExecute business is 
supposed to be doing. That stuff runs on the executor's thread, not the 
submitter's.

Current version uses this to trace pre and post stage execution (which are the 
only trace events at the moment). I've just finished updating the cli and I'd 
like a chance to do some runs as is to get a sense of the usefulness of the 
current setup.

bq. Finally, a more generic keyspace name like dsystem  would be nice for all 
distributed system tables. (We're thinking of using one for CASSANDRA-3706, for 
instance.)

will look into/synchronize.





> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-1123) Allow tracing query details

2012-07-17 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-1123 at 7/17/12 9:00 PM:
-

First patch that implements most of what was suggested, with accompanying test.

Still to define/discuss:
- aaraon original version "replaced" the logger which meant there were already 
a lot of things being traced. As is this patch is pretty "bare" in terms of 
trace events in the sense that stuff that goes through CassandraServer gets a 
new trace session but not much else is traced (even though sessions get 
propagated across threads and nodes). Maybe we could add events automatically 
when a session is propagated across stages and across nodes, therefore getting 
a per-stage and per-node view of how things are executed (I think this could be 
done rather unintrusively)?

- I haven't added the log to the logger option yet, as I'm not completely sure 
how useful it is if events are generated per stage/node.



  was (Author: dr-alves):
First patch that implements most of what was suggested, with accompanying 
test.

Still to define/discuss:
- aaraons "replaced" the logger with meant there were already a lot of things 
being logged. As is this patch is pretty "bare" in terms of trace events in the 
sense that stuff that goes through CassandraServer gets a new trace session but 
not much else is traced (even though session gets propagated across threads and 
nodes). Maybe we could add events automatically when a session is propagated 
across stages and across nodes?
- I haven't added the log to the logger option yet, as I'm not completely sure 
how useful it is if events are generated per stage/node.

  
> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-1123) Allow tracing query details

2012-07-17 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-1123:
---

Attachment: 1123.patch

First patch that implements most of what was suggested, with accompanying test.

Still to define/discuss:
- aaraons "replaced" the logger with meant there were already a lot of things 
being logged. As is this patch is pretty "bare" in terms of trace events in the 
sense that stuff that goes through CassandraServer gets a new trace session but 
not much else is traced (even though session gets propagated across threads and 
nodes). Maybe we could add events automatically when a session is propagated 
across stages and across nodes?
- I haven't added the log to the logger option yet, as I'm not completely sure 
how useful it is if events are generated per stage/node.


> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz, 1123.patch
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4054) SStableImport and SStableExport does not serialize row level deletion

2012-07-11 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4054:
---

Attachment: 4054.patch

patch without abbreviated names

> SStableImport and SStableExport does not serialize row level deletion
> -
>
> Key: CASSANDRA-4054
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4054
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Affects Versions: 0.5
>Reporter: Zhu Han
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 4054.patch, 4054.patch, 4054.patch
>
>
> SSTableImport and SSTableExport does not serialize/de-serialize the row-level 
> deletion info to/from the json file. This brings back the deleted data after 
> restore from the json file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4054) SStableImport and SStableExport does not serialize row level deletion

2012-07-10 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4054:


Yuki is the implementation on the latest patch what you had in mind?
wrt to pulling deletionInfo up and abandoning metadata +0, I'm happy either way.

> SStableImport and SStableExport does not serialize row level deletion
> -
>
> Key: CASSANDRA-4054
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4054
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Affects Versions: 0.5
>Reporter: Zhu Han
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 4054.patch, 4054.patch
>
>
> SSTableImport and SSTableExport does not serialize/de-serialize the row-level 
> deletion info to/from the json file. This brings back the deleted data after 
> restore from the json file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4413) upgrade guava to 12.0

2012-07-05 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4413:
---

Attachment: 4413.tgz

binary patch (compressed) that upgrades guava to v 12.0, and updates build.xml.

> upgrade guava to 12.0
> -
>
> Key: CASSANDRA-4413
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4413
> Project: Cassandra
>  Issue Type: Task
>  Components: Core
>Reporter: David Alves
>Assignee: David Alves
>Priority: Trivial
> Fix For: 1.2
>
> Attachments: 4413.tgz
>
>
> Immediately useful because of StopWatch but also other goodies like 
> FluentIterable or LoadingCache (from 11.0). Depends on jdk 1.6 but also does 
> cassandra.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (CASSANDRA-4413) upgrade guava to 12.0

2012-07-05 Thread David Alves (JIRA)
David Alves created CASSANDRA-4413:
--

 Summary: upgrade guava to 12.0
 Key: CASSANDRA-4413
 URL: https://issues.apache.org/jira/browse/CASSANDRA-4413
 Project: Cassandra
  Issue Type: Task
  Components: Core
Reporter: David Alves
Assignee: David Alves
Priority: Trivial
 Fix For: 1.2


Immediately useful because of StopWatch but also other goodies like 
FluentIterable or LoadingCache (from 11.0). Depends on jdk 1.6 but also does 
cassandra.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1123) Allow tracing query details

2012-07-04 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1123:


was about to start tracing with StopWatch, but it's only available from 10.0. 
upgrade?

> Allow tracing query details
> ---
>
> Key: CASSANDRA-1123
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1123
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Jonathan Ellis
>Assignee: David Alves
> Fix For: 1.2
>
> Attachments: 1123-3.patch.gz
>
>
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to 
> see where latency is coming from: how long did row cache lookup take?  key 
> search in the index?  merging the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big 
> of a hammer; by turning on the flood of logging for everyone, you actually 
> distort the information you're looking for.  This would be something you 
> could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the 
> following papers but they are interesting reading:
> http://research.google.com/pubs/pub36356.html
> http://www.usenix.org/events/osdi04/tech/full_papers/barham/barham_html/
> http://www.usenix.org/event/nsdi07/tech/fonseca.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-03 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-3564 at 7/3/12 9:58 PM:


I'm trying to wrap this up...

I changed nodecmd to handle the expected exception nicely (the EOF one because 
thrift was closed on the other side). the "cassandra" shell script does not 
deal with PID reading/killing. So I was wondering should we include this 
functionality in "cassandra", i.e., call nodetool, read/check pid wait and 
kill, or should we deal with it within nodetool (maybe make the flushAndExit 
function return the PID to nodetool and have that kill the process if required).



  was (Author: dr-alves):
I'm trying to wrap this up...

I changed nodecmd to handle the expected exception nicely (the EOF one because 
thrift was closed on the other side). the "cassandra" shell script does not 
deal with PID reading/killing. So I was wondering should we include this call 
nodetool, read/check pid and kill funcionality in  "cassandra" or should we 
deal with it within nodetool (maybe make the flushAndExit function return the 
PID to nodetool and have that kill the process if required).


  
> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-07-03 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


I'm trying to wrap this up...

I changed nodecmd to handle the expected exception nicely (the EOF one because 
thrift was closed on the other side). the "cassandra" shell script does not 
deal with PID reading/killing. So I was wondering should we include this call 
nodetool, read/check pid and kill funcionality in  "cassandra" or should we 
deal with it within nodetool (maybe make the flushAndExit function return the 
PID to nodetool and have that kill the process if required).



> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2181) sstable2json should return better error message if the usage is wrong

2012-07-03 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-2181:


Shotaro, any news on this?

> sstable2json should return better error message if the usage is wrong
> -
>
> Key: CASSANDRA-2181
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2181
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
> Environment: linux
>Reporter: Shotaro Kamio
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 2181.patch
>
>
> These errors are not user friendly.
> (Cassandra 0.7.2)
> $ bin/sstable2json PATH_TO/Order-f-7-Data.db -k aaa -x 0
>  WARN 21:55:34,383 Schema definitions were defined both locally and in 
> cassandra.yaml. Definitions in cassandra.yaml were ignored.
> {
> "aaa": {Exception in thread "main" java.lang.NullPointerException
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:108)
>   at 
> org.apache.cassandra.tools.SSTableExport.serializeRow(SSTableExport.java:178)
>   at 
> org.apache.cassandra.tools.SSTableExport.export(SSTableExport.java:310)
>   at org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:444)
> $ bin/sstable2json PATH_TO/Order-f-7-Data.db -k aaa 
>  WARN 21:55:49,603 Schema definitions were defined both locally and in 
> cassandra.yaml. Definitions in cassandra.yaml were ignored.
> Exception in thread "main" java.lang.NullPointerException
>   at 
> org.apache.cassandra.tools.SSTableExport.export(SSTableExport.java:284)
>   at org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:444)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-2293) Rewrite nodetool help

2012-06-30 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-2293:


just to be clear, this ticket is supposed to remove all help related stuff from 
NodeCmd, move it to a yaml file and use an approach similar to cli, correct?


> Rewrite nodetool help
> -
>
> Key: CASSANDRA-2293
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2293
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core, Documentation & website
>Affects Versions: 0.8 beta 1
>Reporter: Aaron Morton
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
>
> Once CASSANDRA-2008 is through and we are happy with the approach I would 
> like to write similar help for nodetool. 
> Both command line help of the form "nodetool help" and "nodetool help 
> command."

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-4054) SStableImport and SStableExport does not serialize row level deletion

2012-06-29 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-4054 at 6/29/12 11:36 PM:
--

the only point I can think of for the metadata container is to ease 
maintenance/compatibility down the line (i.e. writing/parsing metadata can 
change without having impact on the overall format), then again the less 
verbose the output the better (previous format had that in mind and that's why 
I used "meta" and "cols" instead of "metadata" and "columns"). I'm happy either 
way. wdyt?


  was (Author: dr-alves):
the only point I can think of for the metadata container is to ease 
maintenance compatibility down the line (i.e. writing/parsing metadata can 
change without having impact on the overall format), then again the less 
verbose the output the better (previous format had that in mind and that's why 
I used "meta" and "cols" instead of "metadata" and "columns"). I'm happy wither 
way. wdyt?


  
> SStableImport and SStableExport does not serialize row level deletion
> -
>
> Key: CASSANDRA-4054
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4054
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Affects Versions: 0.5
>Reporter: Zhu Han
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 4054.patch, 4054.patch
>
>
> SSTableImport and SSTableExport does not serialize/de-serialize the row-level 
> deletion info to/from the json file. This brings back the deleted data after 
> restore from the json file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-4054) SStableImport and SStableExport does not serialize row level deletion

2012-06-29 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-4054:


the only point I can think of for the metadata container is to ease maintenance 
compatibility down the line (i.e. writing/parsing metadata can change without 
having impact on the overall format), then again the less verbose the output 
the better (previous format had that in mind and that's why I used "meta" and 
"cols" instead of "metadata" and "columns"). I'm happy wither way. wdyt?



> SStableImport and SStableExport does not serialize row level deletion
> -
>
> Key: CASSANDRA-4054
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4054
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Affects Versions: 0.5
>Reporter: Zhu Han
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 4054.patch, 4054.patch
>
>
> SSTableImport and SSTableExport does not serialize/de-serialize the row-level 
> deletion info to/from the json file. This brings back the deleted data after 
> restore from the json file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-4054) SStableImport and SStableExport does not serialize row level deletion

2012-06-29 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-4054:
---

Attachment: 4054.patch

additionally implements Yuki's suggestion. also deals with formatting and 
whitespace issues.

> SStableImport and SStableExport does not serialize row level deletion
> -
>
> Key: CASSANDRA-4054
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4054
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Affects Versions: 0.5
>Reporter: Zhu Han
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 4054.patch, 4054.patch
>
>
> SSTableImport and SSTableExport does not serialize/de-serialize the row-level 
> deletion info to/from the json file. This brings back the deleted data after 
> restore from the json file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3633) update stress to support prepared statements

2012-06-28 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-3633:
---

Attachment: 3633.patch

updates Eric's 3633.stress branch to use binary encoding.

> update stress to support prepared statements
> 
>
> Key: CASSANDRA-3633
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3633
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: API, Core
>Reporter: Eric Evans
>Assignee: David Alves
>Priority: Minor
>  Labels: cql
> Fix For: 1.1.2
>
> Attachments: 3633.patch
>
>
> The {{stress}} utility needs to be updated for testing prepared statements.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3047) implementations of IPartitioner.describeOwnership() are not DC aware

2012-06-28 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-3047:
---

Attachment: 3047.patch

corrected some bugs in NodeCmd output.

> implementations of IPartitioner.describeOwnership() are not DC aware
> 
>
> Key: CASSANDRA-3047
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3047
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Aaron Morton
>Assignee: David Alves
>Priority: Trivial
> Fix For: 1.1.2
>
> Attachments: 3047.patch, 3047.patch, CASSANDRA-3047.patch, 
> CASSANDRA-3047.patch, CASSANDRA-3047.patch, CASSANDRA-3047.patch
>
>
> see http://www.mail-archive.com/user@cassandra.apache.org/msg16375.html
> When a cluster the multiple rings approach to tokens the output from nodetool 
> ring is incorrect.
> When it uses the interleaved token approach (e.g. dc1, dc2, dc1, dc2) it will 
> be correct. 
> It's a bit hacky but could we special case (RP) tokens that are off by 1 and 
> calculate the ownership per dc ? I guess another approach would be to add 
> some parameters so the partitioner can be told about the token assignment 
> strategy.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (CASSANDRA-3047) implementations of IPartitioner.describeOwnership() are not DC aware

2012-06-28 Thread David Alves (JIRA)

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

David Alves updated CASSANDRA-3047:
---

Attachment: 3047.patch

applies on top of 3881.

addresses most suggestions, code is a lot less verbose and returned map is now 
endpoint->ownership.

> implementations of IPartitioner.describeOwnership() are not DC aware
> 
>
> Key: CASSANDRA-3047
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3047
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Aaron Morton
>Assignee: David Alves
>Priority: Trivial
> Fix For: 1.1.2
>
> Attachments: 3047.patch, CASSANDRA-3047.patch, CASSANDRA-3047.patch, 
> CASSANDRA-3047.patch, CASSANDRA-3047.patch
>
>
> see http://www.mail-archive.com/user@cassandra.apache.org/msg16375.html
> When a cluster the multiple rings approach to tokens the output from nodetool 
> ring is incorrect.
> When it uses the interleaved token approach (e.g. dc1, dc2, dc1, dc2) it will 
> be correct. 
> It's a bit hacky but could we special case (RP) tokens that are off by 1 and 
> calculate the ownership per dc ? I guess another approach would be to add 
> some parameters so the partitioner can be told about the token assignment 
> strategy.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3881) reduce computational complexity of processing topology changes

2012-06-28 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3881:


hi sam

yes I was using that ctor to test StorageService.effectiveOwnership, included 
in the CASSANDRA-3047 patch. 

I worked around it since it makes sense that it makes sense that TokenMetadata 
receives token->endpoint mappings through {code}updateNormalTokens{code}, in 
order to build topology. The thing was that while previously the ctor 
{code}TokenMetadata(BiMap tokenToEndpointMap){code} was 
usable, now it is not, at least not without getting topology from another 
TokenMetadata instance.

> reduce computational complexity of processing topology changes
> --
>
> Key: CASSANDRA-3881
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3881
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Peter Schuller
>Assignee: Sam Overton
>  Labels: vnodes
>
> This constitutes follow-up work from CASSANDRA-3831 where a partial 
> improvement was committed, but the fundamental issue was not fixed. The 
> maximum "practical" cluster size was significantly improved, but further work 
> is expected to be necessary as cluster sizes grow.
> _Edit0: Appended patch information._
> h3. Patches
> ||Compare||Raw diff||Description||
> |[00_snitch_topology|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/00_snitch_topology...p/3881/00_snitch_topology]|[00_snitch_topology.patch|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/00_snitch_topology...p/3881/00_snitch_topology.diff]|Adds
>  some functionality to TokenMetadata to track which endpoints and racks exist 
> in a DC.|
> |[01_calc_natural_endpoints|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints]|[01_calc_natural_endpoints.patch|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints.diff]|Rewritten
>  O(logN) implementation of calculateNaturalEndpoints using the topology 
> information from the tokenMetadata.|
> 
> _Note: These are branches managed with TopGit. If you are applying the patch 
> output manually, you will either need to filter the TopGit metadata files 
> (i.e. {{wget -O -  | filterdiff -x*.topdeps -x*.topmsg | patch -p1}}), 
> or remove them afterward ({{rm .topmsg .topdeps}})._

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3047) implementations of IPartitioner.describeOwnership() are not DC aware

2012-06-27 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3047:


ok, I'll leave the generic ground work here and do a specific vnodes follow up 
on another ticket.

> implementations of IPartitioner.describeOwnership() are not DC aware
> 
>
> Key: CASSANDRA-3047
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3047
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Aaron Morton
>Assignee: David Alves
>Priority: Trivial
> Fix For: 1.1.2
>
> Attachments: CASSANDRA-3047.patch, CASSANDRA-3047.patch, 
> CASSANDRA-3047.patch, CASSANDRA-3047.patch
>
>
> see http://www.mail-archive.com/user@cassandra.apache.org/msg16375.html
> When a cluster the multiple rings approach to tokens the output from nodetool 
> ring is incorrect.
> When it uses the interleaved token approach (e.g. dc1, dc2, dc1, dc2) it will 
> be correct. 
> It's a bit hacky but could we special case (RP) tokens that are off by 1 and 
> calculate the ownership per dc ? I guess another approach would be to add 
> some parameters so the partitioner can be told about the token assignment 
> strategy.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3047) implementations of IPartitioner.describeOwnership() are not DC aware

2012-06-27 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3047:


thanks for the review and for the clues. code is much more succinct with 
topology and getRangesForEndpoint.

final question, since we're changing the mapping to a per endpoint basis should 
we keep showing the tokens, or do something that would work straight out with 
vnodes such as (per dc):
{code}
Address DC  RackStatus State   LoadOwns 
   Num. Ranges RangeIds

   
127.0.0.4   DC3 RAC1Up Normal  52.76 KB75.00%   
   1   0   
127.0.0.5   DC3 RAC1Up Normal  54.46 KB75.00%   
   1   1
127.0.0.6   DC3 RAC2Up Normal  52.78 KB75.00%   
   1   2
127.0.0.7   DC3 RAC2Up Normal  52.78 KB75.00%   
   1   3
{code}

where range id is the position in the token ring starting from 0 and then allow 
to get the token delimiters for a range with another command (or get all for an 
endpoint?).


> implementations of IPartitioner.describeOwnership() are not DC aware
> 
>
> Key: CASSANDRA-3047
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3047
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Aaron Morton
>Assignee: David Alves
>Priority: Trivial
> Fix For: 1.1.2
>
> Attachments: CASSANDRA-3047.patch, CASSANDRA-3047.patch, 
> CASSANDRA-3047.patch, CASSANDRA-3047.patch
>
>
> see http://www.mail-archive.com/user@cassandra.apache.org/msg16375.html
> When a cluster the multiple rings approach to tokens the output from nodetool 
> ring is incorrect.
> When it uses the interleaved token approach (e.g. dc1, dc2, dc1, dc2) it will 
> be correct. 
> It's a bit hacky but could we special case (RP) tokens that are off by 1 and 
> calculate the ownership per dc ? I guess another approach would be to add 
> some parameters so the partitioner can be told about the token assignment 
> strategy.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3881) reduce computational complexity of processing topology changes

2012-06-27 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3881:


Hi

small nit:
I was using the ctor {code}public TokenMetadata(BiMap 
tokenToEndpointMap){code} in non-commited code. That ctor has now become 
{code}public TokenMetadata(BiMap tokenToEndpointMap, 
Topology topology){code} since the ctor in Topology is protected this ctor in 
TokenMetadata can't be called outside of protected scope from now on. I suggest 
either broadening the scope of the ctor in Topology or restricting the scope in 
TokenMetadata.

> reduce computational complexity of processing topology changes
> --
>
> Key: CASSANDRA-3881
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3881
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Peter Schuller
>Assignee: Sam Overton
>  Labels: vnodes
>
> This constitutes follow-up work from CASSANDRA-3831 where a partial 
> improvement was committed, but the fundamental issue was not fixed. The 
> maximum "practical" cluster size was significantly improved, but further work 
> is expected to be necessary as cluster sizes grow.
> _Edit0: Appended patch information._
> h3. Patches
> ||Compare||Raw diff||Description||
> |[00_snitch_topology|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/00_snitch_topology...p/3881/00_snitch_topology]|[00_snitch_topology.patch|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/00_snitch_topology...p/3881/00_snitch_topology.diff]|Adds
>  some functionality to TokenMetadata to track which endpoints and racks exist 
> in a DC.|
> |[01_calc_natural_endpoints|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints]|[01_calc_natural_endpoints.patch|https://github.com/acunu/cassandra/compare/refs/top-bases/p/3881/01_calc_natural_endpoints...p/3881/01_calc_natural_endpoints.diff]|Rewritten
>  O(logN) implementation of calculateNaturalEndpoints using the topology 
> information from the tokenMetadata.|
> 
> _Note: These are branches managed with TopGit. If you are applying the patch 
> output manually, you will either need to filter the TopGit metadata files 
> (i.e. {{wget -O -  | filterdiff -x*.topdeps -x*.topmsg | patch -p1}}), 
> or remove them afterward ({{rm .topmsg .topdeps}})._

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-1337) parallelize fetching rows for low-cardinality indexes

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-1337:


Thanks for the review Vijay.

I have nothing to add...

> parallelize fetching rows for low-cardinality indexes
> -
>
> Key: CASSANDRA-1337
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1337
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 
> 0001-CASSANDRA-1337-scan-concurrently-depending-on-num-rows.txt, 
> CASSANDRA-1337.patch
>
>   Original Estimate: 8h
>  Remaining Estimate: 8h
>
> currently, we read the indexed rows from the first node (in partitioner 
> order); if that does not have enough matching rows, we read the rows from the 
> next, and so forth.
> we should use the statistics fom CASSANDRA-1155 to query multiple nodes in 
> parallel, such that we have a high chance of getting enough rows w/o having 
> to do another round of queries (but, if our estimate is incorrect, we do need 
> to loop and do more rounds until we have enough data or we have fetched from 
> each node).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


bq. Sure, but this is where is gets a little more complicated, since after 
receiving the error the init script needs to check that the pid is really gone, 
and if not get more forceful.

was about to implement this when a problem came to mind. There's no time limit 
on how long a flush will take and shutdown hooks can take as long as needed to 
finish up so we have no idea when to "get more forceful".

There's two ways we could deal with this IMO:
- we poll-check on the pid, nodetool side, and give it an umbrella grace period 
to do everything, after that we SIGKILL it
- we simply inform that it might take a while.

> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


bq. Sure, but this is where is gets a little more complicated, since after 
receiving the error the init script needs to check that the pid is really gone, 
and if not get more forceful.

hum... handn't thought about that. you're right. any script/code comes to mind 
that has similar functionality? (for inspiration :)) 

> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (CASSANDRA-3564) flush before shutdown so restart is faster

2012-06-21 Thread David Alves (JIRA)

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

David Alves commented on CASSANDRA-3564:


thanks for the review

bq. The catch with flushandexit is, you have no way of knowing if it worked or 
not (from nodetool's perspective) since either way, you're going to get an 
error (EOF because the jvm shutdown, or EOF because ???)

right, I thought about that (might even deserve some special error handling) 
but the only alternative that I could think was to make the call async so the 
RPC method would return fine. But even that wouldn't provide any meaningful 
feedback since the user would still have no idea whether things flushed ok so I 
left it as is.

If its alright, I'll finish up by adding the cassandra stop command to the 
shell script and handle the broken rpc call.

> flush before shutdown so restart is faster
> --
>
> Key: CASSANDRA-3564
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3564
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Packaging
>Reporter: Jonathan Ellis
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 3564.patch
>
>
> Cassandra handles flush in its shutdown hook for durable_writes=false CFs 
> (otherwise we're *guaranteed* to lose data) but leaves it up to the operator 
> otherwise.  I'd rather leave it that way to offer these semantics:
> - cassandra stop = shutdown nicely [explicit flush, then kill -int]
> - kill -INT = shutdown faster but don't lose any updates [current behavior]
> - kill -KILL = lose most recent writes unless durable_writes=true and batch 
> commits are on [also current behavior]
> But if it's not reasonable to use nodetool from the init script then I guess 
> we can just make the shutdown hook flush everything.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Comment Edited] (CASSANDRA-2181) sstable2json should return better error message if the usage is wrong

2012-06-20 Thread David Alves (JIRA)

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

David Alves edited comment on CASSANDRA-2181 at 6/21/12 5:50 AM:
-

i'm not able to reproduce the issue.
the only error I'm hitting is a malformed hex key and that one is pretty clear.
I've tried passing a missing key and an existing one as argument and both times 
the exporter does what it should.

the patch changes usage and adds a check to avoid letting the user use -k and 
-x at the same time

Shotaro Kamio: could you help me to try and figure it out? can you still 
reproduce this error?

  was (Author: dr-alves):
i'm not able to reproduce the issue.
the only error I'm hitting is a malformed hex key and that one is pretty clear.
I've tried passing a missing key and an existing one as argument and both times 
the exporter does what it should.

the patch changes usage and adds a check to avoid letting the user use -k and 
-x at the same time
  
> sstable2json should return better error message if the usage is wrong
> -
>
> Key: CASSANDRA-2181
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2181
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
> Environment: linux
>Reporter: Shotaro Kamio
>Assignee: David Alves
>Priority: Minor
> Fix For: 1.2
>
> Attachments: 2181.patch
>
>
> These errors are not user friendly.
> (Cassandra 0.7.2)
> $ bin/sstable2json PATH_TO/Order-f-7-Data.db -k aaa -x 0
>  WARN 21:55:34,383 Schema definitions were defined both locally and in 
> cassandra.yaml. Definitions in cassandra.yaml were ignored.
> {
> "aaa": {Exception in thread "main" java.lang.NullPointerException
>   at 
> org.apache.cassandra.db.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:108)
>   at 
> org.apache.cassandra.tools.SSTableExport.serializeRow(SSTableExport.java:178)
>   at 
> org.apache.cassandra.tools.SSTableExport.export(SSTableExport.java:310)
>   at org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:444)
> $ bin/sstable2json PATH_TO/Order-f-7-Data.db -k aaa 
>  WARN 21:55:49,603 Schema definitions were defined both locally and in 
> cassandra.yaml. Definitions in cassandra.yaml were ignored.
> Exception in thread "main" java.lang.NullPointerException
>   at 
> org.apache.cassandra.tools.SSTableExport.export(SSTableExport.java:284)
>   at org.apache.cassandra.tools.SSTableExport.main(SSTableExport.java:444)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




  1   2   >