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

Noble Paul updated SOLR-5474:
-----------------------------

    Description: 
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


  was:
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 , shard name, Role (Leader/Replica), and range (example 
\_target_=xcoll:shard1:L:80000000-b332ffff) . A node would throw an error 
(INVALID_NODE) if it does not the serve the collection/shard/Role/range combo.
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



> Have a new mode for SolrJ to support stateFormat=2
> --------------------------------------------------
>
>                 Key: SOLR-5474
>                 URL: https://issues.apache.org/jira/browse/SOLR-5474
>             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
>
>
> 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
(v6.2#6252)

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

Reply via email to