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

ns_port_server does not release memory after the message queue backlog

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • backlog
    • 5.5.3
    • ns_server
    • None
    • Untriaged
    • Unknown

    Description

      As seen in a recent case:

      1. Due to the high amount of messages the message queue of ns_port_server got backlogged and grew.
      2. The heap grew to the quite a big size due to all the {data, Bin}

        tuples in the queue.

      3. The global heap grew even more because all these tuples reference binaries.
      4. Then the message stream was reduced to a trickle.
      5. At some point while the queue backlog was clearing, the garbage collection happened, which freed approximately half of the heap, but the heap size was not reduced, because less than 75% of data was freed.
      6. Now we have quite a big free chunk of the heap and quite slow heap allocation rate, so it could take quite a lot of time for the next garbage collection to happen.
      7. Therefore we have tons of binaries stuck in the global heap.

      the remedy: force garbage collection of ns_port_server periodically.

      Attachments

        Issue Links

          For Gerrit Dashboard: MB-37136
          # Subject Branch Project Status CR V

          Activity

            People

              artem Artem Stemkovski
              artem Artem Stemkovski
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There is 1 open Gerrit change

                  PagerDuty