[jira] [Updated] (CASSANDRA-15076) Align record header of FQL and audit binary log

2019-04-04 Thread JIRA


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

Per Otterström updated CASSANDRA-15076:
---
Issue Type: Improvement  (was: Sub-task)
Parent: (was: CASSANDRA-14772)

> Align record header of FQL and audit binary log
> ---
>
> Key: CASSANDRA-15076
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15076
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tool/fql
>Reporter: Per Otterström
>Priority: Normal
> Fix For: 4.0
>
>
> The new full query logger and the audit logger support logging into binary 
> Chronicle logs. Both create records with a small header to indicate what 
> follows, but the two features have adopted different header formats. Let's 
> align the record header format with this ticket.
>  * Both features should use the same header layout. This makes it possible to 
> give more user friendly error messages in the {{fqltool}} and 
> {{auditlogviewr}} commands.
>  * The record header should have a distinct {{type}} to indicate the type of 
> record.
>  * The record header should have a {{version}} so that the record format can 
> evolve.
> Current record header format of the FQL is:
> {noformat}
> version:0(int16)
> type:(text)
> {noformat}
> where {{}} can be either {{batch}} or {{single-query}}.
> Current record header format of the binary audit log is:
> {noformat}
> type:AuditLog(text)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14772) Fix issues in audit / full query log interactions

2019-04-04 Thread JIRA


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

Per Otterström commented on CASSANDRA-14772:


Created CASSANDRA-15076 to discuss record header format.

> Fix issues in audit / full query log interactions
> -
>
> Key: CASSANDRA-14772
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14772
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/CQL, Legacy/Tools
>Reporter: Marcus Eriksson
>Assignee: Marcus Eriksson
>Priority: Normal
> Fix For: 4.0
>
>
> There are some problems with the audit + full query log code that need to be 
> resolved before 4.0 is released:
> * Fix performance regression in FQL that makes it less usable than it should 
> be.
> * move full query log specific code to a separate package 
> * do some audit log class renames (I keep reading {{BinLogAuditLogger}} vs 
> {{BinAuditLogger}} wrong for example)
> * avoid parsing the CQL queries twice in {{QueryMessage}} when audit log is 
> enabled.
> * add a new tool to dump audit logs (ie, let fqltool be full query log 
> specific). fqltool crashes when pointed to them.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14983) Local reads potentially blocking remote reads

2019-04-04 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-14983:
--

[~molsson] very sorry for taking so long to look at this patch, or to respond.  
Thank you for producing the patch - I am looking forward to reviewing it soon.  
I'm afraid I still don't quite have time - I hope to get to it in the next 
couple of weeks.

The best way I can think of to break a local request, without modifying the 
underlying codebase, would be to either register a java-based 
FileSystemProvider that we can break, but this would also require changes to 
the codebase, to use URIs instead of paths for the filesystem interactions.  
This might not be too onerous, or might be really awful to undertake.  But it 
would offer us really powerful control over testing of filesystem interactions.

