What happens if indexing RAM quota is consumed?

Hi,
I am using Couchbase Server 6.5.1 - CE (single node(server)-cluster)on Linux (Debian 8 & Ubuntu 18.04) with 512 MB of RAM allocated to Indexing. I noticed that the RAM usage for “indexing” service is higher than I expected.

  • What factors affect the indexing RAM usage? besides the # of indices & indexed documents
  • Is there a way to calculate/predict the RAM usage by indexing service?
  • What happens if the Couchbase Server node (which is the only one in the cluster) consumes all the “indexing” RAM quota?

Thanks!

The storage engine in CE version doesn’t have strict bounds for memory usage. It can consume higher than the allocated quota specially if the quota is below 1GB.For a memory quota of 1GB and above, indexer would run GC whenever the memory usage overshoots the quota to keep the usage in check.

  1. What factors affect the indexing RAM usage? besides the # of indices & indexed documents
    There are some runtime overheads(~100-150MB), encoding buffers per index which contribute to memory usage.
  2. Is there a way to calculate/predict the RAM usage by indexing service?
    There is no exact calculation for the CE but above 1GB quota it would get capped due to GC.
  3. What happens if the Couchbase Server node (which is the only one in the cluster) consumes all the “indexing” RAM quota?
    The storage engine would evict all the data(after consuming the quota) to disk and subsequent scans/mutations would run slower due to disk fetches.
1 Like

Thanks for your response!