helix84, thank you for this idea. It pushed me towards the potential solution. With the following change to our 3 "contexts" XML files, the CPU spikes suddenly and completely stopped:
* reloadable="false"
* cachingAllowed="true"
(But I suspect 'reloadable' was the main change - more later)
We did have 3 individual Catalina/localhost contexts (ROOT.xml, solr.xml, and oai.xml). Their content before was:
<?xml version='1.0'?>
<Context
docBase="E:/dspace/..."
reloadable="true"
cachingAllowed="false"/>
Changing those flags in-place and saving suddenly stopped the CPU behavior I have documented -- even without stopping/starting Tomcat!
Your warning regarding "as opposed to server.xml" sounded like server.xml was the approved / better place for these contexts (although
the documentation here seems to imply 3 separate documents is most proper). I have since moved all 3 into server.xml at your recommendation. Of note, if I leave the settings for reloadable="true", the spiking activity that started this thread happily returned. For our installation, there appears to be no safe place for these contexts to be in development (reloadable='true') mode. Every 20 seconds to be checking for changed files seems egregious until you're actively making changes.
In my catalina (Tomcat) log file, I also found the following warning 3 times with each start-up:
org.apache.tomcat.util.digester.SetPropertiesRule.begin [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'cachingAllowed' to 'true' did not find a matching property.
There is not a correlated comment about reloadable so does our application need to create a container somehow for cachingAllowed to make the intended difference? I haven't found anyone else posting about this warning so we may be doing something uniquely wrong. The only place I found a reference to reloadable in our application was in dspace/config/default.context but adding the cachingAllowed property there didn't stop the error message.
Here are the contexts now with 'debug' and 'allowLinking' as holdovers from when we ran DSpace 3 (those two properties also make catalina WARNINGs):
<!-- DEFINE A CONTEXT PATH FOR DSpace JSP User Interface -->
<Context path="" docBase="E:\dspace\webapps\xmlui" debug="0"
reloadable="false" cachingAllowed="true"
allowLinking="true"/>
<!-- DEFINE A CONTEXT PATH FOR DSpace Solr Statistics -->
<Context path="/solr" docBase="E:\dspace\webapps\solr" debug="0"
reloadable="false" cachingAllowed="true"
allowLinking="true"/>
<Context path="/oai" docBase="E:\dspace\webapps\oai" debug="0"
reloadable="false" cachingAllowed="true"
allowLinking="true"/>
* Since the symptoms of our problem have dissipated, are we in the clear?
* Do I need to do something to make sure the cachingAllowed property is getting handled properly with respect to the WARNING messages?
Thank you!