[jira] [Created] (CASSANDRA-15210) Streaming with CDC does not honor cdc_enabled

2019-07-15 Thread Andrew Prudhomme (JIRA)
Andrew Prudhomme created CASSANDRA-15210:


 Summary: Streaming with CDC does not honor cdc_enabled
 Key: CASSANDRA-15210
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15210
 Project: Cassandra
  Issue Type: Bug
  Components: Consistency/Streaming, Feature/Change Data Capture
Reporter: Andrew Prudhomme


When SSTables are streamed for a CDC enabled table, the updates are processed 
through the write path to ensure they are made available through the commit 
log. However, currently only the CDC state of the table is checked. Since CDC 
is enabled at both the node and table level, a node with CDC disabled (with 
cdc_enabled: false) will unnecessarily send updates through the write path if 
CDC is enabled on the table. This seems like an oversight.

I'd imagine the fix would be something like

 
{code:java}
-   hasCDC = cfs.metadata.params.cdc;
+   hasCDC = cfs.metadata.params.cdc && DatabaseDescriptor.isCDCEnabled();{code}
in

org.apache.cassandra.db.streaming.CassandraStreamReceiver (4)

org.apache.cassandra.streaming.StreamReceiveTask (3.11)

 



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (CASSANDRA-14948) Backport dropped column checks to 3.11

2019-07-15 Thread Aleksey Yeschenko (JIRA)


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

Aleksey Yeschenko updated CASSANDRA-14948:
--
Reviewers: Aleksey Yeschenko
Fix Version/s: 3.0.x

> Backport dropped column checks to 3.11
> --
>
> Key: CASSANDRA-14948
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14948
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Vincent White
>Assignee: Vincent White
>Priority: Low
> Fix For: 3.0.x, 3.11.x
>
>
> This is a follow on from CASSANDRA-14913 and CASSANDRA-14843 that introduced 
> some fixes to prevent and mitigate data corruption caused by dropping a 
> column then re-adding it with the same name but an incompatible type (e.g. 
> simple int to a complex map<>) or different kind (regular/static). 
> This patch backports the checks that now exist in trunk. This does include 
> adding a column to the dropped_columns table to keep track of static columns 
> like trunk, not sure it we are able to make that change in 3.11.x. 
> Also not sure what our stance on backporting just the isValueCompatibleWith 
> check to 3.0 is. I'd be for it since it prevents recreating a simple column 
> as a map (or vice-versa) which will basically always lead to corruption.
> ||C* 3.11.x||
> |[Patch|https://github.com/vincewhite/cassandra/commit/3986b53b8acaf1d3691f9b35fd098a40667c520f]|



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Comment Edited] (CASSANDRA-15097) Avoid updating unchanged gossip state

2019-07-15 Thread Jay Zhuang (JIRA)


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

Jay Zhuang edited comment on CASSANDRA-15097 at 7/15/19 5:29 PM:
-