An alternative might be to simply use a pre-existing outside-of-JVM approach.  
ScyllaDB seem to have written a [fault-injecting filesystem for 
Linux|https://www.scylladb.com/2016/05/02/fault-injection-filesystem-cookbook/].
  This would work in CircleCI and on users developing under Linux, which is 
better than nothing, and might be lower effort to introduce.

> Local reads potentially blocking remote reads
> -
>
> Key: CASSANDRA-14983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14983
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Coordination
>Reporter: Marcus Olsson
>Priority: Low
> Attachments: graph_local_read.html, graph_local_read_trunk.html, 
> local_read_trace.log
>
>
> Since CASSANDRA-4718 there is a fast path allowing local requests to continue 
> to [work in the same 
> thread|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L157]
>  rather than being sent over to the read stage.
> Based on the comment
> {code:java}
> // We delay the local (potentially blocking) read till the end to avoid 
> stalling remote requests.
> {code}
> it seems like this should be performed last in the chain to avoid blocking 
> remote requests but that does not seem to be the case when the local request 
> is a data request. The digest request(s) are sent after the data requests are 
> sent (and now the transient replica requests as well). When the fast path is 
> used for local data/transient data requests this will block the next type of 
> request from being sent away until the local read is finished and add 
> additional latency to the request.
> In addition to this it seems like local requests are *always* data requests 
> (might not be a problem), but the log message can say either ["digest" or 
> "data"|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L156]
>  as the type of request.
> I have tried to run performance measurements to see the impact of this in 3.0 
> (by moving local requests to the end of ARE#executeAsync()) but I haven't 
> seen any big difference yet. I'll continue to run some more tests to see if I 
> can find a use case affected by this.
> Attaching a trace (3.0) where this happens. Reproduction:
>  # Create a three node CCM cluster
>  # Provision data with stress (rf=3)
>  # In parallel:
>  ## Start stress read run
>  ## Run multiple manual read queries in cqlsh with tracing on and 
> local_quorum (as this does not always happen)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Assigned] (CASSANDRA-14983) Local reads potentially blocking remote reads

2019-04-04 Thread Benedict (JIRA)


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

Benedict reassigned CASSANDRA-14983:


 Assignee: Marcus Olsson
Reviewers: Benedict

> Local reads potentially blocking remote reads
> -
>
> Key: CASSANDRA-14983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14983
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Coordination
>Reporter: Marcus Olsson
>Assignee: Marcus Olsson
>Priority: Low
> Attachments: graph_local_read.html, graph_local_read_trunk.html, 
> local_read_trace.log
>
>
> Since CASSANDRA-4718 there is a fast path allowing local requests to continue 
> to [work in the same 
> thread|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L157]
>  rather than being sent over to the read stage.
> Based on the comment
> {code:java}
> // We delay the local (potentially blocking) read till the end to avoid 
> stalling remote requests.
> {code}
> it seems like this should be performed last in the chain to avoid blocking 
> remote requests but that does not seem to be the case when the local request 
> is a data request. The digest request(s) are sent after the data requests are 
> sent (and now the transient replica requests as well). When the fast path is 
> used for local data/transient data requests this will block the next type of 
> request from being sent away until the local read is finished and add 
> additional latency to the request.
> In addition to this it seems like local requests are *always* data requests 
> (might not be a problem), but the log message can say either ["digest" or 
> "data"|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L156]
>  as the type of request.
> I have tried to run performance measurements to see the impact of this in 3.0 
> (by moving local requests to the end of ARE#executeAsync()) but I haven't 
> seen any big difference yet. I'll continue to run some more tests to see if I 
> can find a use case affected by this.
> Attaching a trace (3.0) where this happens. Reproduction:
>  # Create a three node CCM cluster
>  # Provision data with stress (rf=3)
>  # In parallel:
>  ## Start stress read run
>  ## Run multiple manual read queries in cqlsh with tracing on and 
> local_quorum (as this does not always happen)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15022) SEPExecutor local requests not triggered often

2019-04-04 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15022:
-
Reviewers: Benedict

> SEPExecutor local requests not triggered often
> --
>
> Key: CASSANDRA-15022
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15022
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Olsson
>Priority: Low
>
> Based on observations done in 
> [CASSANDRA-14983|https://issues.apache.org/jira/browse/CASSANDRA-14983?focusedCommentId=16745238&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16745238]
>  SEPExecutor#maybeExecuteImmediately() does not necessarily run tasks in the 
> same thread often.
> The logic [as it is 
> today|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/concurrent/SEPExecutor.java#L166]
>  basically requires another task to be in the work queue for it to trigger. 
> One option to make it trigger more often could be to change the logic to:
> {code:java}
> if (workPermits == 0 || (takeTaskPermit && taskPermits == 0))
>  return false;
> {code}
> So that we only check the taskPermits if we want to take a taskPermit.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Comment Edited] (CASSANDRA-14983) Local reads potentially blocking remote reads

2019-04-04 Thread Benedict (JIRA)


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

Benedict edited comment on CASSANDRA-14983 at 4/4/19 10:07 AM:
---

[~molsson] very sorry for taking so long to look at this patch, or to respond.  
Thank you for producing the patch - I am looking forward to reviewing it soon.  
I'm afraid I still don't quite have time - I hope to get to it in the next 
couple of weeks.

The best way I can think of to break a local request, without modifying the 
underlying codebase, would be one of two possibilities:

1) Register a java-based FileSystemProvider that we can break, but this would 
also require changes to the codebase, to use URIs instead of paths for the 
filesystem interactions.  This might not be too onerous, or might be really 
awful to undertake.  But it would offer us really powerful control over testing 
of filesystem interactions.

2) Use a pre-existing outside-of-JVM approach.  ScyllaDB seem to have written a 
[fault-injecting filesystem for 
Linux|https://www.scylladb.com/2016/05/02/fault-injection-filesystem-cookbook/].
  This would work in CircleCI and on users developing under Linux, which is 
better than nothing, and might be lower effort to introduce.


was (Author: benedict):
[~molsson] very sorry for taking so long to look at this patch, or to respond.  
Thank you for producing the patch - I am looking forward to reviewing it soon.  
I'm afraid I still don't quite have time - I hope to get to it in the next 
couple of weeks.

The best way I can think of to break a local request, without modifying the 
underlying codebase, would be to either register a java-based 
FileSystemProvider that we can break, but this would also require changes to 
the codebase, to use URIs instead of paths for the filesystem interactions.  
This might not be too onerous, or might be really awful to undertake.  But it 
would offer us really powerful control over testing of filesystem interactions.

An alternative might be to simply use a pre-existing outside-of-JVM approach.  
ScyllaDB seem to have written a [fault-injecting filesystem for 
Linux|https://www.scylladb.com/2016/05/02/fault-injection-filesystem-cookbook/].
  This would work in CircleCI and on users developing under Linux, which is 
better than nothing, and might be lower effort to introduce.

> Local reads potentially blocking remote reads
> -
>
> Key: CASSANDRA-14983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14983
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Coordination
>Reporter: Marcus Olsson
>Assignee: Marcus Olsson
>Priority: Low
> Attachments: graph_local_read.html, graph_local_read_trunk.html, 
> local_read_trace.log
>
>
> Since CASSANDRA-4718 there is a fast path allowing local requests to continue 
> to [work in the same 
> thread|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L157]
>  rather than being sent over to the read stage.
> Based on the comment
> {code:java}
> // We delay the local (potentially blocking) read till the end to avoid 
> stalling remote requests.
> {code}
> it seems like this should be performed last in the chain to avoid blocking 
> remote requests but that does not seem to be the case when the local request 
> is a data request. The digest request(s) are sent after the data requests are 
> sent (and now the transient replica requests as well). When the fast path is 
> used for local data/transient data requests this will block the next type of 
> request from being sent away until the local read is finished and add 
> additional latency to the request.
> In addition to this it seems like local requests are *always* data requests 
> (might not be a problem), but the log message can say either ["digest" or 
> "data"|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L156]
>  as the type of request.
> I have tried to run performance measurements to see the impact of this in 3.0 
> (by moving local requests to the end of ARE#executeAsync()) but I haven't 
> seen any big difference yet. I'll continue to run some more tests to see if I 
> can find a use case affected by this.
> Attaching a trace (3.0) where this happens. Reproduction:
>  # Create a three node CCM cluster
>  # Provision data with stress (rf=3)
>  # In parallel:
>  ## Start stress read run
>  ## Run multiple manual read queries in cqlsh with tracing on and 
> local_quorum (as this does not always happen)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: co

[jira] [Comment Edited] (CASSANDRA-14983) Local reads potentially blocking remote reads

2019-04-04 Thread Benedict (JIRA)


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

Benedict edited comment on CASSANDRA-14983 at 4/4/19 10:10 AM:
---

[~molsson] very sorry for taking so long to look at this patch, or to respond.  
Thank you for producing the patch - I am looking forward to reviewing it soon.  
I'm afraid I still don't quite have time - I hope to get to it in the next 
couple of weeks.

The best way I can think of to break a local request, without modifying the 
underlying codebase, would be one of two possibilities:

1) Register a java-based FileSystemProvider that we can break, but this would 
also require changes to the codebase, to use URIs instead of paths for the 
filesystem interactions.  This might not be too onerous, or might be really 
awful to undertake.  But it would offer us really powerful control over testing 
of filesystem interactions.

2) Use a pre-existing outside-of-JVM approach.  ScyllaDB seem to have written a 
[fault-injecting filesystem for 
Linux|https://www.scylladb.com/2016/05/02/fault-injection-filesystem-cookbook/].
  This would work in CircleCI and on users developing under Linux, which is 
better than nothing, and might be lower effort to introduce.

3) Byteman is also an option for a single fault injection, but in my experience 
it is really unpleasant to work with, and costly to maintain.  But this _might_ 
be the lowest effort.

We do also have prior form for modifying the real code to produce errors, but I 
have a preference to avoid this.

FWIW, I don't think any of these approaches are _strictly_ necessary for 
merging this patch, since none are trivial undertakings.  But one would 
certainly be preferable, and some would have wider positive impacts for the 
project.  They are just suggestions given your question.


was (Author: benedict):
[~molsson] very sorry for taking so long to look at this patch, or to respond.  
Thank you for producing the patch - I am looking forward to reviewing it soon.  
I'm afraid I still don't quite have time - I hope to get to it in the next 
couple of weeks.

The best way I can think of to break a local request, without modifying the 
underlying codebase, would be one of two possibilities:

1) Register a java-based FileSystemProvider that we can break, but this would 
also require changes to the codebase, to use URIs instead of paths for the 
filesystem interactions.  This might not be too onerous, or might be really 
awful to undertake.  But it would offer us really powerful control over testing 
of filesystem interactions.

