Knowledgebase: MarkLogic Server
What do I do about XDMP-LISTCACHEFULL errors?
15 June 2015 05:39 PM

Introduction

MarkLogic Server uses its list cache to hold search term lists in memory. If you're attempting to execute a particularly non-selective or inefficient query, your query will fail due to the size of the search term lists exceeding the allocated list cache.

What do I do about XDMP-LISTCACHEFULL errors?

This error really boils down to the amount of an available resource (in this case, the list cache) vs. resource usage (here, the size of the fetched search term lists). The available options are:

  1. Increasing the amount of available resource - in this case, increasing the list cache size.
  2. decreasing the amount of resource usage - here, either:
    • Finding and preventing inefficient queries.  That is, tune the queries in order to select fewer terms during index resolution;
    • Ensure appropriate indexes are enabled. For example, enabling positions may improve multi-term and proximity queries;
    • Reducing the size of forests, as smaller forests will have less data and consequently smaller term lists for a given query.

Note that option #1 (increasing the list cache size) is at best a temporary solution. There is a maximum size for the list cache of 32768 MB (73728 MB as of v7.0-5 and v8.0-2), and each partition should be no more than 8192 MB. Ultimately, if you're often seeing XDMP-LISTCACHEFULL errors, you're likely running insufficiently selective queries, and/or your forests are too big.

(5 vote(s))
Helpful
Not helpful

Comments (0)