[ 
https://issues.apache.org/jira/browse/SOLR-5535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shalin Shekhar Mangar updated SOLR-5535:
----------------------------------------

    Attachment: SOLR-5535-testfix.patch

Here's the stacktrace:
{code}
java.lang.AssertionError: Expected the partialResults header to be null
        at 
__randomizedtesting.SeedInfo.seed([75E757505E2B6367:F401D9482974035B]:0)
        at org.junit.Assert.fail(Assert.java:93)
        at org.junit.Assert.assertTrue(Assert.java:43)
        at org.junit.Assert.assertNull(Assert.java:551)
        at 
org.apache.solr.TestDistributedSearch.validateControlData(TestDistributedSearch.java:525)
        at 
org.apache.solr.TestDistributedSearch.queryPartialResults(TestDistributedSearch.java:445)
        at 
org.apache.solr.TestDistributedSearch.doTest(TestDistributedSearch.java:379)
{code}

The problem is that the test asserts that control responses should never have 
the partialResults header. Normally that will never happen because control is a 
single shard so a partialResults is not possible and instead the whole request 
will error out. But, if timeAllowed param is specified then the control shard 
can have a time exceeded exception causing the partialResults flag to be set.

This patch checks if timeAllowed is specified and if so, disables the control 
data validation.

> The "partialResults" header should be set for shards that error out using 
> shards.tolerant
> -----------------------------------------------------------------------------------------
>
>                 Key: SOLR-5535
>                 URL: https://issues.apache.org/jira/browse/SOLR-5535
>             Project: Solr
>          Issue Type: Improvement
>    Affects Versions: 4.5
>            Reporter: Steve Davids
>            Assignee: Shalin Shekhar Mangar
>             Fix For: 4.7, 5.0
>
>         Attachments: SOLR-5535-testfix.patch, SOLR-5535.patch
>
>
> Currently the only way to know if shards error out while using the 
> shards.tolerant flag is to set the shards.info flag and iterate through each 
> shard's info to see if an error is reported.
> The "partialResults" response header value should be set when errors are 
> detected from distributed searches. This header value is currently being used 
> by the timeAllowed request parameter if shards don't respond in time. This 
> change will provide a more consistent mechanism to detect distributed search 
> errors.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to