Hi all,
Starting around last Tuesday users have been experiencing problems with submitting their theses to our DSpace (v5.5, PostgreSQL, Ubuntu 14.04 with DS 5.6 and 5.7 patches). What happens is they complete the submission information (name, abstract, file upload, license agreement, etc.) but when they press the final submit button after the last step it takes 1-2 minutes to either submit successfully or, most frequently, to get a 500 error.
We haven’t touched the source code in the last month, so we’re not sure what happened as of last week. Looking at the logs, I have noticed a few things:
- We are/were getting lots of traffic from Google, Bing and Baidu spiders – I have since implemented the Crawler Session Manager Valve in Tomcat7, which was mentioned by Alan Orth at https://wiki.duraspace.org/display/cmtygp/DCAT+Meeting+April+2017. We are now getting fewer sessions reported in Tomcat, but the upload/submission problem persists.
- In /dspace/log/dspace.log.<date> we are getting lots of “Failed DNS Lookup for IP:<IP address>”.
- In /dspace/log/dspace.log.<date> were are getting lots of “ERROR org.dspace.app.xmlui.cocoon.DSpaceCocoonServletFilter @ Client closed the connection before file download was complete”
- In /dspace/log/cocoon.log.<date> we are getting lots of errors like “Caused by: org.xml.sax.SAXException: An error was encountered while processing the 'aspect.general.PageNotFoundTransformer' Wing based component: org.dspace.app.xmlui.aspect.general.PageNotFoundTransformer”
The odd thing is that the user’s submission usually does go through successfully, even if the “Internal Server Error” page comes up. If they return to the home page, logout and login and go to their submissions they will set it there. Unfortunately, most people don’t know to do that and keep resubmitting their thesis.
Any pointers in the right direction are greatly appreciated!
Cheers,
Graham
-----------------------------------------
Graham Faulkner
Information Technology Specialist/Developer
Digital Initiatives, Library
University of Waterloo
Waterloo, Ontario N2L 3G1 CANADA
Hello again,
I wanted to provide a follow-up to this issue in case anyone has further insight. In order to address the issues outlined below, we ended up doing a full upgrade from our 5.5 code base (with 5.6 and 5.7 security patches) to 5.8. After the rebuild everything seemed to work as expected, and the timeouts during submissions didn’t occur.
However, the day after, my colleague realized that new items are not showing up in author browse. The new author(s) information is indeed available in Solr, but when you try to browse by author in DSpace, nothing comes up. Authors that were available before the upgrade are still viewable via author browse.
Any idea as to what is causing the problem, in the migration from 5.5 to 5.8? I notice a lot of “context.turnOffAuthorisationSystem()” and “context.restoreAuthSystemState()” calls in 5.8 – are they possibly related?
Again, any pointers in the right direction are greatly appreciated!
--
You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
dspace-tech...@googlegroups.com.
To post to this group, send email to
dspac...@googlegroups.com.
Visit this group at https://groups.google.com/group/dspace-tech.
For more options, visit https://groups.google.com/d/optout.
Tim Donohue Technical Lead for DSpace & DSpaceDirect DuraSpace.org | DSpace.org | DSpaceDirect.org
Hi Tim,
Thanks for the info. FYI, we are running DSpace 5.8 on Ubuntu 14.04 LTS and PostgreSQL. We run Apache and Tomcat7.
I tried to view the logs while my colleague did a deposit through the UI. The /dspace/log/solr.log file didn’t show any errors.
However, I did notice some errors/warnings in our /dspace/log/cocoon.log.2017-10-04 during the time frame of the deposit.
2017-10-04 10:39:32,176 WARN cocoon.access - org.apache.cocoon.ConnectionResetException: Connection reset by peer
at <map:select type="browser"> - jndi:/localhost/sitemap.xmap:256:68
at <map:match type="request-parameter"> - jndi:/localhost/sitemap.xmap:255:88
at <map:match> - jndi:/localhost/sitemap.xmap:254:70
2017-10-04 10:39:38,951 ERROR cocoon.handled - Could not read resource cocoon://DRI/1/handle/10012/9972/workflow
at <map:serialize type="xml"> - jndi:/localhost/aspects/aspects.xmap:85:34
at <map:transform type="PageNotFound"> - jndi:/localhost/aspects/aspects.xmap:84:43
at <map:generate> - jndi:/localhost/aspects/aspects.xmap:83:22
at <map:serialize type="html-no-doctype"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:198:56
at <map:transform type="strip-namespaces"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:108:54
at <map:transform type="i18n"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:102:44
at <map:transform> - jndi:/localhost/themes/Mirage2/sitemap.xmap:98:49
at <map:transform type="IncludePageMeta"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:85:51
at <map:transform> - jndi:/localhost/themes/Mirage2/sitemap.xmap:82:54
at <map:generate type="file"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:190:67
at <map:match> - jndi:/localhost/themes/Mirage2/sitemap.xmap:185:37
org.apache.cocoon.ProcessingException: Could not read resource cocoon://DRI/1/handle/10012/9972/workflow
at <map:serialize type="xml"> - jndi:/localhost/aspects/aspects.xmap:85:34
at <map:transform type="PageNotFound"> - jndi:/localhost/aspects/aspects.xmap:84:43
at <map:generate> - jndi:/localhost/aspects/aspects.xmap:83:22
at <map:serialize type="html-no-doctype"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:198:56
at <map:transform type="strip-namespaces"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:108:54
at <map:transform type="i18n"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:102:44
at <map:transform> - jndi:/localhost/themes/Mirage2/sitemap.xmap:98:49
at <map:transform type="IncludePageMeta"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:85:51
at <map:transform> - jndi:/localhost/themes/Mirage2/sitemap.xmap:82:54
at <map:generate type="file"> - jndi:/localhost/themes/Mirage2/sitemap.xmap:190:67
at <map:match> - jndi:/localhost/themes/Mirage2/sitemap.xmap:185:37
at org.apache.cocoon.components.source.util.SourceUtil.handleSAXException(SourceUtil.java:409)
at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:138)
at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71)
at com.sun.proxy.$Proxy92.generate(Unknown Source)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:544)
at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:273)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:750)
at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71)
at com.sun.proxy.$Proxy91.process(Unknown Source)
at org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:362)
at org.apache.cocoon.components.source.util.SourceUtil.toSAX(SourceUtil.java:111)
at org.apache.cocoon.components.source.util.SourceUtil.parse(SourceUtil.java:294)
at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:136)
at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71)
at com.sun.proxy.$Proxy92.generate(Unknown Source)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:544)
at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:273)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:439)
at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71)
at com.sun.proxy.$Proxy91.process(Unknown Source)
at org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:147)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:55)
at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:87)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:81)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:239)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:171)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:247)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:55)
at org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke(MatchNode.java:87)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:81)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:239)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:171)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:247)
at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:143)
at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:78)
at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:81)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:239)
at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:171)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:247)
at org.apache.cocoon.servlet.RequestProcessor.process(RequestProcessor.java:351)
at org.apache.cocoon.servlet.RequestProcessor.service(RequestProcessor.java:169)
at org.apache.cocoon.sitemap.SitemapServlet.service(SitemapServlet.java:84)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.cocoon.servletservice.ServletServiceContext$PathDispatcher.forward(ServletServiceContext.java:468)
at org.apache.cocoon.servletservice.ServletServiceContext$PathDispatcher.forward(ServletServiceContext.java:443)
at org.apache.cocoon.servletservice.spring.ServletFactoryBean$ServiceInterceptor.invoke(ServletFactoryBean.java:264)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy86.service(Unknown Source)
at org.dspace.springmvc.CocoonView.render(CocoonView.java:113)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.dspace.app.xmlui.cocoon.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.dspace.app.xmlui.cocoon.DSpaceCocoonServletFilter.doFilter(DSpaceCocoonServletFilter.java:274)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.dspace.app.xmlui.cocoon.servlet.multipart.DSpaceMultipartFilter.doFilter(DSpaceMultipartFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.dspace.rdf.negotiation.NegotiationFilter.doFilter(NegotiationFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.dspace.utils.servlet.DSpaceWebappServletFilter.doFilter(DSpaceWebappServletFilter.java:78)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.CrawlerSessionManagerValve.invoke(CrawlerSessionManagerValve.java:180)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:193)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:292)
at org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:148)
at org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:62)
at org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:153)
at org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:183)
at org.apache.cocoon.generation.FileGenerator.setup(FileGenerator.java:99)
at org.dspace.app.xmlui.cocoon.AspectGenerator.setup(AspectGenerator.java:81)
at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71)
at com.sun.proxy.$Proxy92.setup(Unknown Source)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setupPipeline(AbstractProcessingPipeline.java:343)
at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setupPipeline(AbstractCachingProcessingPipeline.java:710)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.preparePipeline(AbstractProcessingPipeline.java:466)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.prepareInternal(AbstractProcessingPipeline.java:480)
at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71)
at com.sun.proxy.$Proxy91.prepareInternal(Unknown Source)
at org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:292)
at org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:148)
at org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:62)
at org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:153)
at org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:183)
at org.apache.cocoon.generation.FileGenerator.setup(FileGenerator.java:99)
at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.cocoon.core.container.spring.avalon.PoolableProxyHandler.invoke(PoolableProxyHandler.java:71)
at com.sun.proxy.$Proxy92.setup(Unknown Source)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.setupPipeline(AbstractProcessingPipeline.java:343)
at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.setupPipeline(AbstractCachingProcessingPipeline.java:710)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.preparePipeline(AbstractProcessingPipeline.java:466)
at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:411)
... 83 more
2017-10-04 10:39:57,659 ERROR cocoon.handled - Unable to locate bitstream
at <map:read type="BitstreamReader"> - jndi:/localhost/sitemap.xmap:284:70
at <map:select type="browser"> - jndi:/localhost/sitemap.xmap:275:60
at <map:match> - jndi:/localhost/sitemap.xmap:254:70
Here are some Apache-related errors that happened around the time of the deposit.
e.g. /var/log/apache2/error.log
[Wed Oct 04 09:28:09.544782 2017] [proxy_ajp:error] [pid 24170:tid 139621576918784] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Wed Oct 04 09:30:09.404180 2017] [proxy_ajp:error] [pid 24170:tid 139621694416640] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Wed Oct 04 09:32:54.984955 2017] [proxy_ajp:error] [pid 24170:tid 139621830248192] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Wed Oct 04 09:33:16.772086 2017] [proxy_ajp:error] [pid 24139:tid 139621686023936] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Wed Oct 04 09:36:38.703150 2017] [proxy_ajp:error] [pid 24139:tid 139621635667712] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Wed Oct 04 10:15:49.539011 2017] [proxy_ajp:error] [pid 24139:tid 139621736380160] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Wed Oct 04 10:23:35.159806 2017] [proxy_ajp:error] [pid 24139:tid 139621830248192] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
[Wed Oct 04 10:24:00.120814 2017] [proxy_ajp:error] [pid 24170:tid 139621719594752] (70007)The timeout specified has expired: AH01030: ajp_ilink_receive() can't receive header
e.g. /var/log/apache2/uwspace.uwaterloo.ca-error.log
[Wed Oct 04 10:15:49.539068 2017] [proxy_ajp:error] [pid 24139:tid 139621736380160] [client 129.97.138.124:64987] AH00992: ajp_read_header: ajp_ilink_receive failed, referer: https://uwspace.uwaterloo.ca/handle/10012/9972/submit/711e23062a241d6553614a206f6b528c15586d01.continue
[Wed Oct 04 10:15:49.539182 2017] [proxy_ajp:error] [pid 24139:tid 139621736380160] (70007)The timeout specified has expired: [client 129.97.138.124:64987] AH00878: read response failed from [::1]:8009 (localhost), referer: https://uwspace.uwaterloo.ca/handle/10012/9972/submit/711e23062a241d6553614a206f6b528c15586d01.continue
[Wed Oct 04 10:23:35.159848 2017] [proxy_ajp:error] [pid 24139:tid 139621830248192] [client 129.97.138.124:65336] AH00992: ajp_read_header: ajp_ilink_receive failed, referer: https://uwspace.uwaterloo.ca/submissions
[Wed Oct 04 10:23:35.159927 2017] [proxy_ajp:error] [pid 24139:tid 139621830248192] (70007)The timeout specified has expired: [client 129.97.138.124:65336] AH00878: read response failed from [::1]:8009 (localhost), referer: https://uwspace.uwaterloo.ca/submissions
[Wed Oct 04 10:24:00.120859 2017] [proxy_ajp:error] [pid 24170:tid 139621719594752] [client 129.97.138.124:65345] AH00992: ajp_read_header: ajp_ilink_receive failed, referer: https://uwspace.uwaterloo.ca/submissions
[Wed Oct 04 10:24:00.120879 2017] [proxy_ajp:error] [pid 24170:tid 139621719594752] (70007)The timeout specified has expired: [client 129.97.138.124:65345] AH00878: read response failed from [::1]:8009 (localhost), referer: https://uwspace.uwaterloo.ca/submissions
I also noticed the following in the /var/log/tomcat7/localhost.2017-10-04.log file from earlier today:
Oct 04, 2017 7:00:06 AM org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
Oct 04, 2017 7:00:09 AM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class org.dspace.app.util.DSpaceContextListener
java.lang.NullPointerException
at org.dspace.app.util.DSpaceContextListener.contextDestroyed(DSpaceContextListener.java:146)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5051)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5696)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Oct 04, 2017 7:00:10 AM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class websocket.drawboard.DrawboardContextListener
java.lang.NoClassDefFoundError: javax/websocket/Endpoint
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2966)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1209)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1689)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1570)
at websocket.drawboard.DrawboardContextListener.contextDestroyed(DrawboardContextListener.java:32)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5051)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5696)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: javax.websocket.Endpoint
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1719)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1570)
... 17 more
I’m not an Apache and Tomcat expert by any stretch, so any pointers in the right direction are appreciated. It seems like we need to optimize our Apache and Tomcat configs so that the timeout issues are handled, but I’m not sure where to begin.
Another observation: we get a lot of traffic from various bots/crawlers, which may be affecting our performance.
Hi Tim et al,
A further point of clarification: the PostgreSQL database and Solr index have the same number of items. (Used the technique suggested by Tom Desair in https://groups.google.com/forum/#!topic/dspace-tech/hF0NTZJpqlU).
So, Solr appears to index everything correctly, but our XMLUI Mirage 2’s ‘author browse’ function does not work for newly ingested (after 5.8 migration) items.
In case someone stumbles across this in the future, a quick follow-up. We discovered that a server update and restart had left the handle server process in a bad state. Therefore it was keeping db connections open and causing the timeouts. Once we killed the process and restarted the handle server, the submission times returned to normal.
However, we are still having problems with getting our author browse to work correctly. After a discovery index rebuild (i.e. ./dspace index-discovery –b) all browse items are gone. Discovery search still works fine; it is just the author browse that is missing.