[
https://issues.apache.org/jira/browse/SOLR-8738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man updated SOLR-8738:
---------------------------
Attachment: SOLR-8738.patch
The crux of why the errors are silently ignored seems to be because
{{DUP.doFinish()}} only logs a WARN -- but does not propogate -- any error
returned by {{cmdDistrib.getErrors();}} unless the type of Node involved in the
request was a {{RetryNode}}. The reason given for this being...
{code}
// else
// for now we don't error - we assume if it was added locally, we
// succeeded
{code}
The problem aparently being that when a DBQ is forwarded to all leaders,
{{StdNode}} is (currently) used -- but there was no local operation executed,
only the forward to the leaders, so there is no local success/failure.
----
The attached patch changes the DBQ propagation logic to use {{RetryNode}} --
i'm still running full tests, but at a minimum it makes the new
{{TestCloudDeleteByQuery}} in the patch start passing.
i don't fully understand the entire ramifications of this change, particularly
as it relates to rest of the code in {{DUP.doFinish}} and things like forcing
leader recovery, but based on the comments on the {{StdNode}} / {{RetryNode}}
classes and the other uses of {{StdNode}} / {{RetryNode}}{{RetryNode}}
(notably: STD->replica vs RETRY->leader) this seems like the most correct fix
in general.
> invalid DBQ initially sent to a non-leader node will report success
> -------------------------------------------------------------------
>
> Key: SOLR-8738
> URL: https://issues.apache.org/jira/browse/SOLR-8738
> Project: Solr
> Issue Type: Bug
> Reporter: Hoss Man
> Attachments: SOLR-8738.patch, SOLR-8738.patch
>
>
> Discovered this while working on SOLR-445.
> If a Delete By Query gets sent to a node which is not hosting a leader (ie:
> only hosts replicas, or doesn't host any cores related to the specified
> collection) then a success will be returned, even if the DBQ is completely
> malformed and actually failed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]