Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-36026

Squash adjacent IO entries to a single (larger) entry

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 6.5.0
    • 5.0.0, 5.0.1, 5.1.0, 5.1.1, 5.1.2, 5.1.3, 5.5.0, 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.5, 6.0.0, 6.0.1, 6.0.2, 6.5.0
    • memcached

    Description

      When adding a new entry to the IO vector we may squash the entry with the previous entry and extend the length if the entry to be added is an extension of the previous entry.

      This logic is used in Cookie::sendResponse() (and other places).

      Currently we could end up with iovectors like:

            [0] { .base = 0; .length = 24 }   // header
            [1] { .base = 24; .length = 4 }   // extras
            [2] { .base = 28; .length = 32 }  // key
            [3] { .base = 60; .length = 20 }  // body
      

      Which could be replaced by:

      [0] { .base = 0; .length = 80 }
      

      THis results in a single call to SSL_write which would reduce the number of TLS frames to create

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            trond Trond Norbye
            trond Trond Norbye
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty