You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Said Chavkin <sc...@gmail.com> on 2013/10/09 14:54:23 UTC

Permisions didn't check when call discoverUnder

Hello.

When in solr/home directory exists directory to which solr do not have
rights, then solr failed to start with exception:

2108 [main] INFO org.apache.solr.core.CoresLocator - Looking for core
definitions underneath /var/lib/solr
2109 [main] ERROR org.apache.solr.servlet.SolrDispatchFilter - Could
not start Solr. Check solr/home property and the logs
2138 [main] ERROR org.apache.solr.core.SolrCore -
null:java.lang.NullPointerException
at org.apache.solr.core.CorePropertiesLocator.discoverUnder(CorePropertiesLocator.java:121)
at org.apache.solr.core.CorePropertiesLocator.discoverUnder(CorePropertiesLocator.java:130)
at org.apache.solr.core.CorePropertiesLocator.discover(CorePropertiesLocator.java:113)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:226)
at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:177)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:127)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

2138 [main] INFO org.apache.solr.servlet.SolrDispatchFilter -
SolrDispatchFilter.init() done

For example:

solr/home located on /var/lib/solr.

/var/lib/solr is another file system, it has lost+found directory, and
only root can read from this directory.
As result solr can't to star.
It is because discovering directory to which tomcat do not have rights.

Yours faithfully.

Re: Permisions didn't check when call discoverUnder

Posted by Said Chavkin <sc...@gmail.com>.
I'm not sure, may be solr should skip inaccessible directory.
Because it is standard rule to place service on separate filesystem.
On the other hand it is possible to place solr/home not on the top of
mounted fs.

Anyway it would be better if error message was more clearly.

2013/10/9 Erick Erickson <er...@gmail.com>:
> What do you think Solr should do in this case? If the
> process doesn't have permission to the dir, it can't
> write to it. You need to set the permissions, or the
> authority of the process that Solr is running as
> appropriately.
>
> Best,
> Erick
>
> On Wed, Oct 9, 2013 at 8:54 AM, Said Chavkin <sc...@gmail.com> wrote:
>> Hello.
>>
>> When in solr/home directory exists directory to which solr do not have
>> rights, then solr failed to start with exception:
>>
>> 2108 [main] INFO org.apache.solr.core.CoresLocator - Looking for core
>> definitions underneath /var/lib/solr
>> 2109 [main] ERROR org.apache.solr.servlet.SolrDispatchFilter - Could
>> not start Solr. Check solr/home property and the logs
>> 2138 [main] ERROR org.apache.solr.core.SolrCore -
>> null:java.lang.NullPointerException
>> at org.apache.solr.core.CorePropertiesLocator.discoverUnder(CorePropertiesLocator.java:121)
>> at org.apache.solr.core.CorePropertiesLocator.discoverUnder(CorePropertiesLocator.java:130)
>> at org.apache.solr.core.CorePropertiesLocator.discover(CorePropertiesLocator.java:113)
>> at org.apache.solr.core.CoreContainer.load(CoreContainer.java:226)
>> at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:177)
>> at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:127)
>> at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
>> at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
>> at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
>> at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
>> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
>> at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
>> at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
>> at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
>> at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
>> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
>> at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
>> at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>> at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
>> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>> at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>> at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:616)
>> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
>>
>> 2138 [main] INFO org.apache.solr.servlet.SolrDispatchFilter -
>> SolrDispatchFilter.init() done
>>
>> For example:
>>
>> solr/home located on /var/lib/solr.
>>
>> /var/lib/solr is another file system, it has lost+found directory, and
>> only root can read from this directory.
>> As result solr can't to star.
>> It is because discovering directory to which tomcat do not have rights.
>>
>> Yours faithfully.

Re: Permisions didn't check when call discoverUnder

Posted by Erick Erickson <er...@gmail.com>.
What do you think Solr should do in this case? If the
process doesn't have permission to the dir, it can't
write to it. You need to set the permissions, or the
authority of the process that Solr is running as
appropriately.

Best,
Erick

On Wed, Oct 9, 2013 at 8:54 AM, Said Chavkin <sc...@gmail.com> wrote:
> Hello.
>
> When in solr/home directory exists directory to which solr do not have
> rights, then solr failed to start with exception:
>
> 2108 [main] INFO org.apache.solr.core.CoresLocator - Looking for core
> definitions underneath /var/lib/solr
> 2109 [main] ERROR org.apache.solr.servlet.SolrDispatchFilter - Could
> not start Solr. Check solr/home property and the logs
> 2138 [main] ERROR org.apache.solr.core.SolrCore -
> null:java.lang.NullPointerException
> at org.apache.solr.core.CorePropertiesLocator.discoverUnder(CorePropertiesLocator.java:121)
> at org.apache.solr.core.CorePropertiesLocator.discoverUnder(CorePropertiesLocator.java:130)
> at org.apache.solr.core.CorePropertiesLocator.discover(CorePropertiesLocator.java:113)
> at org.apache.solr.core.CoreContainer.load(CoreContainer.java:226)
> at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:177)
> at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:127)
> at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
> at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
> at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
> at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3838)
> at org.apache.catalina.core.StandardContext.start(StandardContext.java:4488)
> at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)
> at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
> at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
> at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
> at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
> at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
> at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
> at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
> at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> at org.apache.catalina.core.StandardService.start(StandardService.java:516)
> at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:593)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:616)
> at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
>
> 2138 [main] INFO org.apache.solr.servlet.SolrDispatchFilter -
> SolrDispatchFilter.init() done
>
> For example:
>
> solr/home located on /var/lib/solr.
>
> /var/lib/solr is another file system, it has lost+found directory, and
> only root can read from this directory.
> As result solr can't to star.
> It is because discovering directory to which tomcat do not have rights.
>
> Yours faithfully.