You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org> on 2013/11/26 07:52:36 UTC

[jira] [Updated] (SOLR-5499) Real-time /get handler is required when using Solr Cloud

     [ https://issues.apache.org/jira/browse/SOLR-5499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shalin Shekhar Mangar updated SOLR-5499:
----------------------------------------

    Attachment: SOLR-5499.patch

Log a warning if Solr is running in cloud mode and RealTimeGetComponent is not registered at /get.

bq. WARNING: RealTimeGetHandler is not registered at /get. SolrCloud will always use full index replication instead of the more efficient PeerSync method.

> Real-time /get handler is required when using Solr Cloud
> --------------------------------------------------------
>
>                 Key: SOLR-5499
>                 URL: https://issues.apache.org/jira/browse/SOLR-5499
>             Project: Solr
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 4.4, 4.5, 4.5.1
>            Reporter: Daniel Collins
>            Priority: Minor
>         Attachments: SOLR-5499.patch
>
>
> Noticed during some leadership election when we shutdown Solr nodes.  
> Delving through the code it seems that PeerSync uses the /get handler (with some very ugly code explicitly creating an HTTP request by hand). If that isn't configured, then any election change will cause a full sync in ALL replicas for the shard in question.
> {noformat}
> 2013-11-25 06:35:39,766 INFO [main-EventThread] o.a.s.c.SyncStrategy [SyncStrategy.java:94] Sync replicas to http://xxxxx:xxx/solr/xxxx_shard74_replica1/
> 2013-11-25 06:35:39,766 INFO [main-EventThread] o.a.s.u.PeerSync [PeerSync.java:186] PeerSync: core=xxx_shard74_replica1 u
> rl=http://xxxxxxx:xxxxx/solr START replicas=[http://xxxxxxx:xxxx/solr/xxx_shard74_replica2/, http://xxxx:xxx/sol
> r/xxx_shard74_replica3/] nUpdates=100
> 2013-11-25 06:35:39,768 WARN [main-EventThread] o.a.s.u.PeerSync [PeerSync.java:321] PeerSync: core=xxx_shard74_replica1 u
> rl=http://xxx:xxx/solr  got a 404 from http://xxx:xxx/solr/xxx_shard74_replica2/, counting as success
> 2013-11-25 06:35:39,769 INFO [main-EventThread] o.a.s.u.PeerSync [PeerSync.java:273] PeerSync: core=xxx_shard74_replica1 u
> rl=http://nsrchnj2:10650/solr DONE. sync succeeded
> 2013-11-25 06:35:39,769 INFO [main-EventThread] o.a.s.c.SyncStrategy [SyncStrategy.java:134] Sync Success - now sync replicas to me
> 2013-11-25 06:35:39,769 INFO [main-EventThread] o.a.s.c.SyncStrategy [SyncStrategy.java:191] http://xxx:xxx/solr/xxx_shard74_replica1/: try and ask http://xxx:xxx/solr/xxx_shard74_replica2/ to sync
> 2013-11-25 06:35:39,771 ERROR [main-EventThread] o.a.s.c.SyncStrategy [SolrException.java:129] Sync request error: org.apache.solr.client.
> solrj.impl.HttpSolrServer$RemoteSolrException: Server at http://xxx:xxx/solr/xxx_shard74_replica3 returned non ok 
> status:404, message:Not Found
> 2013-11-25 06:35:39,771 INFO [main-EventThread] o.a.s.c.SyncStrategy [SyncStrategy.java:211] http://xxx:xxx/solr/xxx_shard74_replica1/: Sync failed - asking replica (http://xxx:xxx/solr/xxx_shard74_replica2/) to recover.
> {noformat}
> The triggers here (for me) were the 404 response codes, but we should just make it clear in the docs that the /get handler is required and shouldn't be removed (if using Solr Cloud)



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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