You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Adrien Grand (Jira)" <ji...@apache.org> on 2021/06/09 08:47:01 UTC

[jira] [Created] (LUCENE-9996) Can we improve DWPT's initial memory footprint?

Adrien Grand created LUCENE-9996:
------------------------------------

             Summary: Can we improve DWPT's initial memory footprint?
                 Key: LUCENE-9996
                 URL: https://issues.apache.org/jira/browse/LUCENE-9996
             Project: Lucene - Core
          Issue Type: Improvement
            Reporter: Adrien Grand


Say you are indexing only keyword fields, that are both indexed and have doc values. The first document that gets added to a DWPT will increase memory usage by about 80kB per field. This is due mostly to:
 - the {{BytesRefHash}} for the inverted index, which allocates a 32kB page
 - the {{BytesRefHash}} for the doc values terms dict, which allocates another 32kB page
 - the {{SortedDocValuesWriter#pending}} buffer that allocates a long[1024]: 8kB

So if you have 10 actively indexing indices that have 100 fields each and 24 indexing threads, this gives a total of 10*100*24*80kB = 1.8GB. If you happened to give less than 1.8GB for your indexing buffers overall, Lucene will likely do very small flushes that have only a few documents, which in-turn will make indexing rather slow.

Could we improve DWPT so that it more progressively reserves memory as more documents get added?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org