You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@solr.apache.org by Jason Gerlowski <ge...@gmail.com> on 2022/02/01 14:36:22 UTC

Re: backup and restore, standalone instance, windows paths

The "Provider \"c\" not installed" message seems to indicate that Solr
is reading the "c:/" at the start of your "location" parameter as a
URI protocol in the vein of "http://", "file://", "hdfs://", etc.

Outside of that though I'm not sure how you could tweak the "location"
to prevent that, and I don't have access to a Windows box to test on
my own.  I assume you've tried using a location that uses backslashes
(i.e. "C:\temp\solr-backups", escaped as needed)?

Solr does have tests for this functionality that run on Windows (see
TestReplicationHandlerBackup).  If you're able, you might run those
tests yourself to see how their location value differs from what
you're using here.  Or maybe we'll get lucky and another dev with
Windows access could clarify that for us.

Best,

Jason

On Mon, Jan 31, 2022 at 11:20 AM SIMM Stephen (Acoss)
<st...@acoss.fr> wrote:
>
> Hello,
>
> The backup works with this URL
> http://localhost:8983/solr/documents/replication?command=backup&name=1629&location=c:/temp/solr-backups
>
> But the restore command does not :
> http://localhost:8983/solr/documents/replication?command=restore&name=1629&location=c:/temp/solr-backups
>
> The error is :
> "responseHeader": {
>         "status": 500,
>         "QTime": 1
>     },
>     "error": {
>         "msg": "Provider \"c\" not installed",
>         "trace": "java.nio.file.FileSystemNotFoundException: Provider \"c\" not installed\r\n\tat java.base/java.nio.file.Path.of(Path.java:212)\r\n\tat java.base/java.nio.file.Paths.get(Paths.java:97)\r\n\tat org.apache.solr.core.backup.repository.LocalFileSystemRepository.resolve(LocalFileSystemRepository.java:88)\r\n\tat org.apache.solr.core.backup.repository.BackupRepository.resolveDirectory(BackupRepository.java:106)\r\n\tat org.apache.solr.handler.RestoreCore.create(RestoreCore.java:60)\r\n\tat org.apache.solr.handler.ReplicationHandler.restore(ReplicationHandler.java:530)\r\n\tat org.apache.solr.handler.ReplicationHandler.handleRequestBody(ReplicationHandler.java:282)\r\n\tat org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:216)\r\n\tat org.apache.solr.core.SolrCore.execute(SolrCore.java:2637)\r\n\tat org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:794)\r\n\tat org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:567)\r\n\tat org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427)\r\n\tat org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:357)\r\n\tat org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)\r\n\tat org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)\r\n\tat org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\r\n\tat org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)\r\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)\r\n\tat org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)\r\n\tat org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)\r\n\tat org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)\r\n\tat org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)\r\n\tat org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\r\n\tat org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)\r\n\tat org.eclipse.jetty.server.handler.InetAccessHandler.handle(InetAccessHandler.java:177)\r\n\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)\r\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\r\n\tat org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)\r\n\tat org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763)\r\n\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)\r\n\tat org.eclipse.jetty.server.Server.handle(Server.java:516)\r\n\tat org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:400)\r\n\tat org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:645)\r\n\tat org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:392)\r\n\tat org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)\r\n\tat org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)\r\n\tat org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)\r\n\tat org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)\r\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)\r\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)\r\n\tat java.base/java.lang.Thread.run(Thread.java:834)\r\n",
>         "code": 500
>     }
> }
>
> In solr.xml I change the allowPaths property to this :
>   <str name="allowPaths">*</str>
>
> Why is there a difference between backup and restore ?
>
> Is there a way around this problem ?
>
> Thanks !