NCEAS / metacat

Data repository software that helps researchers preserve, share, and discover data
https://knb.ecoinformatics.org/software/metacat
GNU General Public License v2.0
26 stars 12 forks source link

Ensure Metacat runs on Tomcat 8 #1166

Closed mbjones closed 5 years ago

mbjones commented 6 years ago

Author Name: ben leinfelder (ben leinfelder) Original Redmine Issue: 7177, https://projects.ecoinformatics.org/ecoinfo/issues/7177 Original Date: 2017-03-24 Original Assignee: Jing Tao


I was working with Eva-Maria.Gerstner@senckenberg.de on an installation of Metacat 2.8.1 and we could not get Metacat to fully initialize after configuring it in the admin screens. On restart, we would get as far as the

metacat 20170324-18:24:19: [DEBUG]: XMLService.doRefresh - refreshing the schema service. [edu.ucsb.nceas.metacat.service.XMLSchemaService]
</code>

and then it would never get beyond that because of an unexpected exception in that routine:

24-Mar-2017 18:15:38.600 SCHWERWIEGEND [localhost-startStop-1] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [metacat] in web application [/metacat] threw load() exception
 java.lang.NullPointerException
    at edu.ucsb.nceas.metacat.service.XMLSchemaService.populateRegisteredSchemaList(XMLSchemaService.java:331)
    at edu.ucsb.nceas.metacat.service.XMLSchemaService.doRefresh(XMLSchemaService.java:129)
    at edu.ucsb.nceas.metacat.service.XMLSchemaService.<init>(XMLSchemaService.java:101)
    at edu.ucsb.nceas.metacat.service.XMLSchemaService.getInstance(XMLSchemaService.java:114)
    at edu.ucsb.nceas.metacat.MetaCatServlet.initSecondHalf(MetaCatServlet.java:350)
    at edu.ucsb.nceas.metacat.MetaCatServlet.init(MetaCatServlet.java:315)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4913)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5223)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
</code>
mbjones commented 6 years ago

Original Redmine Comment Author Name: Jing Tao (Jing Tao) Original Date: 2017-10-12T16:49:45Z


Just tried Metacat 2.8.5 on tomcat 8.0. It works fine.

mbjones commented 6 years ago

Original Redmine Comment Author Name: Jing Tao (Jing Tao) Original Date: 2017-10-13T19:09:29Z


I ran the junit test against tomcat and there is no failure.

However, we need to run the integration replication (both metacat and dataone ) tests as well.

taojing2002 commented 5 years ago

Some production Metacat server such as CERN is running on Tomcat 8.0. It works well. I also ran the junit test against tomcat 8 and didn't see any issue.

mbjones commented 5 years ago

Great. @taojing2002, can you update the installation documents to reflect this please?

taojing2002 commented 5 years ago

I updated the documents.