2) Use a pre-existing outside-of-JVM approach.  ScyllaDB seem to have written a 
[fault-injecting filesystem for 
Linux|https://www.scylladb.com/2016/05/02/fault-injection-filesystem-cookbook/].
  This would work in CircleCI and on users developing under Linux, which is 
better than nothing, and might be lower effort to introduce.

> Local reads potentially blocking remote reads
> -
>
> Key: CASSANDRA-14983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14983
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Coordination
>Reporter: Marcus Olsson
>Assignee: Marcus Olsson
>Priority: Low
> Attachments: graph_local_read.html, graph_local_read_trunk.html, 
> local_read_trace.log
>
>
> Since CASSANDRA-4718 there is a fast path allowing local requests to continue 
> to [work in the same 
> thread|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L157]
>  rather than being sent over to the read stage.
> Based on the comment
> {code:java}
> // We delay the local (potentially blocking) read till the end to avoid 
> stalling remote requests.
> {code}
> it seems like this should be performed last in the chain to avoid blocking 
> remote requests but that does not seem to be the case when the local request 
> is a data request. The digest request(s) are sent after the data requests are 
> sent (and now the transient replica requests as well). When the fast path is 
> used for local data/transient data requests this will block the next type of 
> request from being sent away until the local read is finished and add 
> additional latency to the request.
> In addition to this it seems like local requests are *always* data requests 
> (might not be a problem), but the log message can say either ["digest" or 
> "data"|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L156]
>  as the type of request.
> I have tried to run performance measurements to see the impact of this in 3.0 
> (by moving local requests to the end of ARE#executeAsync()) but I haven't 
> seen 

[jira] [Comment Edited] (CASSANDRA-14983) Local reads potentially blocking remote reads

2019-04-04 Thread Benedict (JIRA)


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

Benedict edited comment on CASSANDRA-14983 at 4/4/19 10:14 AM:
---

[~molsson] very sorry for taking so long to look at this patch, or to respond.  
Thank you for producing the patch - I am looking forward to reviewing it soon.  
I'm afraid I still don't quite have time - I hope to get to it in the next 
couple of weeks.

The best ways I can think of to break a local request, without modifying the 
underlying codebase, would be one of two possibilities:

1) Register a java-based FileSystemProvider that we can break, but this would 
also require changes to the codebase, to use URIs instead of paths for the 
filesystem interactions.  This might not be too onerous, or might be really 
awful to undertake.  But it would offer us really powerful control over testing 
of filesystem interactions.

2) Use a pre-existing outside-of-JVM approach.  ScyllaDB seem to have written a 
[fault-injecting filesystem for 
Linux|https://www.scylladb.com/2016/05/02/fault-injection-filesystem-cookbook/].
  This would work in CircleCI and on users developing under Linux, which is 
better than nothing, and might be lower effort to introduce, though I'm not 
sure if it would support a delay - and an error might not suffice for this test.

3) Byteman is also an option for a single fault injection, but in my experience 
it is really unpleasant to work with, and costly to maintain.  But this _might_ 
be the lowest effort.

4) You could mess with the local node state, copying the sstable thousands or 
tens-of-thousands of times (and registering the copies with the node's Tracker 
directly, since you can invoke any method you like).

We do also have prior form for modifying the real code to produce errors, but I 
have a preference to avoid this.

