Andy Tolbert created CASSANDRA-12630:
----------------------------------------
Summary: Ability to restrict size of outbound native protocol
frames
Key: CASSANDRA-12630
URL: https://issues.apache.org/jira/browse/CASSANDRA-12630
Project: Cassandra
Issue Type: Improvement
Reporter: Andy Tolbert
{{native_transport_max_frame_size_in_mb}} [is documented
as|http://cassandra.apache.org/doc/latest/configuration/cassandra_config_file.html?highlight=native_transport_max_frame_size_in_mb#native-transport-max-frame-size-in-mb]:
{quote}
The maximum size of allowed frame. Frame (requests) larger than this will be
rejected as invalid. The default is 256MB. If you’re changing this parameter,
you may want to adjust max_value_size_in_mb accordingly.
{quote}
It wasn't immediately clear to me (and others) that this value is only used for
validating inbound frames coming from a client and is not used for frames
generated by the server to be sent outbound. Although the {{Frame (requests)}}
part indicates that this is only for inbound messages.
The java driver will currently fail any frames larger than 256mb and the native
protocol spec claims:
{quote}
2.5. length
A 4 byte integer representing the length of the body of the frame (note:
currently a frame is limited to 256MB in length).
{quote}
But it is currently possible for C* to generate frames larger than this and
send them out. It would to nice if C* could restrict this behavior, either by
native_transport_max_frame_size_in_mb or some other config, and prevent larger
payloads from being sent by the server.
More discussion @
[JAVA-1292|https://datastax-oss.atlassian.net/browse/JAVA-1292]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)