[
https://issues.apache.org/jira/browse/SOLR-9452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shalin Shekhar Mangar updated SOLR-9452:
----------------------------------------
Attachment: SOLR-9452.patch
I had an offline conversation with Noble Paul about why the deep copy of
children is required and it is due to the fact that we keep the child map as
list inside the main document's map. However, copying upto 2 levels is
sufficient.
All tests pass. I'll commit this shortly.
> JsonRecordReader should not deep copy before handler.handle()
> -------------------------------------------------------------
>
> Key: SOLR-9452
> URL: https://issues.apache.org/jira/browse/SOLR-9452
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: update
> Reporter: Shalin Shekhar Mangar
> Fix For: master (7.0), 6.3
>
> Attachments: SOLR-9452.patch, SOLR-9452.patch, SOLR-9452.patch
>
>
> JsonRecordReader does a deep copy of the document map before calling
> handler.handle() method but it is not required because it is consumed in the
> same thread and not stored anywhere. The only place which needs a deep copy
> is the JsonRecordReader#getAllRecords method (used mostly for testing). Any
> such method can perform deep copy itself so that the common case is not
> penalized.
> This will save allocation of one copy of the map for each document.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]