Hi Sunny, I got the following answer for the same issue
The expanded tree cache is used to store XML fragments while they are being used during query processing. XML documents are compressed and stored on disk as fragments. As fragments are needed during query evaluation, they are retrieved from disk in their compressed format and cached in the compressed tree cache. When the query needs to actually retrieve elements, values, or otherwise traverse the contents of one of these fragments, the fragment is uncompressed and cached in the expanded tree cache. Consequently, the expanded tree cache needs to be large enough to maintain a copy of every expanded XML fragment that is simultaneously needed during query processing. (Note that this doesn't necessarily mean that every fragment used by a given query is needed simultaneously; this depends on what a query does and how it is composed.) The error message "XDMP-EXPNTREECACHEFULL: Expanded tree cache full" means that MarkLogic has run out of room in the expanded tree cache during query evaluation, and that it cannot continue evaluating that query. There are four approaches to solving this problem: 1. Change the problem query so that it does not need to use as much expanded XML. 2. Tune the problem query so that it does not need to simultaneously cache as much XML. 3. Increase the size of the expanded tree cache, using the setting under Groups > Default > Configure 4. Fragment your content, if appropriate and only as a last resort. Approach (1) generally means a change in requirements (for instance, returning only 100 results instead of 1000 results). The typical approach is to page through a set of results rather than return all of the results at once. Approach (2) requires knowledge of tuning XQuery for performance. In some cases it's possible to compose a query that is able to process more expanded fragments than the expanded tree cache can store at any one moment. Approach (3) will work so long as you have sufficient available memory to expand the cache without adversely impacting other server and system functionality. This strategy is often a band-aid to a problem that would better be solved through approach (1) or (2). Approach (4) reflects the fact that large XML documents can take up a lot of memory during query evaluation, and Mark Logic's fragmentation capabilities are designed to be a method of last resort in such cases. Fragmentation allows MarkLogic to load only the needed parts of large documents during query evaluation, thereby reducing memory requirements. However, fragmentation does have other ramifications for query evaluation, as described in the Developer's Guide. If your expanded tree cache problem occurs while working with large documents, fragmentation may be an appropriate solution. If your problem occurs while working with small documents, fragmentation will not help. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hope this information helps. Alternatively you can reply with average document size and final search query. Abhishek Srivastav Systems Engineer Tata Consultancy Services Cell:- +91-9883389968 Mailto: [email protected] Website: http://www.tcs.com ____________________________________________ Experience certainty. IT Services Business Solutions Outsourcing ____________________________________________ From: Sunny Wang01 <[email protected]> To: MarkLogic Developer Discussion <[email protected]> Date: 06/05/2012 03:27 PM Subject: [MarkLogic Dev General] how to resolve the cache full problem? Sent by: [email protected] Hi All, When I use the search:search to get the search result ,in the host computer ,we have 13G free space ,but there is an error like below, could you help me? <dt>XDMP-EXPNTREECACHEFULL: cts:search(fn:collection(), cts:and-query((cts:element-value-query(fn:QName(" http://www.careered.com/Metadata", "IsActive"), "true", ("lang=en"), 1), cts:element-range-query(fn:QName("http://www.careered.com/Version", "ModifiedDate"), ">=", xs:dateTime("0001-01-01T00:00:00"), (), 1), cts:element-range-query(fn:QName("http://www.careered.com/Version", "ModifiedDate"), "<", xs:dateTime("2012-06-05T09:45:32.603096"), (), 1), ...), ()), "score-logtfidf", 1) -- Expanded tree cache full on host </dt> Thanks, Sunny Wang01 **************** CAUTION - Disclaimer ***************** This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system. ***INFOSYS******** End of Disclaimer ********INFOSYS*** _______________________________________________ General mailing list [email protected] http://community.marklogic.com/mailman/listinfo/general =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you
_______________________________________________ General mailing list [email protected] http://community.marklogic.com/mailman/listinfo/general
