[
https://issues.apache.org/jira/browse/CASSANDRA-14782?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16624235#comment-16624235
]
Benedict commented on CASSANDRA-14782:
--------------------------------------
They don't even need to be large mutations, they can be corrupted or
deliberately crafted DoS messages. See the related ticket CASSANDRA-14433. I
agree that a server-side limit makes sense, and at the same time we should
probably be verifying that we are deserializing a valid quantity of data from
the stream before allocating the buffer as well.
> Large mutations can wreak havoc before being rejected by the commit log
> -----------------------------------------------------------------------
>
> Key: CASSANDRA-14782
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14782
> Project: Cassandra
> Issue Type: Bug
> Reporter: Jordan West
> Priority: Major
>
> Large mutations are rejected by the commit log
> (https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/db/commitlog/CommitLog.java#L254)
> but when {{totalSize}} is significantly greater than the
> {{MAX_MUTATION_SIZE}} the damage to the node may already done. Large
> mutations cause large buffers to be allocated and can lead to GC trashing and
> generally bad node health.
> It should be possible to set a size above which the native protocol rejects
> messages without materializing them into objects and passing them downstream.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]