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

Timothy Potter commented on SOLR-5473:
--------------------------------------

Applied patch to trunk and ran through the tests. I'm not sure these are 
related but the following unit tests are failing for me:

[junit4] Tests with failures:
[junit4]  - org.apache.solr.cloud.TestCollectionAPI.testDistribSearch
[junit4]  - org.apache.solr.cloud.MultiThreadedOCPTest.testDistribSearch
[junit4]  - org.apache.solr.cloud.OverseerTest.testOverseerFailure

A few minor points about the latest patch:

CloudSolrServer, line 233 - should use the static STATE_VERSION var here
CloudSolrServer, line 610 - should rename the requestedExternalCollections 
local var to something like requestedCollections since the concept of external 
doesn't apply anymore

ZkStateReader - wondering if we can't just have watchedCollectionStates with 
proper handling of null entry value instead of maintaining watchedCollections 
and watchedCollectionStates? Seems like we could just use the key set of 
watchedCollectionStates in place of watchedCollections, but maybe that is too 
subtle?

ZkStateReader, line 273 - might want to make this a debug vs. info message? 
Seems like that could happen often and really isn't a big deal. 

ZkStateReader, line 463 - Log message should not mention external - 
log.warn("Error checking external collections", e);

ZkStateReader, line 485 - I'm seeing a ton of this message "Updating cloud 
state from ZooKeeper... " in my logs when using many collections now ... and 
it's virtually worthless message without mention of which collection's state is 
involved. Of course we don't know which collection this message applies to in 
this method, so maybe just remove this log message and make sure we log that 
the state was updated from ZooKeeper when we do have the collection name handy, 
which I think you've already done on line 849.

ZkStateReader, line 761 - Would it be better to hide ephemeralCollectionData 
behind a public method? ZkStateReader is very much exposed on the SolrJ side of 
things so my thinking is to use a public method with some JavaDoc explaining 
that this should not be used by client applications.

ZookeeperInfoServlet -
I've overhauled the formerly known as external collection support in 
ZookeeperInfoServlet as part of SOLR-5810 and am just waiting for this issue to 
get committed and then I can commit that, so I'm wondering if you need to 
include the updates to ZookeeperInfoServlet in this patch? The "external" 
collections aren't showing up correctly in this patch anyway because of line 
399: String collStatePath = String.format(Locale.ROOT, "/collections/%s/state", 
collection);

SolrZkClient - looks like the instance counting stuff was just there for 
debugging? Are they still needed ...
static int instcount = 0;
public int inst = instcount++;

Do we want to deprecate ClusterState.java?

Lastly, most of the above is pretty minor, anything else that stands in the way 
of this getting committed to trunk?


> Make one state.json per collection
> ----------------------------------
>
>                 Key: SOLR-5473
>                 URL: https://issues.apache.org/jira/browse/SOLR-5473
>             Project: Solr
>          Issue Type: Sub-task
>          Components: SolrCloud
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>             Fix For: 5.0
>
>         Attachments: SOLR-5473-74 .patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-74.patch, SOLR-5473-74.patch, 
> SOLR-5473-74.patch, SOLR-5473-configname-fix.patch, SOLR-5473.patch, 
> SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, 
> SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, 
> SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, 
> SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, SOLR-5473.patch, 
> SOLR-5473.patch, SOLR-5473_undo.patch, ec2-23-20-119-52_solr.log, 
> ec2-50-16-38-73_solr.log
>
>
> As defined in the parent issue, store the states of each collection under 
> /collections/collectionname/state.json node



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to