Permisions didn't check when call discoverUnder

2013-10-09 Thread Said Chavkin
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

2013-10-09 Thread Said Chavkin
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 erickerick...@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 schav...@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.