[ 
https://issues.apache.org/jira/browse/SOLR-5474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13975339#comment-13975339
 ] 

Mark Miller commented on SOLR-5474:
-----------------------------------

I guess what I meant to say is that it's pretty useless CHANGES entry for a 
user. I'm not talking about design, or implementation or anything. I'm trying 
to pull out of you what was done here, so you can realize, the CHANGES entry 
does a pretty bad job reflecting it.

bq.  Have a new mode for SolrJ to support stateFormat=2

SolrJ does not have a new mode. The CloudSolrServer SolrServer implementation 
that is part of SolrJ has a new mode.

bq. SO the caching support is added outside of ZkStateReader and , right into 
CLoudSolrServer

The CHANGES entry says nothing about "caching" support - it says support for 
stateFormat=2, which CloudSolrServer and SolrJ have without this issue! You 
could already say SolrJ supports stateFormat=2 as I said - it's a very general 
statement and so means nothing saying support for it was added here.

stateFormat=2 support is meaningless to any user in any case. We should try and 
make CHANGES entries that have value to the user by trying to write something 
that they can understand. If a user reads this entry, they have no clue what we 
did or how they might use it or why it even matters at all. CHANGES is for the 
user and not the devs that implemented the issue.

> 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