Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-12630

Ability to restrict size of outbound native protocol frames

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Normal
    • Resolution: Unresolved
    • None
    • Legacy/CQL
    • None

    Description

      native_transport_max_frame_size_in_mb is documented as:

      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.

      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:

      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).

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            andrew.tolbert Andy Tolbert
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: