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 :
> 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 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.(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.