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

setting a new value for an expired item before the pager cleans up the value from memory causes memory leak

    Details

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

      Description

      this can cause a huge memory spike
      example

      while True:
      mc.set(key,1,0,..)

      we do not overwrite the value in kv table because expiration is less than 3 so for every set we end up creating a new value in the kv table

      this is not a real use case but is seen very often while testing ( e.g a script sent by one of the customers was causing this issue)

      for example if you have a working set of 4000 keys ( data 400 mb) and you loop 400 times and invoke a mc.set(key,2,..) after 10 minutes you will end up with 4x400Mb

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

        Activity

        Hide
        farshid Farshid Ghods (Inactive) added a comment -

        the workaround is to use larger expiration values (>5)

        Show
        farshid Farshid Ghods (Inactive) added a comment - the workaround is to use larger expiration values (>5)
        Hide
        farshid Farshid Ghods (Inactive) added a comment -

        we end up with duplicate keys in the database with different expiration times.

        Show
        farshid Farshid Ghods (Inactive) added a comment - we end up with duplicate keys in the database with different expiration times.
        Hide
        farshid Farshid Ghods (Inactive) added a comment -

        Integrated in github-ep-engine-1-7-1 #123 (See http://qa.hq.northscale.net/job/github-ep-engine-1-7-1/123/)
        MB-3972 Set should overwrite an expired item that is not purged yet

        Chiyoung Seo :
        Files :

        • stored-value.hh
        • ep_testsuite.cc
        Show
        farshid Farshid Ghods (Inactive) added a comment - Integrated in github-ep-engine-1-7-1 #123 (See http://qa.hq.northscale.net/job/github-ep-engine-1-7-1/123/ ) MB-3972 Set should overwrite an expired item that is not purged yet Chiyoung Seo : Files : stored-value.hh ep_testsuite.cc
        Hide
        farshid Farshid Ghods (Inactive) added a comment -

        Integrated in github-ep-engine-2-0 #13 (See http://qa.hq.northscale.net/job/github-ep-engine-2-0/13/)
        MB-3972 Set should overwrite an expired item that is not purged yet

        Chiyoung Seo :
        Files :

        • stored-value.hh
        • ep_testsuite.cc
        Show
        farshid Farshid Ghods (Inactive) added a comment - Integrated in github-ep-engine-2-0 #13 (See http://qa.hq.northscale.net/job/github-ep-engine-2-0/13/ ) MB-3972 Set should overwrite an expired item that is not purged yet Chiyoung Seo : Files : stored-value.hh ep_testsuite.cc

          People

          • Assignee:
            chiyoung Chiyoung Seo
            Reporter:
            farshid Farshid Ghods (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Gerrit Reviews

              There are no open Gerrit changes