[
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]