lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Miller (JIRA)" <>
Subject [jira] [Commented] (SOLR-5474) Have a new mode for SolrJ to support stateFormat=2
Date Thu, 24 Apr 2014 02:17:16 GMT


Mark Miller commented on SOLR-5474:

Attached is a test fail for this.

org.apache.solr.client.solrj.SolrServerException: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:
STATE STALE: collection1:15valid : false
	at __randomizedtesting.SeedInfo.seed([170B85B5FF6722D6:96ED0BAD883842EA]:0)
	at org.apache.solr.client.solrj.impl.CloudSolrServer.requestWithRetryOnStaleState(
	at org.apache.solr.client.solrj.impl.CloudSolrServer.requestWithRetryOnStaleState(
	at org.apache.solr.client.solrj.impl.CloudSolrServer.request(
	at org.apache.solr.client.solrj.request.QueryRequest.process(
	at org.apache.solr.client.solrj.SolrServer.query(
	at org.apache.solr.BaseDistributedSearchTestCase.query(
	at org.apache.solr.BaseDistributedSearchTestCase.query(
	at org.apache.solr.BaseDistributedSearchTestCase.query(
	at org.apache.solr.BaseDistributedSearchTestCase.testDistribSearch(
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

> Have a new mode for SolrJ to support stateFormat=2
> --------------------------------------------------
>                 Key: SOLR-5474
>                 URL:
>             Project: Solr
>          Issue Type: Sub-task
>          Components: SolrCloud
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>             Fix For: 5.0
>         Attachments: SOLR-5474.patch, SOLR-5474.patch, SOLR-5474.patch, fail.logs
> In this mode SolrJ would not watch any ZK node
> It fetches the state  on demand and cache the most recently used n collections in memory.
> SolrJ would not listen to any ZK node. When a request comes for a collection ‘xcoll’
> it would first check if such a collection exists
> If yes it first looks up the details in the local cache for that collection
> If not found in cache , it fetches the node /collections/xcoll/state.json and caches
the information
> Any query/update will be sent with extra query param specifying the collection name ,
version (example \_stateVer=xcoll:34) . A node would throw an error (INVALID_NODE) if it does
not have the right version
> If SolrJ gets INVALID_NODE error it would invalidate the cache and fetch fresh state
information for that collection (and caches it again)
> If there is a connection timeout, SolrJ assumes the node is down and re-fetch the state
for the collection and try again

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message