Thanks [~samt]. The patch is rebased and tests are passed in circleci:
| Branch | uTest (circleci) |
| [15097-3.0|https://github.com/instagram/cassandra/tree/15097-3.0] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-3.0] |
| [15097-3.11|https://github.com/instagram/cassandra/tree/15097-3.11] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-3.11] |
| [15097-trunk|https://github.com/instagram/cassandra/tree/15097-trunk] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-trunk] |


was (Author: jay.zhuang):
Here is a patch to filter out updated states:
| Branch | uTest (circleci) |
| [15097-3.0|https://github.com/instagram/cassandra/tree/15097-3.0] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-3.0] |
| [15097-3.11|https://github.com/instagram/cassandra/tree/15097-3.11] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-3.11] |
| [15097-trunk|https://github.com/instagram/cassandra/tree/15097-trunk] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-trunk] |

> Avoid updating unchanged gossip state
> -
>
> Key: CASSANDRA-15097
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15097
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Jay Zhuang
>Assignee: Jay Zhuang
>Priority: Normal
>
> The node might get unchanged gossip states, the state might be just updated 
> after sending a GOSSIP_SYN, then it will get the state that is already up to 
> date. If the heartbeat in the GOSSIP_ACK message is updated, it will 
> unnecessary re-apply the same state again, which could be costly like 
> updating token change.
> It's very likely to happen for large cluster when a node startup, as the 
> first gossip message will sync all endpoints tokens, it could take some time 
> (in our case about 200 seconds), during that time, it keeps gossip with other 
> node and get the full token states. Which causes lots of pending gossip tasks.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (CASSANDRA-15097) Avoid updating unchanged gossip state

2019-07-15 Thread Jay Zhuang (JIRA)


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

Jay Zhuang updated CASSANDRA-15097:
---
Status: Review In Progress  (was: Changes Suggested)

> Avoid updating unchanged gossip state
> -
>
> Key: CASSANDRA-15097
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15097
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Jay Zhuang
>Assignee: Jay Zhuang
>Priority: Normal
>
> The node might get unchanged gossip states, the state might be just updated 
> after sending a GOSSIP_SYN, then it will get the state that is already up to 
> date. If the heartbeat in the GOSSIP_ACK message is updated, it will 
> unnecessary re-apply the same state again, which could be costly like 
> updating token change.
> It's very likely to happen for large cluster when a node startup, as the 
> first gossip message will sync all endpoints tokens, it could take some time 
> (in our case about 200 seconds), during that time, it keeps gossip with other 
> node and get the full token states. Which causes lots of pending gossip tasks.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Commented] (CASSANDRA-15097) Avoid updating unchanged gossip state

2019-07-15 Thread Jay Zhuang (JIRA)


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

Jay Zhuang commented on CASSANDRA-15097:


Here is a patch to filter out updated states:
| Branch | uTest (circleci) |
| [15097-3.0|https://github.com/instagram/cassandra/tree/15097-3.0] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-3.0] |
| [15097-3.11|https://github.com/instagram/cassandra/tree/15097-3.11] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-3.11] |
| [15097-trunk|https://github.com/instagram/cassandra/tree/15097-trunk] | 
[pass|https://circleci.com/gh/Instagram/cassandra/tree/15097-trunk] |

> Avoid updating unchanged gossip state
> -
>
> Key: CASSANDRA-15097
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15097
> Project: Cassandra
>  Issue Type: Bug
>  Components: Cluster/Gossip
>Reporter: Jay Zhuang
>Assignee: Jay Zhuang
>Priority: Normal
>
> The node might get unchanged gossip states, the state might be just updated 
> after sending a GOSSIP_SYN, then it will get the state that is already up to 
> date. If the heartbeat in the GOSSIP_ACK message is updated, it will 
> unnecessary re-apply the same state again, which could be costly like 
> updating token change.
> It's very likely to happen for large cluster when a node startup, as the 
> first gossip message will sync all endpoints tokens, it could take some time 
> (in our case about 200 seconds), during that time, it keeps gossip with other 
> node and get the full token states. Which causes lots of pending gossip tasks.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (CASSANDRA-15202) Deserialize merkle trees off-heap

2019-07-15 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15202:
-
Status: Changes Suggested  (was: Review In Progress)

> Deserialize merkle trees off-heap
> -
>
> Key: CASSANDRA-15202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15202
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Consistency/Repair
>Reporter: Jeff Jirsa
>Assignee: Aleksey Yeschenko
>Priority: Normal
> Fix For: 4.0
>
> Attachments: offheap-mts-gc.png
>
>
> CASSANDRA-14096 made the first step to address the heavy on-heap footprint of 
> merkle trees on repair coordinators - by reducing the time frame over which 
> they are referenced, and by more intelligently limiting depth of the trees 
> based on available heap size.
> That alone improves GC profile and prevents OOMs, but doesn’t address the 
> issue entirely. The coordinator still must hold all the trees on heap at once 
> until it’s done diffing them with each other, which has a negative effect, 
> and, by reducing depth, we lose precision and thus cause more overstreaming 
> than before.
> One way to improve the situation further is to build on CASSANDRA-14096 and 
> move the trees entirely off-heap. This is a trivial endeavor, given that we 
> are dealing with what should be full binary trees (though in practice aren’t 
> quite, yet). This JIRA makes the first step towards there - by moving just 
> deserialisation off-heap, leaving construction on the replicas on-heap still.
> Additionally, the proposed patch fixes the issue of replica coordinators 
> sending merkle trees to itself over loopback, costing us a ser/deser loop per 
> tree.
> Please note that there is more room for improvement here, and depending on 
> 4.0 timeline those improvements may or may not land in time. To name a few:
> - with some minor modifications to init(), we can make sure that no matter 
> the range, the tree is *always* perfectly full; this would allow us to get 
> rid of child pointers in inner nodes, as child node addresses will be 
> trivially calculatable given fixed size of nodes
> - the trees can be easily constructed off-heap so long as you run init() to 
> pre-size the tree to find out how large a buffer you need
> - on-wire format doesn’t need to stream inner nodes, only leaves, and, 
> really, only the hashes of the leaves



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (CASSANDRA-15202) Deserialize merkle trees off-heap

2019-07-15 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15202:
-
Status: Review In Progress  (was: Patch Available)

> Deserialize merkle trees off-heap
> -
>
> Key: CASSANDRA-15202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15202
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Consistency/Repair
>Reporter: Jeff Jirsa
>Assignee: Aleksey Yeschenko
>Priority: Normal
> Fix For: 4.0
>
> Attachments: offheap-mts-gc.png
>
>
> CASSANDRA-14096 made the first step to address the heavy on-heap footprint of 
> merkle trees on repair coordinators - by reducing the time frame over which 
> they are referenced, and by more intelligently limiting depth of the trees 
> based on available heap size.
> That alone improves GC profile and prevents OOMs, but doesn’t address the 
> issue entirely. The coordinator still must hold all the trees on heap at once 
> until it’s done diffing them with each other, which has a negative effect, 
> and, by reducing depth, we lose precision and thus cause more overstreaming 
> than before.
> One way to improve the situation further is to build on CASSANDRA-14096 and 
> move the trees entirely off-heap. This is a trivial endeavor, given that we 
> are dealing with what should be full binary trees (though in practice aren’t 
> quite, yet). This JIRA makes the first step towards there - by moving just 
> deserialisation off-heap, leaving construction on the replicas on-heap still.
> Additionally, the proposed patch fixes the issue of replica coordinators 
> sending merkle trees to itself over loopback, costing us a ser/deser loop per 
> tree.
> Please note that there is more room for improvement here, and depending on 
> 4.0 timeline those improvements may or may not land in time. To name a few:
> - with some minor modifications to init(), we can make sure that no matter 
> the range, the tree is *always* perfectly full; this would allow us to get 
> rid of child pointers in inner nodes, as child node addresses will be 
> trivially calculatable given fixed size of nodes
> - the trees can be easily constructed off-heap so long as you run init() to 
> pre-size the tree to find out how large a buffer you need
> - on-wire format doesn’t need to stream inner nodes, only leaves, and, 
> really, only the hashes of the leaves



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Commented] (CASSANDRA-15202) Deserialize merkle trees off-heap

2019-07-15 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15202:
--

LGTM.  Some minor suggestions:


* Use {{ByteOrder.LITTLE_ENDIAN}} for off heap?
* {{RandomPartitioner.MAXIMUM_TOKEN_SIZE}}: use {{(bitLength + 7) / 8}}?
* {{differenceHelper}}: replace int return values with explicit Enum?
* {{OffHeapNode.attachRef}}: use {{null}} referent?  Should probably (perhaps 
another time) introduce a special variant for these pure leak-tracking use 
cases.
* {{OnHeapLeaf.deserialize}}: verify {{in.readByte() == HASH_SIZE}}?
* Extract shared method {{OffHeapInner.child}} from {{left}} and {{right}}?
* Extract shared method for off heap disabled warning?
* {{prefer_offheap_merkle_trees}} - why prefer?
* {{FBUtilities.xor}} and {{FBUtilities.xorOntoLeft}} - move to {{MerkleTree}}?
* Missing line break: {{MerkleTree.release}}, {{OffHeapInner.maxOffHeapSize}}?
* Rename test-only methods to {{unsafeMethodName}} and disappear to bottom of 
class?
* "TODO: reset computed flag on OnHeapInners" - simply ignore/remove TODO if 
renamed to {{unsafeInvalidateHelper}}?


> Deserialize merkle trees off-heap
> -
>
> Key: CASSANDRA-15202
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15202
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Consistency/Repair
>Reporter: Jeff Jirsa
>Assignee: Aleksey Yeschenko
>Priority: Normal
> Fix For: 4.0
>
> Attachments: offheap-mts-gc.png
>
>
> CASSANDRA-14096 made the first step to address the heavy on-heap footprint of 
> merkle trees on repair coordinators - by reducing the time frame over which 
> they are referenced, and by more intelligently limiting depth of the trees 
> based on available heap size.
> That alone improves GC profile and prevents OOMs, but doesn’t address the 
> issue entirely. The coordinator still must hold all the trees on heap at once 
> until it’s done diffing them with each other, which has a negative effect, 
> and, by reducing depth, we lose precision and thus cause more overstreaming 
> than before.
> One way to improve the situation further is to build on CASSANDRA-14096 and 
> move the trees entirely off-heap. This is a trivial endeavor, given that we 
> are dealing with what should be full binary trees (though in practice aren’t 
> quite, yet). This JIRA makes the first step towards there - by moving just 
> deserialisation off-heap, leaving construction on the replicas on-heap still.
> Additionally, the proposed patch fixes the issue of replica coordinators 
> sending merkle trees to itself over loopback, costing us a ser/deser loop per 
> tree.
> Please note that there is more room for improvement here, and depending on 
> 4.0 timeline those improvements may or may not land in time. To name a few:
> - with some minor modifications to init(), we can make sure that no matter 
> the range, the tree is *always* perfectly full; this would allow us to get 
> rid of child pointers in inner nodes, as child node addresses will be 
> trivially calculatable given fixed size of nodes
> - the trees can be easily constructed off-heap so long as you run init() to 
> pre-size the tree to find out how large a buffer you need
> - on-wire format doesn’t need to stream inner nodes, only leaves, and, 
> really, only the hashes of the leaves



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Commented] (CASSANDRA-15013) Prevent client requests from blocking on executor task queue

2019-07-15 Thread Sumanth Pasupuleti (JIRA)


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

Sumanth Pasupuleti commented on CASSANDRA-15013:


Thanks for the feedback and review [~benedict]. I will incorporate this 
feedback into my future commits and submit a patch for the documentation if 
necessary.

> Prevent client requests from blocking on executor task queue
> 
>
> Key: CASSANDRA-15013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.19, 3.11.5, 4.0
>
> Attachments: 15013-3.0.txt, 15013-3.11.txt, 15013-trunk.txt, 
> BlockedEpollEventLoopFromHeapDump.png, 
> BlockedEpollEventLoopFromThreadDump.png, RequestExecutorQueueFull.png, heap 
> dump showing each ImmediateFlusher taking upto 600MB.png, 
> perftest2_15013_base_flamegraph.svg, perftest2_15013_patch_flamegraph.svg, 
> perftest2_blocked_threadpool.png, perftest2_cpu_usage.png, 
> perftest2_heap.png, perftest2_read_latency_99th.png, 
> perftest2_read_latency_avg.png, perftest2_readops.png, 
> perftest2_write_latency_99th.png, perftest2_write_latency_avg.png, 
> perftest2_writeops.png, perftest_blockedthreads.png, 
> perftest_connections_count.png, perftest_cpu_usage.png, 
> perftest_heap_usage.png, perftest_readlatency_99th.png, 
> perftest_readlatency_avg.png, perftest_readops.png, 
> perftest_writelatency_99th.png, perftest_writelatency_avg.png, 
> perftest_writeops.png
>
>
> This is a follow-up ticket out of CASSANDRA-14855, to make the Flusher queue 
> bounded, since, in the current state, items get added to the queue without 
> any checks on queue size, nor with any checks on netty outbound buffer to 
> check the isWritable state.
> We are seeing this issue hit our production 3.0 clusters quite often.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[cassandra] branch trunk updated (149caf0 -> 8a04204)

2019-07-15 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from 149caf0  CassandraNetworkAuthorizer gets login privilege from 
RolesCache
 add 5a03898  Prevent client requests from blocking on executor task queue
 add f5fe483  Merge branch 'cassandra-3.0' into cassandra-3.11
 new 8a04204  Merge branch 'cassandra-3.11' into trunk

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt|   1 +
 doc/native_protocol_v4.spec|   4 +
 src/java/org/apache/cassandra/config/Config.java   |   2 +
 .../cassandra/config/DatabaseDescriptor.java   |  30 +++
 .../apache/cassandra/metrics/ClientMetrics.java|  14 ++
 .../org/apache/cassandra/net/ResourceLimits.java   |  70 --
 .../cassandra/service/NativeTransportService.java  |  17 +-
 .../org/apache/cassandra/transport/Connection.java |  11 +
 src/java/org/apache/cassandra/transport/Frame.java |   8 +-
 .../org/apache/cassandra/transport/Message.java| 146 +++-
 .../transport/RequestThreadPoolExecutor.java   |  96 
 .../org/apache/cassandra/transport/Server.java |  64 +++--
 .../apache/cassandra/transport/SimpleClient.java   |   8 +
 .../transport/messages/StartupMessage.java |   3 +
 test/unit/org/apache/cassandra/cql3/CQLTester.java |   9 +-
 .../service/NativeTransportServiceTest.java|   3 +-
 .../InflightRequestPayloadTrackerTest.java | 258 +
 17 files changed, 592 insertions(+), 152 deletions(-)
 delete mode 100644 
src/java/org/apache/cassandra/transport/RequestThreadPoolExecutor.java
 create mode 100644 
test/unit/org/apache/cassandra/transport/InflightRequestPayloadTrackerTest.java


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



[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk

2019-07-15 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit 8a04204c10eafc2c1051a336d82211899889e276
Merge: 149caf0 f5fe483
Author: Benedict Elliott Smith 
AuthorDate: Mon Jul 15 15:13:53 2019 +0100

Merge branch 'cassandra-3.11' into trunk

 CHANGES.txt|   1 +
 doc/native_protocol_v4.spec|   4 +
 src/java/org/apache/cassandra/config/Config.java   |   2 +
 .../cassandra/config/DatabaseDescriptor.java   |  30 +++
 .../apache/cassandra/metrics/ClientMetrics.java|  14 ++
 .../org/apache/cassandra/net/ResourceLimits.java   |  70 --
 .../cassandra/service/NativeTransportService.java  |  17 +-
 .../org/apache/cassandra/transport/Connection.java |  11 +
 src/java/org/apache/cassandra/transport/Frame.java |   8 +-
 .../org/apache/cassandra/transport/Message.java| 146 +++-
 .../transport/RequestThreadPoolExecutor.java   |  96 
 .../org/apache/cassandra/transport/Server.java |  64 +++--
 .../apache/cassandra/transport/SimpleClient.java   |   8 +
 .../transport/messages/StartupMessage.java |   3 +
 test/unit/org/apache/cassandra/cql3/CQLTester.java |   9 +-
 .../service/NativeTransportServiceTest.java|   3 +-
 .../InflightRequestPayloadTrackerTest.java | 258 +
 17 files changed, 592 insertions(+), 152 deletions(-)

diff --cc src/java/org/apache/cassandra/config/Config.java
index 6b487fe,1d79e2a..34a5ce8
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@@ -182,11 -160,13 +182,13 @@@ public class Confi
  public int native_transport_max_frame_size_in_mb = 256;
  public volatile long native_transport_max_concurrent_connections = -1L;
  public volatile long native_transport_max_concurrent_connections_per_ip = 
-1L;
 -public boolean native_transport_flush_in_batches_legacy = true;
 +public boolean native_transport_flush_in_batches_legacy = false;
 +public volatile boolean native_transport_allow_older_protocols = true;
 +public int native_transport_frame_block_size_in_kb = 32;
+ public volatile long 
native_transport_max_concurrent_requests_in_bytes_per_ip = -1L;
+ public volatile long native_transport_max_concurrent_requests_in_bytes = 
-1L;
  
  
 -@Deprecated
 -public int thrift_max_message_length_in_mb = 16;
  /**
   * Max size of values in SSTables, in MegaBytes.
   * Default is the same as the native protocol frame limit: 256Mb.
diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index bb92716,75296b6..0166c5f
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@@ -2010,31 -1849,36 +2020,51 @@@ public class DatabaseDescripto
  return conf.native_transport_flush_in_batches_legacy;
  }
  
 -public static double getCommitLogSyncBatchWindow()
 +public static boolean getNativeTransportAllowOlderProtocols()
  {
 -return conf.commitlog_sync_batch_window_in_ms;
 +return conf.native_transport_allow_older_protocols;
  }
  
 -public static void setCommitLogSyncBatchWindow(double windowMillis)
 +public static void setNativeTransportAllowOlderProtocols(boolean 
isEnabled)
  {
 -conf.commitlog_sync_batch_window_in_ms = windowMillis;
 +conf.native_transport_allow_older_protocols = isEnabled;
 +}
 +
 +public static int getNativeTransportFrameBlockSize()
 +{
 +return conf.native_transport_frame_block_size_in_kb * 1024;
 +}
 +
 +public static double getCommitLogSyncGroupWindow()
 +{
 +return conf.commitlog_sync_group_window_in_ms;
 +}
 +
 +public static void setCommitLogSyncGroupWindow(double windowMillis)
 +{
 +conf.commitlog_sync_group_window_in_ms = windowMillis;
  }
  
+ public static long getNativeTransportMaxConcurrentRequestsInBytesPerIp()
+ {
+ return conf.native_transport_max_concurrent_requests_in_bytes_per_ip;
+ }
+ 
+ public static void 
setNativeTransportMaxConcurrentRequestsInBytesPerIp(long 
maxConcurrentRequestsInBytes)
+ {
+ conf.native_transport_max_concurrent_requests_in_bytes_per_ip = 
maxConcurrentRequestsInBytes;
+ }
+ 
+ public static long getNativeTransportMaxConcurrentRequestsInBytes()
+ {
+ return conf.native_transport_max_concurrent_requests_in_bytes;
+ }
+ 
+ public static void setNativeTransportMaxConcurrentRequestsInBytes(long 
maxConcurrentRequestsInBytes)
+ {
+ conf.native_transport_max_concurrent_requests_in_bytes = 
maxConcurrentRequestsInBytes;
+ }
+ 
  public static int getCommitLogSyncPeriod()
  {
  return conf.commitlog_sync_period_in_ms;
diff --cc 

[jira] [Commented] (CASSANDRA-15013) Prevent client requests from blocking on executor task queue

2019-07-15 Thread Benedict (JIRA)


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

Benedict commented on CASSANDRA-15013:
--

Thanks!

Great work, I've merged it up.  

For future reference, it's super helpful if you can also modify CHANGES.txt, to 
avoid unnecessary rebasing and merging.  If you can also stick to the commit 
message format (that I'm unsure if we've codified anywhere, and we should 
probably rectify), it also makes merging easier:

"




patch by ; reviewed by  for CASSANDRA-#
"

> Prevent client requests from blocking on executor task queue
> 
>
> Key: CASSANDRA-15013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.19, 3.11.5, 4.0
>
> Attachments: 15013-3.0.txt, 15013-3.11.txt, 15013-trunk.txt, 
> BlockedEpollEventLoopFromHeapDump.png, 
> BlockedEpollEventLoopFromThreadDump.png, RequestExecutorQueueFull.png, heap 
> dump showing each ImmediateFlusher taking upto 600MB.png, 
> perftest2_15013_base_flamegraph.svg, perftest2_15013_patch_flamegraph.svg, 
> perftest2_blocked_threadpool.png, perftest2_cpu_usage.png, 
> perftest2_heap.png, perftest2_read_latency_99th.png, 
> perftest2_read_latency_avg.png, perftest2_readops.png, 
> perftest2_write_latency_99th.png, perftest2_write_latency_avg.png, 
> perftest2_writeops.png, perftest_blockedthreads.png, 
> perftest_connections_count.png, perftest_cpu_usage.png, 
> perftest_heap_usage.png, perftest_readlatency_99th.png, 
> perftest_readlatency_avg.png, perftest_readops.png, 
> perftest_writelatency_99th.png, perftest_writelatency_avg.png, 
> perftest_writeops.png
>
>
> This is a follow-up ticket out of CASSANDRA-14855, to make the Flusher queue 
> bounded, since, in the current state, items get added to the queue without 
> any checks on queue size, nor with any checks on netty outbound buffer to 
> check the isWritable state.
> We are seeing this issue hit our production 3.0 clusters quite often.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Updated] (CASSANDRA-15013) Prevent client requests from blocking on executor task queue

2019-07-15 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15013:
-
  Fix Version/s: (was: 3.11.x)
 (was: 3.0.x)
 3.11.5
 3.0.19
Source Control Link: 
[5a03898c680ed6ada63901e8a4b278ccc8070717|https://github.com/apache/cassandra/tree/5a03898c680ed6ada63901e8a4b278ccc8070717]
  Since Version: 2.0.0
 Status: Resolved  (was: Ready to Commit)
 Resolution: Fixed

> Prevent client requests from blocking on executor task queue
> 
>
> Key: CASSANDRA-15013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 3.0.19, 3.11.5, 4.0
>
> Attachments: 15013-3.0.txt, 15013-3.11.txt, 15013-trunk.txt, 
> BlockedEpollEventLoopFromHeapDump.png, 
> BlockedEpollEventLoopFromThreadDump.png, RequestExecutorQueueFull.png, heap 
> dump showing each ImmediateFlusher taking upto 600MB.png, 
> perftest2_15013_base_flamegraph.svg, perftest2_15013_patch_flamegraph.svg, 
> perftest2_blocked_threadpool.png, perftest2_cpu_usage.png, 
> perftest2_heap.png, perftest2_read_latency_99th.png, 
> perftest2_read_latency_avg.png, perftest2_readops.png, 
> perftest2_write_latency_99th.png, perftest2_write_latency_avg.png, 
> perftest2_writeops.png, perftest_blockedthreads.png, 
> perftest_connections_count.png, perftest_cpu_usage.png, 
> perftest_heap_usage.png, perftest_readlatency_99th.png, 
> perftest_readlatency_avg.png, perftest_readops.png, 
> perftest_writelatency_99th.png, perftest_writelatency_avg.png, 
> perftest_writeops.png
>
>
> This is a follow-up ticket out of CASSANDRA-14855, to make the Flusher queue 
> bounded, since, in the current state, items get added to the queue without 
> any checks on queue size, nor with any checks on netty outbound buffer to 
> check the isWritable state.
> We are seeing this issue hit our production 3.0 clusters quite often.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[cassandra] branch cassandra-3.0 updated: Prevent client requests from blocking on executor task queue

2019-07-15 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a commit to branch cassandra-3.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-3.0 by this push:
 new 5a03898  Prevent client requests from blocking on executor task queue
5a03898 is described below

commit 5a03898c680ed6ada63901e8a4b278ccc8070717
Author: sumanthpasupuleti 
AuthorDate: Mon Mar 25 08:06:13 2019 -0700

Prevent client requests from blocking on executor task queue

patch by Sumanth Pasupuleti, reviewed by Benedict for CASSANDRA-15013
---
 CHANGES.txt|   1 +
 doc/native_protocol_v4.spec|   4 +
 src/java/org/apache/cassandra/config/Config.java   |   3 +
 .../cassandra/config/DatabaseDescriptor.java   |  31 +++
 .../apache/cassandra/metrics/ClientMetrics.java|  56 -
 .../org/apache/cassandra/net/ResourceLimits.java   | 245 
 .../cassandra/service/NativeTransportService.java  |  26 +--
 .../org/apache/cassandra/transport/Connection.java |  11 +
 src/java/org/apache/cassandra/transport/Frame.java |  12 +-
 .../org/apache/cassandra/transport/Message.java| 146 +++-
 .../transport/RequestThreadPoolExecutor.java   |  96 
 .../org/apache/cassandra/transport/Server.java |  64 --
 .../apache/cassandra/transport/SimpleClient.java   |  10 +
 .../transport/messages/StartupMessage.java |   3 +
 test/unit/org/apache/cassandra/cql3/CQLTester.java |   2 +
 .../service/NativeTransportServiceTest.java|   3 +-
 .../InflightRequestPayloadTrackerTest.java | 248 +
 17 files changed, 811 insertions(+), 150 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index c8bd30d..68d309c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.19
+ * Prevent client requests from blocking on executor task queue 
(CASSANDRA-15013)
  * Toughen up column drop/recreate type validations (CASSANDRA-15204)
  * LegacyLayout should handle paging states that cross a collection column 
(CASSANDRA-15201)
  * Prevent RuntimeException when username or password is empty/null 
(CASSANDRA-15198)
diff --git a/doc/native_protocol_v4.spec b/doc/native_protocol_v4.spec
index 02802a7..8beb77b 100644
--- a/doc/native_protocol_v4.spec
+++ b/doc/native_protocol_v4.spec
@@ -275,6 +275,9 @@ Table of Contents
   mode. This mode will make all Thrift and Compact Tables to be exposed as 
if
   they were CQL Tables. This is optional; if not specified, the option will
   not be used.
+- "THROW_ON_OVERLOAD": In case of server overloaded with too many 
requests, by default the server puts
+back pressure on the client connection. Instead, the server can 
send an OverloadedException error message back to
+the client if this option is set to true.
 
 
 4.1.2. AUTH_RESPONSE
@@ -1175,3 +1178,4 @@ Table of Contents
   * The  returned in the v4 protocol is not compatible with the 
v3
 protocol. In other words, a  returned by a node using 
protocol v4
 should not be used to query a node using protocol v3 (and vice-versa).
+  * Added THROW_ON_OVERLOAD startup option (Section 4.1.1).
diff --git a/src/java/org/apache/cassandra/config/Config.java 
b/src/java/org/apache/cassandra/config/Config.java
index de158bd..830d3e1 100644
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@ -154,6 +154,9 @@ public class Config
 public volatile Long native_transport_max_concurrent_connections = -1L;
 public volatile Long native_transport_max_concurrent_connections_per_ip = 
-1L;
 public boolean native_transport_flush_in_batches_legacy = true;
+public volatile long 
native_transport_max_concurrent_requests_in_bytes_per_ip = -1L;
+public volatile long native_transport_max_concurrent_requests_in_bytes = 
-1L;
+
 
 @Deprecated
 public Integer thrift_max_message_length_in_mb = 16;
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java 
b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index db55c20..8417c39 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -470,6 +470,17 @@ public class DatabaseDescriptor
 {
 throw new ConfigurationException("Missing endpoint_snitch 
directive", false);
 }
+
+if (conf.native_transport_max_concurrent_requests_in_bytes <= 0)
+{
+conf.native_transport_max_concurrent_requests_in_bytes = 
Runtime.getRuntime().maxMemory() / 10;
+}
+
+if (conf.native_transport_max_concurrent_requests_in_bytes_per_ip <= 0)
+{
+conf.native_transport_max_concurrent_requests_in_bytes_per_ip = 
Runtime.getRuntime().maxMemory() / 40;
+}
+
 snitch = 

[cassandra] branch cassandra-3.11 updated (ecdbef3 -> f5fe483)

2019-07-15 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a change to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git.


from ecdbef3  Merge branch 'cassandra-3.0' into cassandra-3.11
 new 5a03898  Prevent client requests from blocking on executor task queue
 new f5fe483  Merge branch 'cassandra-3.0' into cassandra-3.11

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGES.txt|   1 +
 doc/native_protocol_v4.spec|   4 +
 src/java/org/apache/cassandra/config/Config.java   |   3 +
 .../cassandra/config/DatabaseDescriptor.java   |  30 +++
 .../org/apache/cassandra/metrics/AuthMetrics.java  |   4 +-
 .../apache/cassandra/metrics/ClientMetrics.java|  52 -
 .../org/apache/cassandra/net/ResourceLimits.java   | 245 
 .../cassandra/service/NativeTransportService.java  |  24 +-
 .../org/apache/cassandra/transport/Connection.java |  11 +
 src/java/org/apache/cassandra/transport/Frame.java |   8 +-
 .../org/apache/cassandra/transport/Message.java| 146 +++-
 .../transport/RequestThreadPoolExecutor.java   |  96 
 .../org/apache/cassandra/transport/Server.java |  64 --
 .../apache/cassandra/transport/SimpleClient.java   |  10 +
 .../transport/messages/StartupMessage.java |   3 +
 test/unit/org/apache/cassandra/cql3/CQLTester.java |   2 +
 .../service/NativeTransportServiceTest.java|   3 +-
 .../InflightRequestPayloadTrackerTest.java | 248 +
 18 files changed, 805 insertions(+), 149 deletions(-)
 create mode 100644 src/java/org/apache/cassandra/net/ResourceLimits.java
 delete mode 100644 
src/java/org/apache/cassandra/transport/RequestThreadPoolExecutor.java
 create mode 100644 
test/unit/org/apache/cassandra/transport/InflightRequestPayloadTrackerTest.java


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



[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11

2019-07-15 Thread benedict
This is an automated email from the ASF dual-hosted git repository.

benedict pushed a commit to branch cassandra-3.11
in repository https://gitbox.apache.org/repos/asf/cassandra.git

commit f5fe483d0d8f967f3c52a60178df3ea7d43443be
Merge: ecdbef3 5a03898
Author: Benedict Elliott Smith 
AuthorDate: Mon Jul 15 14:41:22 2019 +0100

Merge branch 'cassandra-3.0' into cassandra-3.11

 CHANGES.txt|   1 +
 doc/native_protocol_v4.spec|   4 +
 src/java/org/apache/cassandra/config/Config.java   |   3 +
 .../cassandra/config/DatabaseDescriptor.java   |  30 +++
 .../org/apache/cassandra/metrics/AuthMetrics.java  |   4 +-
 .../apache/cassandra/metrics/ClientMetrics.java|  52 -
 .../org/apache/cassandra/net/ResourceLimits.java   | 245 
 .../cassandra/service/NativeTransportService.java  |  24 +-
 .../org/apache/cassandra/transport/Connection.java |  11 +
 src/java/org/apache/cassandra/transport/Frame.java |   8 +-
 .../org/apache/cassandra/transport/Message.java| 146 +++-
 .../transport/RequestThreadPoolExecutor.java   |  96 
 .../org/apache/cassandra/transport/Server.java |  64 --
 .../apache/cassandra/transport/SimpleClient.java   |  10 +
 .../transport/messages/StartupMessage.java |   3 +
 test/unit/org/apache/cassandra/cql3/CQLTester.java |   2 +
 .../service/NativeTransportServiceTest.java|   3 +-
 .../InflightRequestPayloadTrackerTest.java | 248 +
 18 files changed, 805 insertions(+), 149 deletions(-)

diff --cc CHANGES.txt
index 406246e,68d309c..7f5d52a
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,8 -1,5 +1,9 @@@
 -3.0.19
 +3.11.5
 + * Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config 
(CASSANDRA-14305)
 + * Fixed nodetool cfstats printing index name twice (CASSANDRA-14903)
 + * Add flag to disable SASI indexes, and warnings on creation 
(CASSANDRA-14866)
 +Merged from 3.0:
+  * Prevent client requests from blocking on executor task queue 
(CASSANDRA-15013)
   * Toughen up column drop/recreate type validations (CASSANDRA-15204)
   * LegacyLayout should handle paging states that cross a collection column 
(CASSANDRA-15201)
   * Prevent RuntimeException when username or password is empty/null 
(CASSANDRA-15198)
diff --cc src/java/org/apache/cassandra/config/Config.java
index 1976b95,830d3e1..1d79e2a
--- a/src/java/org/apache/cassandra/config/Config.java
+++ b/src/java/org/apache/cassandra/config/Config.java
@@@ -137,33 -130,36 +137,36 @@@ public class Confi
  
  /* intentionally left set to true, despite being set to false in stock 
2.2 cassandra.yaml
 we don't want to surprise Thrift users who have the setting blank in 
the yaml during 2.1->2.2 upgrade */
 -public Boolean start_rpc = true;
 +public boolean start_rpc = true;
  public String rpc_address;
  public String rpc_interface;
 -public Boolean rpc_interface_prefer_ipv6 = false;
 +public boolean rpc_interface_prefer_ipv6 = false;
  public String broadcast_rpc_address;
 -public Integer rpc_port = 9160;
 -public Integer rpc_listen_backlog = 50;
 +public int rpc_port = 9160;
 +public int rpc_listen_backlog = 50;
  public String rpc_server_type = "sync";
 -public Boolean rpc_keepalive = true;
 -public Integer rpc_min_threads = 16;
 -public Integer rpc_max_threads = Integer.MAX_VALUE;
 +public boolean rpc_keepalive = true;
 +public int rpc_min_threads = 16;
 +public int rpc_max_threads = Integer.MAX_VALUE;
  public Integer rpc_send_buff_size_in_bytes;
  public Integer rpc_recv_buff_size_in_bytes;
 -public Integer internode_send_buff_size_in_bytes;
 -public Integer internode_recv_buff_size_in_bytes;
 +public int internode_send_buff_size_in_bytes = 0;
 +public int internode_recv_buff_size_in_bytes = 0;
  
 -public Boolean start_native_transport = false;
 -public Integer native_transport_port = 9042;
 +public boolean start_native_transport = false;
 +public int native_transport_port = 9042;
  public Integer native_transport_port_ssl = null;
 -public Integer native_transport_max_threads = 128;
 -public Integer native_transport_max_frame_size_in_mb = 256;
 -public volatile Long native_transport_max_concurrent_connections = -1L;
 -public volatile Long native_transport_max_concurrent_connections_per_ip = 
-1L;
 +public int native_transport_max_threads = 128;
 +public int native_transport_max_frame_size_in_mb = 256;
 +public volatile long native_transport_max_concurrent_connections = -1L;
 +public volatile long native_transport_max_concurrent_connections_per_ip = 
-1L;
  public boolean native_transport_flush_in_batches_legacy = true;
+ public volatile long 
native_transport_max_concurrent_requests_in_bytes_per_ip = -1L;
+ public volatile long native_transport_max_concurrent_requests_in_bytes = 
-1L;
+ 
  

[jira] [Updated] (CASSANDRA-15013) Prevent client requests from blocking on executor task queue

2019-07-15 Thread Benedict (JIRA)


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

Benedict updated CASSANDRA-15013:
-
Summary: Prevent client requests from blocking on executor task queue  
(was: Message Flusher queue can grow unbounded, potentially running JVM out of 
memory)

> Prevent client requests from blocking on executor task queue
> 
>
> Key: CASSANDRA-15013
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15013
> Project: Cassandra
>  Issue Type: Bug
>  Components: Messaging/Client
>Reporter: Sumanth Pasupuleti
>Assignee: Sumanth Pasupuleti
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 4.0, 3.0.x, 3.11.x
>
> Attachments: 15013-3.0.txt, 15013-3.11.txt, 15013-trunk.txt, 
> BlockedEpollEventLoopFromHeapDump.png, 
> BlockedEpollEventLoopFromThreadDump.png, RequestExecutorQueueFull.png, heap 
> dump showing each ImmediateFlusher taking upto 600MB.png, 
> perftest2_15013_base_flamegraph.svg, perftest2_15013_patch_flamegraph.svg, 
> perftest2_blocked_threadpool.png, perftest2_cpu_usage.png, 
> perftest2_heap.png, perftest2_read_latency_99th.png, 
> perftest2_read_latency_avg.png, perftest2_readops.png, 
> perftest2_write_latency_99th.png, perftest2_write_latency_avg.png, 
> perftest2_writeops.png, perftest_blockedthreads.png, 
> perftest_connections_count.png, perftest_cpu_usage.png, 
> perftest_heap_usage.png, perftest_readlatency_99th.png, 
> perftest_readlatency_avg.png, perftest_readops.png, 
> perftest_writelatency_99th.png, perftest_writelatency_avg.png, 
> perftest_writeops.png
>
>
> This is a follow-up ticket out of CASSANDRA-14855, to make the Flusher queue 
> bounded, since, in the current state, items get added to the queue without 
> any checks on queue size, nor with any checks on netty outbound buffer to 
> check the isWritable state.
> We are seeing this issue hit our production 3.0 clusters quite often.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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



[jira] [Created] (CASSANDRA-15209) nodetool tablestats indexes name is written twice

2019-07-15 Thread Lapo Luchini (JIRA)
Lapo Luchini created CASSANDRA-15209:


 Summary: nodetool tablestats indexes name is written twice
 Key: CASSANDRA-15209
 URL: https://issues.apache.org/jira/browse/CASSANDRA-15209
 Project: Cassandra
  Issue Type: Bug
  Components: Tool/nodetool
Reporter: Lapo Luchini


Tables names are printed OK, but index names always seems to be printed twice 
in a row:
{code}
# nodetool tablestats -H | fgrep '(index)'
  Table (index): fs_content.fsbyhashfs_content.fsbyhash
  Table (index): documents.document_statusdocuments.document_status
  Table (index): documents.document_statusdocuments.document_status
  Table (index): certificates.certificates_cfcertificates.certificates_cf
  Table (index): documents.document_id_dossierdocuments.document_id_dossier
{code}



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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