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

Pause must trigger if indexer is approaching OOM

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 4.5.1
    • 4.5.0
    • secondary-index
    • None
    • Untriaged
    • Unknown

    Description

      Indexer pause must trigger also when total (actual + unused but not released) indexer memory is too close to system memory. Currently, it is just based on Go's memory usage. However, the heap can be much larger and mutation queue can add even more load, and if it gets too large, OOM killer will trigger. We saw this happen on a customer where the customer had 30M entries in mutation queue, and MemDB had used up all assigned memory to it. Before the indexer could go into pause or Go could release some of the unused but held memory, OOM killer triggered.

      This condition must be absolute. In other words, irrespective of what is the RAM quota, mutation queue size, unused heap size etc, we should pause before OOM killer comes along.

      Attachments

        Issue Links

          Activity

            People

              deepkaran.salooja Deepkaran Salooja
              siri Sriram Melkote (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty