[
https://issues.apache.org/jira/browse/SOLR-12685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16601844#comment-16601844
]
mosh commented on SOLR-12685:
-----------------------------
Please correct me if mistaken.
I was thinking RTG should not return the whole block when queried directly by
the RTG handler, but rather should explicitly perform these checks when running
RealTimeGetComponent#getInputDocument, which is used by
AtomicUpdateDocumentMerger.
{code:java}
SolrInputDocument oldDocument = RealTimeGetComponent.getInputDocument
(cmd.getReq().getCore(), idBytes,
null, // don't want the version to be returned
true, // avoid stored fields from index
updatedFields,
true); // resolve the full document{code}
Unless, of course, RTG block lookup is needed by the replication process,
which, unfortunately, I am unfamiliar with.
Running through the code it seems like the transaction log lookup is written in
RealTimeGetComponent#getInputDocumentFromTlog and in process, twice.
We could leverage that to ensure AtomicUpdateDocumentMerger gets the block when
needed, avoiding further collision and interference with the RealTimeGetHandler.
> RTG should return the whole block if schema is nested
> -----------------------------------------------------
>
> Key: SOLR-12685
> URL: https://issues.apache.org/jira/browse/SOLR-12685
> Project: Solr
> Issue Type: Sub-task
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: mosh
> Priority: Major
> Attachments: SOLR-12638-no-commit.patch
>
>
> Currently Solr's RealTimeGet component return the document if provided a
> docId when consulting the index. For AtomicUpdates for child documents, RTG
> should return the whole block when dealing with a nested schema.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]