lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Noble Paul (JIRA)" <>
Subject [jira] [Commented] (SOLR-5474) Have a new mode for SolrJ to not watch any ZKNode
Date Mon, 02 Dec 2013 17:42:36 GMT


Noble Paul commented on SOLR-5474:

Before updating the cache it should check the version of "state" for that collection. if it
finds that the version is actually not changed it should just continue talking to other nodes
in the shard and not invalidate the cache

> Have a new mode for SolrJ to not watch any ZKNode
> -------------------------------------------------
>                 Key: SOLR-5474
>                 URL:
>             Project: Solr
>          Issue Type: Sub-task
>          Components: SolrCloud
>            Reporter: Noble Paul
> 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
> 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