You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Timothy Potter (JIRA)" <ji...@apache.org> on 2017/10/26 22:49:00 UTC

[jira] [Commented] (SOLR-11556) Backup/Restore with multiple BackupRepository objects defined results in the wrong repo being used.

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

Timothy Potter commented on SOLR-11556:
---------------------------------------

Fix is easy enough, but why not just copy all incoming params into the Map in the CollectionsHandler? I don't get the selective copying being done here.

> Backup/Restore with multiple BackupRepository objects defined results in the wrong repo being used.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-11556
>                 URL: https://issues.apache.org/jira/browse/SOLR-11556
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Backup/Restore
>    Affects Versions: 6.3
>            Reporter: Timothy Potter
>            Assignee: Timothy Potter
>         Attachments: SOLR-11556.patch
>
>
> I defined two repos for backup/restore, one local and one remote on GCS, e.g.
> {code}
> <backup>
>     <repository name="hdfs" class="org.apache.solr.core.backup.repository.HdfsBackupRepository" default="false">
>      ...
>     </repository>
>     <repository name="local" class="org.apache.solr.core.backup.repository.LocalFileSystemRepository" default="false">
>           <str name="location">/tmp/solr-backups</str>
>     </repository>
>  </backup>
> {code}
> Since the CollectionHandler does not pass the "repository" param along, once the BackupCmd gets the ZkNodeProps, it selects the wrong repo! 
> The error I'm seeing is:
> {code}
> 2017-10-26 17:07:27.326 ERROR (OverseerThreadFactory-19-thread-1-processing-n:host:8983_solr) [   ] o.a.s.c.OverseerCollectionMessageHandler Collection: product operation: backup failed:java.nio.file.FileSystemNotFoundException: Provider "gs" not installed
>         at java.nio.file.Paths.get(Paths.java:147)
>         at org.apache.solr.core.backup.repository.LocalFileSystemRepository.resolve(LocalFileSystemRepository.java:82)
>         at org.apache.solr.cloud.BackupCmd.call(BackupCmd.java:99)
>         at org.apache.solr.cloud.OverseerCollectionMessageHandler.processMessage(OverseerCollectionMessageHandler.java:224)
>         at org.apache.solr.cloud.OverseerTaskProcessor$Runner.run(OverseerTaskProcessor.java:463)
>         at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:229)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:748)
> {code}
> Notice the Local backup repo is being selected in the BackupCmd even though I passed repository=hdfs in my backup command, e.g.
> {code}
> curl "http://localhost:8983/solr/admin/collections?action=BACKUP&name=foo&collection=foo&location=gs://tjp-solr-test/backups&repository=hdfs"
> {code} 
> I think the fix here is to include the repository param, see patch. I'll fix for the next 7.x release and those on 6 can just apply the patch here.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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