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

append/prepend leaks item memory on CAS mismatch

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.7.1
    • Fix Version/s: None
    • Component/s: couchbase-bucket
    • Security Level: Public
    • Labels:
      None

      Description

      Chiyoung found one case of memory leak with append/prepend in the 1.7.x ep-engine code. The scenario is...

      If the client app is using CAS with their append/prepend operations, and they have concurrent clients trying to append to the same hot item, then several of the concurrent clients could be "rejected" in that their CAS values are out of date. The rejected CAS-mismatch clients would see a EEXISTS error code if they're binary protocol clients. These requests that have rejected CAS-mismatch will leak the item.

      This should also be reproducible with a single client, where any append operations use a bogus CAS number.

      # Subject Project Status CR V
      For Gerrit Dashboard: &For+MB-4195=message:MB-4195

        Activity

        Hide
        farshid Farshid Ghods (Inactive) added a comment -

        Integrated in github-ep-engine-1-7-1 #142 (See http://qa.hq.northscale.net/job/github-ep-engine-1-7-1/142/)
        MB-4195 Free an item if prepend/append failed due to CAS mismatches

        Chiyoung Seo :
        Files :

        • ep_engine.cc
        Show
        farshid Farshid Ghods (Inactive) added a comment - Integrated in github-ep-engine-1-7-1 #142 (See http://qa.hq.northscale.net/job/github-ep-engine-1-7-1/142/ ) MB-4195 Free an item if prepend/append failed due to CAS mismatches Chiyoung Seo : Files : ep_engine.cc
        Show
        chiyoung Chiyoung Seo added a comment - http://review.couchbase.org/#change,8965

          People

          • Assignee:
            chiyoung Chiyoung Seo
            Reporter:
            steve Steve Yen
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Gerrit Reviews

              There are no open Gerrit changes