I think 4 should be the easiest, so that might be the best bet!


was (Author: benedict):
[~molsson] very sorry for taking so long to look at this patch, or to respond.  
Thank you for producing the patch - I am looking forward to reviewing it soon.  
I'm afraid I still don't quite have time - I hope to get to it in the next 
couple of weeks.

The best way I can think of to break a local request, without modifying the 
underlying codebase, would be one of two possibilities:

1) Register a java-based FileSystemProvider that we can break, but this would 
also require changes to the codebase, to use URIs instead of paths for the 
filesystem interactions.  This might not be too onerous, or might be really 
awful to undertake.  But it would offer us really powerful control over testing 
of filesystem interactions.

2) Use a pre-existing outside-of-JVM approach.  ScyllaDB seem to have written a 
[fault-injecting filesystem for 
Linux|https://www.scylladb.com/2016/05/02/fault-injection-filesystem-cookbook/].
  This would work in CircleCI and on users developing under Linux, which is 
better than nothing, and might be lower effort to introduce.

3) Byteman is also an option for a single fault injection, but in my experience 
it is really unpleasant to work with, and costly to maintain.  But this _might_ 
be the lowest effort.

We do also have prior form for modifying the real code to produce errors, but I 
have a preference to avoid this.

FWIW, I don't think any of these approaches are _strictly_ necessary for 
merging this patch, since none are trivial undertakings.  But one would 
certainly be preferable, and some would have wider positive impacts for the 
project.  They are just suggestions given your question.

> Local reads potentially blocking remote reads
> -
>
> Key: CASSANDRA-14983
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14983
> Project: Cassandra
>  Issue Type: Bug
>  Components: Consistency/Coordination
>Reporter: Marcus Olsson
>Assignee: Marcus Olsson
>Priority: Low
> Attachments: graph_local_read.html, graph_local_read_trunk.html, 
> local_read_trace.log
>
>
> Since CASSANDRA-4718 there is a fast path allowing local requests to continue 
> to [work in the same 
> thread|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/reads/AbstractReadExecutor.java#L157]
>  rather than being sent over to the read stage.
> Based on the comment
> {code:java}
> // We delay the local (potentially blocking) read till the end to avoid 
> stalling remote requests.
> {code}
> it seems like this should be performed last in the chain to avoid blocking 
> remote requests but that does not seem to be the case when the local request 
> is a data request. The digest request(s) are sent after the data requests are 
> sent (and now the transient replica requests as well). When the fast pat

[jira] [Assigned] (CASSANDRA-14903) Nodetool cfstats prints index name twice

2019-04-04 Thread Ian Cleasby (JIRA)


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

Ian Cleasby reassigned CASSANDRA-14903:
---

Assignee: Stefan Liebig  (was: Ian Cleasby)

> Nodetool cfstats prints index name twice
> 
>
> Key: CASSANDRA-14903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14903
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/nodetool
>Reporter: Kurt Greaves
>Assignee: Stefan Liebig
>Priority: Low
> Fix For: 4.0
>
>
> {code:java}
> CREATE TABLE test.test (
> id int PRIMARY KEY,
> data text
> );
> CREATE INDEX test_data_idx ON test.test (data);
> ccm node1 nodetool cfstats test
> Total number of tables: 40
> 
> Keyspace : test
> Read Count: 0
> Read Latency: NaN ms
> Write Count: 0
> Write Latency: NaN ms
> Pending Flushes: 0
> Table (index): test.test_data_idxtest.test_data_idx
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Assigned] (CASSANDRA-14903) Nodetool cfstats prints index name twice

2019-04-04 Thread Ian Cleasby (JIRA)


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

Ian Cleasby reassigned CASSANDRA-14903:
---

Assignee: Ian Cleasby  (was: Stefan Liebig)

> Nodetool cfstats prints index name twice
> 
>
> Key: CASSANDRA-14903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14903
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/nodetool
>Reporter: Kurt Greaves
>Assignee: Ian Cleasby
>Priority: Low
> Fix For: 4.0
>
>
> {code:java}
> CREATE TABLE test.test (
> id int PRIMARY KEY,
> data text
> );
> CREATE INDEX test_data_idx ON test.test (data);
> ccm node1 nodetool cfstats test
> Total number of tables: 40
> 
> Keyspace : test
> Read Count: 0
> Read Latency: NaN ms
> Write Count: 0
> Write Latency: NaN ms
> Pending Flushes: 0
> Table (index): test.test_data_idxtest.test_data_idx
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-15066) Improvements to Internode Messaging

2019-04-04 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15066:
--

Thanks for the feedback.

I'm sorry we failed to get back to you as promptly as we had promised.  We 
began review of CASSANDRA-14503 with the expectation it would be a 2-3 week 
project, with perhaps some minor improvements and bugfixes identified.  
Unfortunately, as we dug in, we came to the conclusion that there were issues 
requiring significant work.

For context, as part of our effort toward stability in Cassandra 4.0, we 
committed to completing a source audit of the messaging system.  Reviewing 
14503 and trunk together made sense, given that 14503 included necessary fixes 
and constituted significant changes to trunk.  We were also under the 
impression that you intended to reduce your involvement in the project in your 
new role, and didn’t expect this change would allow time for the amount of 
collaboration needed.  

So, we began preparing a candidate patch to resolve issues that we found.  As 
we progressed, we found it difficult to produce a small patch in whose 
correctness we were confident, so the scope of modifications expanded in order 
to produce confidence in the result.  As this progressed, it became apparent 
that we could also, at little cost, better tailor the system's characteristics 
to Cassandra's needs by integrating knowledge we had gained during the wider 
review.  This also permitted, in our view, an overall risk reduction to the 
project by: 1) reducing the need for further major modifications in the next 
release; and 2) reducing the maintenance risk through clarified semantics.

Producing work for the community is a complex dance that is impossible to 
conduct perfectly.  In our view, a patchwork approach wouldn’t have yielded 
high confidence in the result, and would have reintroduced long standing 
defects to our 4.0 release.  We are also, as a project, clearly under 
significant time pressure to produce a 4.0 release that we can endorse.

Given the sole purpose and scope of this work is fixing stability issues that 
would land in 4.0, we feel that it is in the spirit of the feature freeze and 
our collective focus on stability.  As a project, we have promised not to 
repeat the mistake of rushing out an unsafe .0 release, and we feel this work 
is important for achieving that.  This is of course all open for debate, and it 
may be that through discussion together we revise our proposal for what’s to be 
merged, versus held for a future release.  We look forward to hearing the 
community's thoughts on this, which we hope to solicit from a wider discussion 
on the mailing list.

As always, we are eager to receive feedback on our work.  Do you have any 
specific technical concerns with the approach taken?


> Improvements to Internode Messaging
> ---
>
> Key: CASSANDRA-15066
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15066
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Messaging/Internode
>Reporter: Benedict
>Assignee: Benedict
>Priority: Normal
> Fix For: 4.0
>
>
> CASSANDRA-8457 introduced asynchronous networking to internode messaging, but 
> there have been several follow-up endeavours to improve some semantic issues. 
>  CASSANDRA-14503 and CASSANDRA-13630 are the latest such efforts, and were 
> combined some months ago into a single overarching refactor of the original 
> work, to address some of the issues that have been discovered.  Given the 
> criticality of this work to the project, we wanted to bring some more eyes to 
> bear to ensure the release goes ahead smoothly.  In doing so, we uncovered a 
> number of issues with messaging, some of which long standing, that we felt 
> needed to be addressed.  This patch widens the scope of CASSANDRA-14503 and 
> CASSANDRA-13630 in an effort to close the book on the messaging service, at 
> least for the foreseeable future.
> The patch includes a number of clarifying refactors that touch outside of the 
> {{net.async}} package, and a number of semantic changes to the {{net.async}} 
> packages itself.  We believe it clarifies the intent and behaviour of the 
> code while improving system stability, which we will outline in comments 
> below.
> https://github.com/belliottsmith/cassandra/tree/messaging-improvements



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-15077) Dropping column via thrift renders cf unreadable via CQL, leads to missing data

2019-04-04 Thread Muir Manders (JIRA)
Muir Manders created CASSANDRA-15077:


 Summary: Dropping column via thrift renders cf unreadable via CQL, 
leads to missing data
 Key: CASSANDRA-15077
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15077
 Project: Cassandra
  Issue Type: Bug
Reporter: Muir Manders


Hello

We have a lot of thrift/compact storage column families in production. We 
upgraded to 3.11.4 last week. This week we ran a (thrift) schema change to drop 
a column from a column family. Our CQL clients immediately starting getting a 
read error ("ReadFailure: Error from server: code=1300 ...") trying to read the 
column family. Thrift clients were still able to read the column family.

We determined restarting the nodes "fixed" CQL reads, so we did that, but soon 
discovered that we were missing data because cassandra was skipping sstables it 
didn't like on startup. That exception looked like this:
{noformat}
INFO  [main] 2019-04-04 20:06:35,676 ColumnFamilyStore.java:430 - Initializing 
test.test
ERROR [SSTableBatchOpen:1] 2019-04-04 20:06:35,689 CassandraDaemon.java:228 - 
Exception in thread Thread[SSTableBatchOpen:1,5,main]
java.lang.RuntimeException: Unknown column foo during deserialization
at 
org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:326)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:522)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:385)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
org.apache.cassandra.io.sstable.format.SSTableReader$3.run(SSTableReader.java:570)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_121]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_121]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_121]
at 
org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:81)
 [apache-cassandra-3.11.4.jar:3.11.4]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
{noformat}
 

Below is a list of steps to reproduce the issue. Note that in production our 
column families were all created via thrift, but I thought it was simpler to 
create them using CQL for the reproduction script.
{code}
ccm create test -v 3.11.4 -n 1
ccm updateconf 'start_rpc: true'
ccm start

sleep 10

ccm node1 cqlsh <

[jira] [Updated] (CASSANDRA-15077) Dropping column via thrift renders cf unreadable via CQL, leads to missing data

2019-04-04 Thread Muir Manders (JIRA)


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

Muir Manders updated CASSANDRA-15077:
-
Description: 
Hello

We have a lot of thrift/compact storage column families in production. We 
upgraded to 3.11.4 last week. This week we ran a (thrift) schema change to drop 
a column from a column family. Our CQL clients immediately starting getting a 
read error ("ReadFailure: Error from server: code=1300 ...") trying to read the 
column family. Thrift clients were still able to read the column family.

We determined restarting the nodes "fixed" CQL reads, so we did that, but soon 
discovered that we were missing data because cassandra was skipping sstables it 
didn't like on startup. That exception looked like this:
{noformat}
INFO  [main] 2019-04-04 20:06:35,676 ColumnFamilyStore.java:430 - Initializing 
test.test
ERROR [SSTableBatchOpen:1] 2019-04-04 20:06:35,689 CassandraDaemon.java:228 - 
Exception in thread Thread[SSTableBatchOpen:1,5,main]
java.lang.RuntimeException: Unknown column foo during deserialization
at 
org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:326)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:522)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:385)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
org.apache.cassandra.io.sstable.format.SSTableReader$3.run(SSTableReader.java:570)
 ~[apache-cassandra-3.11.4.jar:3.11.4]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_121]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_121]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_121]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_121]
at 
org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:81)
 [apache-cassandra-3.11.4.jar:3.11.4]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
{noformat}
 

Below is a list of steps to reproduce the issue. Note that in production our 
column families were all created via thrift, but I thought it was simpler to 
create them using CQL for the reproduction script.
{code}
ccm create test -v 3.11.4 -n 1
ccm updateconf 'start_rpc: true'
ccm start

sleep 10

ccm node1 cqlsh < Dropping column via thrift renders cf unreadable via CQL, leads to missing 
> data
> ---
>
> Key: CASSANDRA-15077
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15077
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Muir Manders
>Priority: Normal
>
> Hello
> We have a lot of thrift/compact storage column families in production. We 
> upgraded to 3.11.4 last week. This week we ran a (thrift) schema change to 
> drop a column from a column family. Our CQL clients immediately starting 
> getting a read error ("ReadFailure: Error from server: code=1300 ...") trying 
> to read the column family. Thrift clients were still able to read the column 
> family.
> We determined restarting the nodes "fixed" CQL reads, so we did that, but 
> soon discovered that we were missing data because cassandra was skipping 
> sstables it didn't like on startup. That exception looked like this:
> {noformat}
> INFO  [main] 2019-04-04 20:06:35,676 ColumnFamilyStore.java:430 - 
> Initializing test.test
> ERROR [SSTableBatchOpen:1] 2019-04-04 20:06:35,689 CassandraDaemon.java:228 - 
> Exception in thread Thread[SSTableBatchOpen:1,5,main]
> java.lang.RuntimeException: Unknown column foo during deserialization
> at 
> org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:326)
>  ~[apache-cassandra-3.11.4.jar:3.11.4]
> at 
> org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:522)
>  ~[apache-cassandra-3.11.4.jar:3.11.4]
> at 
> org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:385)
>  ~[apache-cassandra-3.11.4.jar:3.11.4]
> at 
> org.apache.cassandra.io.sstable.format.SSTableReader$3.run(SSTableReader.java:570)
>  ~[apache-cassandra-3.11.4.jar:3.11.4]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0

[jira] [Updated] (CASSANDRA-14629) Abstract Virtual Table for very large result sets

2019-04-04 Thread Dinesh Joshi (JIRA)


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

Dinesh Joshi updated CASSANDRA-14629:
-
Reviewers: Dinesh Joshi

> Abstract Virtual Table for very large result sets
> -
>
> Key: CASSANDRA-14629
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14629
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Legacy/CQL, Legacy/Observability
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Low
>  Labels: pull-request-available, virtual-tables
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> For virtual tables that are very large we cannot use existing 
> abstractvirtualtable since it would OOM the node possibly. An example would 
> be a table to view the internal cache contents or to view contents of 
> sstables.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14903) Nodetool cfstats prints index name twice

2019-04-04 Thread mck (JIRA)


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

mck commented on CASSANDRA-14903:
-

bq. Hang on the output is including the keyspace `test` and table name `test` 
with idx of `test_data_idx`.
Yes, it's a bit messy :-(

It's expanding the scope of the ticket, but it would be nice to get the display 
text correct in all modes in one commit.
I tested the yml and json output formats and they worked fine.

> Nodetool cfstats prints index name twice
> 
>
> Key: CASSANDRA-14903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14903
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/nodetool
>Reporter: Kurt Greaves
>Assignee: Ian Cleasby
>Priority: Low
> Fix For: 4.0
>
>
> {code:java}
> CREATE TABLE test.test (
> id int PRIMARY KEY,
> data text
> );
> CREATE INDEX test_data_idx ON test.test (data);
> ccm node1 nodetool cfstats test
> Total number of tables: 40
> 
> Keyspace : test
> Read Count: 0
> Read Latency: NaN ms
> Write Count: 0
> Write Latency: NaN ms
> Pending Flushes: 0
> Table (index): test.test_data_idxtest.test_data_idx
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests

2019-04-04 Thread Blake Eggleston (JIRA)
Blake Eggleston created CASSANDRA-15078:
---

 Summary: Support cross version messaging in in-jvm upgrade dtests
 Key: CASSANDRA-15078
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15078
 Project: Cassandra
  Issue Type: Improvement
Reporter: Blake Eggleston






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests

2019-04-04 Thread Blake Eggleston (JIRA)


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

Blake Eggleston updated CASSANDRA-15078:

Component/s: Test/dtest

> Support cross version messaging in in-jvm upgrade dtests
> 
>
> Key: CASSANDRA-15078
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15078
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest
>Reporter: Blake Eggleston
>Priority: Normal
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests

2019-04-04 Thread Blake Eggleston (JIRA)


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

Blake Eggleston updated CASSANDRA-15078:

Fix Version/s: 4.0
   3.11.5
   3.0.19
   2.2.15

> Support cross version messaging in in-jvm upgrade dtests
> 
>
> Key: CASSANDRA-15078
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15078
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest
>Reporter: Blake Eggleston
>Priority: Normal
> Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Comment Edited] (CASSANDRA-14903) Nodetool cfstats prints index name twice

2019-04-04 Thread Stefan Miklosovic (JIRA)


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

Stefan Miklosovic edited comment on CASSANDRA-14903 at 4/4/19 10:38 PM:


Hi [~michaelsembwever] no worries, I ll cover this (I work with [~icleasby] 
closely)


was (Author: stefan.miklosovic):
Hi [~michaelsembwever] no worries, I ll cover this.

> Nodetool cfstats prints index name twice
> 
>
> Key: CASSANDRA-14903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14903
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/nodetool
>Reporter: Kurt Greaves
>Assignee: Stefan Miklosovic
>Priority: Low
> Fix For: 4.0
>
>
> {code:java}
> CREATE TABLE test.test (
> id int PRIMARY KEY,
> data text
> );
> CREATE INDEX test_data_idx ON test.test (data);
> ccm node1 nodetool cfstats test
> Total number of tables: 40
> 
> Keyspace : test
> Read Count: 0
> Read Latency: NaN ms
> Write Count: 0
> Write Latency: NaN ms
> Pending Flushes: 0
> Table (index): test.test_data_idxtest.test_data_idx
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-14903) Nodetool cfstats prints index name twice

2019-04-04 Thread Stefan Miklosovic (JIRA)


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

Stefan Miklosovic commented on CASSANDRA-14903:
---

Hi [~michaelsembwever] no worries, I ll cover this.

> Nodetool cfstats prints index name twice
> 
>
> Key: CASSANDRA-14903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14903
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/nodetool
>Reporter: Kurt Greaves
>Assignee: Ian Cleasby
>Priority: Low
> Fix For: 4.0
>
>
> {code:java}
> CREATE TABLE test.test (
> id int PRIMARY KEY,
> data text
> );
> CREATE INDEX test_data_idx ON test.test (data);
> ccm node1 nodetool cfstats test
> Total number of tables: 40
> 
> Keyspace : test
> Read Count: 0
> Read Latency: NaN ms
> Write Count: 0
> Write Latency: NaN ms
> Pending Flushes: 0
> Table (index): test.test_data_idxtest.test_data_idx
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Assigned] (CASSANDRA-14903) Nodetool cfstats prints index name twice

2019-04-04 Thread Stefan Miklosovic (JIRA)


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

Stefan Miklosovic reassigned CASSANDRA-14903:
-

Assignee: Stefan Miklosovic  (was: Ian Cleasby)

> Nodetool cfstats prints index name twice
> 
>
> Key: CASSANDRA-14903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14903
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tool/nodetool
>Reporter: Kurt Greaves
>Assignee: Stefan Miklosovic
>Priority: Low
> Fix For: 4.0
>
>
> {code:java}
> CREATE TABLE test.test (
> id int PRIMARY KEY,
> data text
> );
> CREATE INDEX test_data_idx ON test.test (data);
> ccm node1 nodetool cfstats test
> Total number of tables: 40
> 
> Keyspace : test
> Read Count: 0
> Read Latency: NaN ms
> Write Count: 0
> Write Latency: NaN ms
> Pending Flushes: 0
> Table (index): test.test_data_idxtest.test_data_idx
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Assigned] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests

2019-04-04 Thread Blake Eggleston (JIRA)


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

Blake Eggleston reassigned CASSANDRA-15078:
---

Assignee: Blake Eggleston

> Support cross version messaging in in-jvm upgrade dtests
> 
>
> Key: CASSANDRA-15078
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15078
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Normal
> Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15072) Incomplete range results during 2.X -> 3.11.4 upgrade

2019-04-04 Thread Blake Eggleston (JIRA)


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

Blake Eggleston updated CASSANDRA-15072:

   Severity: Normal
 Complexity: Normal
Component/s: Legacy/Coordination
 Status: Open  (was: Triage Needed)

> Incomplete range results during 2.X -> 3.11.4 upgrade
> -
>
> Key: CASSANDRA-15072
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15072
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Coordination
>Reporter: Muir Manders
>Assignee: Blake Eggleston
>Priority: High
> Attachments: eriksw-repro.sh
>
>
> Hello
> During an upgrade from 2.1.17 to 3.11.4, our application starting getting 
> back incomplete results for range queries. When all nodes were upgraded 
> (before upgrading sstables), we stopped getting incomplete results. I was 
> able to reproduce it and listed steps below. It seems to require the random 
> partitioner and compact storage to reproduce reliably. It also reproduces 
> coming from 2.1.21 and 2.2.14. You seem to get the bad behavior when an old 
> node is your coordinator and it has to talk to an upgraded replica.
> {noformat}
> ccm create test -v 2.1.17 -n 3
> ccm updateconf 'partitioner: org.apache.cassandra.dht.RandomPartitioner'
> ccm node1 updateconf 'initial_token: 0'
> ccm node2 updateconf 'initial_token: 56713727820156410577229101238628035242'
> ccm node3 updateconf 'initial_token: 113427455640312821154458202477256070484'
> ccm start
> ccm node1 cqlsh < CREATE KEYSPACE test WITH REPLICATION = {'class': 'SimpleStrategy', 
> 'replication_factor': 3};
> CREATE COLUMNFAMILY test.test (
>   id text,
>   foo text,
>   bar text,
>   PRIMARY KEY (id)
> ) WITH COMPACT STORAGE;
> CONSISTENCY QUORUM;
> INSERT INTO test.test (id, foo, bar) values ('1', 'hi', 'there');
> INSERT INTO test.test (id, foo, bar) values ('2', 'hi', 'there');
> SCHEMA
> ccm node1 stop
> ccm node1 setdir -v 3.11.4
> ccm node1 start
> ccm node2 stop
> ccm node2 setdir -v 3.11.4
> ccm node2 start
> # here I use 3.X cqlsh to connect to 2.X node so I can lower the page size (to
> # allow for simpler test setup)
> cqlsh 127.0.0.3 < CONSISTENCY QUORUM;
> PAGING 2;
> select * from test.test;
> QUERY
> {noformat}
> This results in:
> {noformat}
> Page size: 2
>  id | bar   | foo
> +---+-
>   2 | there |  hi
> (1 rows)
> {noformat}
> Running it against the upgraded node (node1):
> {noformat}
> Page size: 2
>  id | bar   | foo
> +---+-
>   2 | there |  hi
>   1 | there |  hi
> (2 rows)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests

