lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Miller <markrmil...@gmail.com>
Subject Re: Solrj 4.2 - CloudSolrServer aliases are not loaded
Date Tue, 02 Apr 2013 18:32:14 GMT
I've created https://issues.apache.org/jira/browse/SOLR-4664

- Mark

On Apr 2, 2013, at 2:07 PM, Mark Miller <markrmiller@gmail.com> wrote:

> I think the current tests probably build the cloudsolrserver before creating the aliases
- sounds like we need to do some creating the cloudsolrserver after.
> 
> - Mark
> 
> On Apr 2, 2013, at 1:31 PM, Mark Miller <markrmiller@gmail.com> wrote:
> 
>> Answers inline:
>> 
>> On Apr 2, 2013, at 11:45 AM, Elodie Sannier <elodie.sannier@kelkoo.fr> wrote:
>> 
>>> Hello,
>>> 
>>> I am using the new collection alias feature, and it seems
>>> CloudSolrServer class (solrj 4.2.0) does not allow to use it, either for
>>> update or select.
>>> 
>>> When I'm requesting the CloudSolrServer with a collection alias name, I
>>> have the error:
>>> org.apache.solr.common.SolrException: Collection not found:
>>> aliasedCollection
>>> 
>>> The collection alias cannot be found because, in
>>> CloudSolrServer#getCollectionList (line 319) method, the alias variable
>>> is always empty.
>>> 
>>> When I'm requesting the CloudSolrServer, the connect method is called
>>> and it calls the ZkStateReader#createClusterStateWatchersAndUpdate method.
>>> In the ZkStateReader#createClusterStateWatchersAndUpdate method, the
>>> aliases are not loaded.
>>> 
>>> line 295, the data from /clusterstate.json are loaded :
>>> ClusterState clusterState = ClusterState.load(zkClient, liveNodeSet);
>>> this.clusterState = clusterState;
>>> 
>>> Should we have the same data loading from /aliases.json, in order to
>>> fill the aliases field ?
>>> line 299, a Watcher for aliases is created but does not seem used.
>> 
>> The Watcher is used. It updates the Aliases if they changed - there is some lag time
though. There is some work that tries to avoid the lag in the update being a problem, but
I'm guessing somehow it's not covering your case. 
>> 
>> It wouldn't hurt to add the updateAliases call automatically on ZkStateReader init.
If the watcher was indeed not being used, that would not solve things though - the client
still needs to be able to detect alias additions and changes.
>> 
>> Your best bet is to file a JIRA issue so we can work on a test that mimics what you
are seeing.
>> 
>> - Mark
>> 
>>> 
>>> 
>>> As a workaround to avoid the error, I have to force the aliases loading
>>> at my application start and when the aliases are updated:
>>> CloudSolrServer solrServer = new CloudSolrServer("localhost:2181");
>>> solrServer.setDefaultCollection("aliasedCollection");
>>> solrServer.connect();
>>> solrServer.getZkStateReader().updateAliases();
>>> 
>>> Is there a better way to use collection aliases with solrj ?
>>> 
>>> Elodie Sannier
>>> 
>>> Kelkoo SAS
>>> Société par Actions Simplifiée
>>> Au capital de € 4.168.964,30
>>> Siège social : 8, rue du Sentier 75002 Paris
>>> 425 093 069 RCS Paris
>>> 
>>> Ce message et les pièces jointes sont confidentiels et établis à l'attention
exclusive de leurs destinataires. Si vous n'êtes pas le destinataire de ce message, merci
de le détruire et d'en avertir l'expéditeur.
>> 
> 


Mime
View raw message