Michael Gibney created SOLR-16989:
-------------------------------------
Summary: Consolidate reuse of DocValues iterators for value
retrieval
Key: SOLR-16989
URL: https://issues.apache.org/jira/browse/SOLR-16989
Project: Solr
Issue Type: Improvement
Security Level: Public (Default Security Level. Issues are Public)
Affects Versions: main (10.0)
Reporter: Michael Gibney
DocValues are used for the purpose of arbitrary-order value retrieval mainly in
two places:
# {{ExportWriter}} (for the export handler)
# {{SolrDocumentFetcher}} (for {{useDocValuesAsStored}})
{{ExportWriter}} holds a simple optimization to reuse docValues iterators where
possible (i.e., where docId doesn't decrease), but there is no such
optimization for {{SolrDocumentFetcher}}: for every possible docValues return
field, for every doc, a new docValues iterator is pulled (and GC'd). This is
especially pathological in the case of many sparse fields, because the hit is
incurred regardless of whether the return fields are actually present in any
returned docs.
This issue proposes unifying the docValues iterator caching for both these
contexts, with the most immediate practical effect being improved latency of
field retrieval for {{useDocValuesAsStored}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]