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)

Reply via email to