Hi, we've started to experience very slow shutdown of our tomcat instances in production. Doing a thread dump I see:
"localhost-startStop-2" #14871 daemon prio=5 os_prio=64 tid=0x0000000006700800 nid=0x3a37 runnable [0xfffffcffcc5fd000] java.lang.Thread.State: RUNNABLE at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:326) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1877) at java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1841) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1534) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) at java.util.HashMap.internalWriteEntries(HashMap.java:1785) at java.util.HashMap.writeObject(HashMap.java:1362) at sun.reflect.GeneratedMethodAccessor299.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:1028) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1496) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) at org.apache.wicket.pageStore.DiskDataStore.saveIndex(DiskDataStore.java:270) at org.apache.wicket.pageStore.DiskDataStore.destroy(DiskDataStore.java:106) at org.apache.wicket.pageStore.AsynchronousDataStore.destroy(AsynchronousDataStore.java:118) at org.apache.wicket.pageStore.AbstractPageStore.destroy(AbstractPageStore.java:53) at org.apache.wicket.pageStore.AbstractCachingPageStore.destroy(AbstractCachingPageStore.java:102) at org.apache.wicket.page.PageStoreManager.destroy(PageStoreManager.java:464) at org.apache.wicket.Application.internalDestroy(Application.java:798) at org.apache.wicket.protocol.http.WebApplication.internalDestroy(WebApplication.java:703) at org.apache.wicket.protocol.http.WicketFilter.destroy(WicketFilter.java:612) at org.apache.catalina.core.ApplicationFilterConfig.release(ApplicationFilterConfig.java:313) at org.apache.catalina.core.StandardContext.filterStop(StandardContext.java:4600) - locked <0x0000000703c91570> (a java.util.HashMap) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5362) - locked <0x0000000703c91368> (a org.apache.catalina.core.StandardContext) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) - locked <0x0000000703c91368> (a org.apache.catalina.core.StandardContext) at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1425) at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1414) 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) We do have replication setup, but I'm sure that this has only just started happening in the last week or so. What could cause this and is there anything I could do?