Public bug reported:

After upgrading to 19.04 tomcat cannot create solr's index directory
/var/lib/solr/data/index as seen by the catalina log like this:

18-May-2019 14:06:54.627 WARNING [main] org.apache.solr.core.SolrCore.initIndex 
[] Solr index directory '/var/lib/solr/data/index' doesn't exist. Creating new 
index...
18-May-2019 14:06:54.679 SEVERE [main] org.apache.solr.common.SolrException.log 
java.lang.RuntimeException: java.io.IOException: Cannot create directory: 
/var/lib/solr/data/index
        at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:403)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:552)
        at org.apache.solr.core.CoreContainer.create(CoreContainer.java:480)
        at org.apache.solr.core.CoreContainer.load(CoreContainer.java:332)
        at org.apache.solr.core.CoreContainer.load(CoreContainer.java:216)
        at 
org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:161)
        at 
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:96)
        at 
org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:270)
        at 
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:251)
        at 
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102)
        at 
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4516)
        at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5162)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
        at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
        at 
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)
        at 
org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1832)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
        at 
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)
        at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1577)
        at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
        at 
org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
        at 
org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
        at 
org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
        at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
        at 
org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
        at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
        at 
java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
        at 
org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
        at 
org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at 
org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at 
org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:638)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:496)
Caused by: java.io.IOException: Cannot create directory: 
/var/lib/solr/data/index
        at 
org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:172)
        at org.apache.lucene.store.Lock.obtain(Lock.java:72)
        at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:1098)
        at 
org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:84)
        at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:398)
        ... 50 more

I have also reproduced this on a "clean" new installation in a VM

To reproduce:

sudo apt-get install solr-tomcat

and look in /var/log/tomcat9/catalina.*.log

Permissions seems ok like:

root@ubuntu-disco:/var/lib/solr/data# ls -ld /var/lib/solr/data
drwxrwx--- 2 tomcat tomcat 4096 Mar  2 22:02 /var/lib/solr/data

I also checked the /etc/solr/tomcat.policy file which indeed includes:

permission java.io.FilePermission "/var/lib/solr", "read,write,delete";
  permission java.io.FilePermission "/var/lib/solr/-", "read,write,delete";

(I guess - means recursive, but not entirely sure)

So this should also be ok and I don't see it being protected by apparmor

So I don't really know why i cannot create that directory

root@ubuntu-disco:/var/lib/solr/data# lsb_release -rd
Description:    Ubuntu 19.04
Release:        19.04

root@ubuntu-disco:/var/lib/solr/data# apt-cache policy solr-tomcat
solr-tomcat:
  Installed: 3.6.2+dfsg-18
  Candidate: 3.6.2+dfsg-18
  Version table:
 *** 3.6.2+dfsg-18 500
        500 http://archive.ubuntu.com/ubuntu disco/universe amd64 Packages
        100 /var/lib/dpkg/status
root@ubuntu-disco:/var/lib/solr/data# apt-cache policy tomcat9
tomcat9:
  Installed: 9.0.16-3
  Candidate: 9.0.16-3
  Version table:
 *** 9.0.16-3 500
        500 http://archive.ubuntu.com/ubuntu disco/universe amd64 Packages
        100 /var/lib/dpkg/status
root@ubuntu-disco:/var/lib/solr/data# apt-cache policy solr-common
solr-common:
  Installed: 3.6.2+dfsg-18
  Candidate: 3.6.2+dfsg-18
  Version table:
 *** 3.6.2+dfsg-18 500
        500 http://archive.ubuntu.com/ubuntu disco/universe amd64 Packages
        100 /var/lib/dpkg/status

** Affects: lucene-solr (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1829611

Title:
  tomcat cannot create the index directory for solr on startup

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lucene-solr/+bug/1829611/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to