2019-04-04 Thread Blake Eggleston (JIRA)


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

Blake Eggleston updated CASSANDRA-15078:

 Complexity: Normal
Change Category: Quality Assurance
 Status: Open  (was: Triage Needed)

> Support cross version messaging in in-jvm upgrade dtests
> 
>
> Key: CASSANDRA-15078
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15078
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Normal
> Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests

2019-04-04 Thread Blake Eggleston (JIRA)


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

Blake Eggleston updated CASSANDRA-15078:

Test and Documentation Plan: circle ci once available
 Status: Patch Available  (was: Open)

|[2.2|https://github.com/bdeggleston/cassandra/tree/15078-2.2]|
|[3.0|https://github.com/bdeggleston/cassandra/tree/15078-3.0]|
|[3.11|https://github.com/bdeggleston/cassandra/tree/15078-3.11]|
|[trunk|https://github.com/bdeggleston/cassandra/tree/15078-trunk]|

[~ifesdjeen] / [~benedict] would one of you mind taking a look at this? It's 
just adding and using hooks for getting/setting messaging versions. It also 
fixes a minor issue where the {{setup}} method wasn't getting called. These 
changes are in support of a test case for CASSANDRA-15072, feel free to take a 
look and give feedback on that as well. Circle is behind picking up new 
branches, but I'll update with the workflow links once they're available.

> Support cross version messaging in in-jvm upgrade dtests
> 
>
> Key: CASSANDRA-15078
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15078
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Test/dtest
>Reporter: Blake Eggleston
>Assignee: Blake Eggleston
>Priority: Normal
> Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-15072) Incomplete range results during 2.X -> 3.11.4 upgrade

2019-04-04 Thread Blake Eggleston (JIRA)


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

Blake Eggleston updated CASSANDRA-15072:

Test and Documentation Plan: circleci / in jvm upgrade dtests
 Status: Patch Available  (was: Open)

|[3.0|https://github.com/bdeggleston/cassandra/tree/15072-3.0]|
|[3.11|https://github.com/bdeggleston/cassandra/tree/15072-3.11]|

[~beobal] do you have time to review this? It seems to be related to 
CASSANDRA-11087.

A few notes:
 * From what I can tell, returning a row per cell is the right thing to do in 
this case, so I'm using a modified result counter to only going entire 
partitions in this specific case. However, I'm not familiar enough with all the 
dark corners of the 2.1 storage engine to be sure that's appropriate, or won't 
break something else.
 * Doing a point read with the partition key also returns a row per cell, but 
works correctly because the 2.2 coordinator seems to just discard the limit in 
that case.
 * If you're not familiar with the in-jvm dtests yet, and want to run the one 
in this patch, you'll want to run {{ant dtest-jar}} on this branch and [this 
2.2 branch|https://github.com/bdeggleston/cassandra/tree/15078-2.2], and put 
the 2.2 dtest jar in the 3.0 build directory.
 * CircleCI seems to be behind picking up new branches to test, but I'll update 
this with links to the workflows once it catches up.

> Incomplete range results during 2.X -> 3.11.4 upgrade
> -
>
> Key: CASSANDRA-15072
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15072
> Project: Cassandra
>  Issue Type: Bug
>  Components: Legacy/Coordination
>Reporter: Muir Manders
>Assignee: Blake Eggleston
>Priority: High
> Attachments: eriksw-repro.sh
>
>
> Hello
> During an upgrade from 2.1.17 to 3.11.4, our application starting getting 
> back incomplete results for range queries. When all nodes were upgraded 
> (before upgrading sstables), we stopped getting incomplete results. I was 
> able to reproduce it and listed steps below. It seems to require the random 
> partitioner and compact storage to reproduce reliably. It also reproduces 
> coming from 2.1.21 and 2.2.14. You seem to get the bad behavior when an old 
> node is your coordinator and it has to talk to an upgraded replica.
> {noformat}
> ccm create test -v 2.1.17 -n 3
> ccm updateconf 'partitioner: org.apache.cassandra.dht.RandomPartitioner'
> ccm node1 updateconf 'initial_token: 0'
> ccm node2 updateconf 'initial_token: 56713727820156410577229101238628035242'
> ccm node3 updateconf 'initial_token: 113427455640312821154458202477256070484'
> ccm start
> ccm node1 cqlsh < CREATE KEYSPACE test WITH REPLICATION = {'class': 'SimpleStrategy', 
> 'replication_factor': 3};
> CREATE COLUMNFAMILY test.test (
>   id text,
>   foo text,
>   bar text,
>   PRIMARY KEY (id)
> ) WITH COMPACT STORAGE;
> CONSISTENCY QUORUM;
> INSERT INTO test.test (id, foo, bar) values ('1', 'hi', 'there');
> INSERT INTO test.test (id, foo, bar) values ('2', 'hi', 'there');
> SCHEMA
> ccm node1 stop
> ccm node1 setdir -v 3.11.4
> ccm node1 start
> ccm node2 stop
> ccm node2 setdir -v 3.11.4
> ccm node2 start
> # here I use 3.X cqlsh to connect to 2.X node so I can lower the page size (to
> # allow for simpler test setup)
> cqlsh 127.0.0.3 < CONSISTENCY QUORUM;
> PAGING 2;
> select * from test.test;
> QUERY
> {noformat}
> This results in:
> {noformat}
> Page size: 2
>  id | bar   | foo
> +---+-
>   2 | there |  hi
> (1 rows)
> {noformat}
> Running it against the upgraded node (node1):
> {noformat}
> Page size: 2
>  id | bar   | foo
> +---+-
>   2 | there |  hi
>   1 | there |  hi
> (2 rows)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org