OutOfMemoryError and recommended memory settings

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

OutOfMemoryError and recommended memory settings

César Martínez Izquierdo-3
Hi, we are facing OutOfMemory errors in Geonetwork, We have assigned
6GB of memory for Java and we have about 20.000 metadata records. We
are using Geonetwork 3.10.1.

What is your experience regarding Geonetwork memory requirements? Is
6GB a low value for that amount of records or do we have some
particular problem in our server/environment?

We are a bit surprised, because if we consider an average of 40 KB for
each record in XML format (which is quite realistic in our case), all
of them should fit in 1GB of RAM. I understand this is an
oversimplification because the XML is parsed and complex structures
will be created in memory, but still it seems a big amount of RAM.

As soon as we restart Tomcat, it seems Geonetwork is already using all
the available memory and it soon starts to write the OutOfMemory
errors in the log.

I paste an extract of the log [1] bellow.

Thanks in advance,

César Martínez

[1] Log extract:
2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a transaction
org.fao.geonet.api.exception.ResourceNotFoundException: Record with
UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in this cat
alog
        at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
        at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
        at org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
        at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandle
rMethod.java:114)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandl
erAdapter.java:827)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAda
pter.java:738)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
        at jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
        at jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
        at jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
        at jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
        at jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
        at jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        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:218)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a transaction
org.springframework.web.util.NestedServletException: Handler dispatch
failed; nested exception is java.lang.OutOfMemoryError: Java heap
space
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978)
        at jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
        at jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
        at jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
        at jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
        at jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
        at jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        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:218)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.OutOfMemoryError: Java heap space
2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a transaction
org.fao.geonet.api.exception.ResourceNotFoundException: Record with
UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this catalog
        at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
        at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
        at org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
        at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
        at jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
        at jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
        at jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
        at jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
        at jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
        at jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        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:218)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
        at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)



--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   César Martínez Izquierdo
   GIS developer
   -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
   SCOLAB: http://www.scolab.es
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

ccancellieri
Dear César,
 I use to configure it with the following JAVA_OPTS in addition to the rest:

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
-Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -server
-Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
.......

Take also a look here:
https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-guide/production-use/index.html

Our geonetwork manages about 10k metadata and only when I tried to perform
massive operation (on the entire collection) I've got those kind of error.

In my opinion 6Gb can be too much and sometime counterproductive.

Can you specify the operation you were doing to generate that error?

Regards,
C.


Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
[hidden email]> ha scritto:

> Hi, we are facing OutOfMemory errors in Geonetwork, We have assigned
> 6GB of memory for Java and we have about 20.000 metadata records. We
> are using Geonetwork 3.10.1.
>
> What is your experience regarding Geonetwork memory requirements? Is
> 6GB a low value for that amount of records or do we have some
> particular problem in our server/environment?
>
> We are a bit surprised, because if we consider an average of 40 KB for
> each record in XML format (which is quite realistic in our case), all
> of them should fit in 1GB of RAM. I understand this is an
> oversimplification because the XML is parsed and complex structures
> will be created in memory, but still it seems a big amount of RAM.
>
> As soon as we restart Tomcat, it seems Geonetwork is already using all
> the available memory and it soon starts to write the OutOfMemory
> errors in the log.
>
> I paste an extract of the log [1] bellow.
>
> Thanks in advance,
>
> César Martínez
>
> [1] Log extract:
> 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
> transaction
> org.fao.geonet.api.exception.ResourceNotFoundException: Record with
> UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in this cat
> alog
>         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
>         at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
>         at
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
>         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
>         at
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
>         at
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandle
> rMethod.java:114)
>         at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandl
> erAdapter.java:827)
>         at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAda
> pter.java:738)
>         at
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
>         at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
>         at
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
>         at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
>         at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>         at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
>         at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
>         at
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
>         at
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>         at
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>         at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>         at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>         at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
>         at
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         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:218)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
>         at
> org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
>         at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
>         at org.apache.tomcat.util.net
> .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:748)
> 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
> transaction
> org.springframework.web.util.NestedServletException: Handler dispatch
> failed; nested exception is java.lang.OutOfMemoryError: Java heap
> space
>         at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
>         at
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
>         at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
>         at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>         at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
>         at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
>         at
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
>         at
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>         at
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>         at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>         at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>         at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
>         at
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         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:218)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
>         at
> org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
>         at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
>         at org.apache.tomcat.util.net
> .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.OutOfMemoryError: Java heap space
> 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
> transaction
> org.fao.geonet.api.exception.ResourceNotFoundException: Record with
> UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this catalog
>         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
>         at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
>         at
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
>         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
>         at
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
>         at
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
>         at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
>         at
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
>         at
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
>         at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
>         at
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
>         at
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
>         at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
>         at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>         at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
>         at
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
>         at
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
>         at
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>         at
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>         at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>         at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>         at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>         at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>         at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>         at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
>         at
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>         at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
>         at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         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:218)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>         at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
>         at
> org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
>         at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
>         at org.apache.tomcat.util.net
> .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:748)
>
>
>
> --
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>    César Martínez Izquierdo
>    GIS developer
>    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
>    SCOLAB: http://www.scolab.es
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
>
> _______________________________________________
> GeoNetwork-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>


--
Mr. Carlo Cancellieri
*skype*: ccancellieri
*Twitter*: @cancellieric
*LinkedIn*: http://it.linkedin.com/in/ccancellieri/

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

Ob Rzwo
 www.geodatenkatalog.de has > 200000 metadata and we currently consume 5 GB
RAM on our master harvester Docker container (calculated without operating
system etc.) But this is only because we often restart the master harvester
via cronjob. Otherwise it consumes (without reboots) easily in the
double-digit GB range!

Am Di., 24. März 2020 um 17:53 Uhr schrieb carlo cancellieri <
[hidden email]>:

> Dear César,
>  I use to configure it with the following JAVA_OPTS in addition to the
> rest:
>
> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -server
> -Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
> .......
>
> Take also a look here:
>
> https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-guide/production-use/index.html
>
> Our geonetwork manages about 10k metadata and only when I tried to perform
> massive operation (on the entire collection) I've got those kind of error.
>
> In my opinion 6Gb can be too much and sometime counterproductive.
>
> Can you specify the operation you were doing to generate that error?
>
> Regards,
> C.
>
>
> Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
> [hidden email]> ha scritto:
>
> > Hi, we are facing OutOfMemory errors in Geonetwork, We have assigned
> > 6GB of memory for Java and we have about 20.000 metadata records. We
> > are using Geonetwork 3.10.1.
> >
> > What is your experience regarding Geonetwork memory requirements? Is
> > 6GB a low value for that amount of records or do we have some
> > particular problem in our server/environment?
> >
> > We are a bit surprised, because if we consider an average of 40 KB for
> > each record in XML format (which is quite realistic in our case), all
> > of them should fit in 1GB of RAM. I understand this is an
> > oversimplification because the XML is parsed and complex structures
> > will be created in memory, but still it seems a big amount of RAM.
> >
> > As soon as we restart Tomcat, it seems Geonetwork is already using all
> > the available memory and it soon starts to write the OutOfMemory
> > errors in the log.
> >
> > I paste an extract of the log [1] bellow.
> >
> > Thanks in advance,
> >
> > César Martínez
> >
> > [1] Log extract:
> > 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
> > transaction
> > org.fao.geonet.api.exception.ResourceNotFoundException: Record with
> > UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in this cat
> > alog
> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >         at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >         at
> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >         at
> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
> >         at
> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
> >         at
> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandle
> > rMethod.java:114)
> >         at
> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandl
> > erAdapter.java:827)
> >         at
> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAda
> > pter.java:738)
> >         at
> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
> >         at
> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
> >         at
> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
> >         at
> >
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> >         at
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >         at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >         at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
> >         at
> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> >         at
> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> >         at
> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> >         at
> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> >         at
> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> >         at
> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >         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:218)
> >         at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
> >         at
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
> >         at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >         at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >         at
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
> >         at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >         at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
> >         at
> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >         at
> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
> >         at org.apache.tomcat.util.net
> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >         at
> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >         at java.lang.Thread.run(Thread.java:748)
> > 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
> > transaction
> > org.springframework.web.util.NestedServletException: Handler dispatch
> > failed; nested exception is java.lang.OutOfMemoryError: Java heap
> > space
> >         at
> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
> >         at
> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
> >         at
> >
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> >         at
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >         at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >         at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
> >         at
> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> >         at
> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> >         at
> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> >         at
> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> >         at
> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> >         at
> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >         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:218)
> >         at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
> >         at
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
> >         at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >         at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >         at
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
> >         at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >         at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
> >         at
> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >         at
> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
> >         at org.apache.tomcat.util.net
> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >         at
> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >         at java.lang.Thread.run(Thread.java:748)
> > Caused by: java.lang.OutOfMemoryError: Java heap space
> > 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
> > transaction
> > org.fao.geonet.api.exception.ResourceNotFoundException: Record with
> > UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this catalog
> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >         at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >         at
> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
> >         at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >         at
> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
> >         at
> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
> >         at
> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
> >         at
> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
> >         at
> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> >         at
> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
> >         at
> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
> >         at
> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
> >         at
> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
> >         at
> >
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >         at
> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> >         at
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> >         at
> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >         at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >         at
> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
> >         at
> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> >         at
> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >         at
> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> >         at
> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> >         at
> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> >         at
> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> >         at
> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >         at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >         at
> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> >         at
> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >         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:218)
> >         at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
> >         at
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
> >         at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >         at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >         at
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
> >         at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >         at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
> >         at
> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >         at
> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
> >         at org.apache.tomcat.util.net
> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >         at
> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >         at java.lang.Thread.run(Thread.java:748)
> >
> >
> >
> > --
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >    César Martínez Izquierdo
> >    GIS developer
> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> >    SCOLAB: http://www.scolab.es
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >
> >
> > _______________________________________________
> > GeoNetwork-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> > GeoNetwork OpenSource is maintained at
> > http://sourceforge.net/projects/geonetwork
> >
>
>
> --
> Mr. Carlo Cancellieri
> *skype*: ccancellieri
> *Twitter*: @cancellieric
> *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
>
> _______________________________________________
> GeoNetwork-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

César Martínez Izquierdo-3
Thank you very much for the feedback.

It seems to happen particularly when we are running some replacing
operations (). But it also happened without doing any
editing/inserting operation. According to "top" command, Geonetwork
uses 6GB of RAM as soon as Tomcat is restarted, so I am not surprised
that it gets out of memory just with some searches.

We have tried using the G1 garbage collector to try to improve the
situation (-XX:+UseG1GC), as it seems to be the recommended collector
for instances with that amount of RAM. But no success for the moment.
We have not tried the parallel collector. We have set that amount
because we were also getting OutOfMemory errors with smaller amounts
of RAM (2GB, 4GB... and the default garbage collector).

According to your reports, I would say we have a problem in our
installation/environment. Although you also need often restarts to
keep the process in good fit.

We are going to increase the amount memory and test, I will report
back the results. Please, don't hesitate to write if you have any
additional idea.

César

On Tue, 24 Mar 2020 at 18:06, Ob Rzwo <[hidden email]> wrote:

>
> www.geodatenkatalog.de has > 200000 metadata and we currently consume 5 GB RAM on our master harvester Docker container (calculated without operating system etc.) But this is only because we often restart the master harvester via cronjob. Otherwise it consumes (without reboots) easily in the double-digit GB range!
>
> Am Di., 24. März 2020 um 17:53 Uhr schrieb carlo cancellieri <[hidden email]>:
>>
>> Dear César,
>>  I use to configure it with the following JAVA_OPTS in addition to the rest:
>>
>> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
>> -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -server
>> -Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
>> .......
>>
>> Take also a look here:
>> https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-guide/production-use/index.html
>>
>> Our geonetwork manages about 10k metadata and only when I tried to perform
>> massive operation (on the entire collection) I've got those kind of error.
>>
>> In my opinion 6Gb can be too much and sometime counterproductive.
>>
>> Can you specify the operation you were doing to generate that error?
>>
>> Regards,
>> C.
>>
>>
>> Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
>> [hidden email]> ha scritto:
>>
>> > Hi, we are facing OutOfMemory errors in Geonetwork, We have assigned
>> > 6GB of memory for Java and we have about 20.000 metadata records. We
>> > are using Geonetwork 3.10.1.
>> >
>> > What is your experience regarding Geonetwork memory requirements? Is
>> > 6GB a low value for that amount of records or do we have some
>> > particular problem in our server/environment?
>> >
>> > We are a bit surprised, because if we consider an average of 40 KB for
>> > each record in XML format (which is quite realistic in our case), all
>> > of them should fit in 1GB of RAM. I understand this is an
>> > oversimplification because the XML is parsed and complex structures
>> > will be created in memory, but still it seems a big amount of RAM.
>> >
>> > As soon as we restart Tomcat, it seems Geonetwork is already using all
>> > the available memory and it soon starts to write the OutOfMemory
>> > errors in the log.
>> >
>> > I paste an extract of the log [1] bellow.
>> >
>> > Thanks in advance,
>> >
>> > César Martínez
>> >
>> > [1] Log extract:
>> > 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
>> > transaction
>> > org.fao.geonet.api.exception.ResourceNotFoundException: Record with
>> > UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in this cat
>> > alog
>> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
>> >         at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
>> >         at
>> > org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
>> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
>> >         at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >         at java.lang.reflect.Method.invoke(Method.java:498)
>> >         at
>> > org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
>> >         at
>> > org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
>> >         at
>> > org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandle
>> > rMethod.java:114)
>> >         at
>> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandl
>> > erAdapter.java:827)
>> >         at
>> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAda
>> > pter.java:738)
>> >         at
>> > org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
>> >         at
>> > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
>> >         at
>> > jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
>> >         at
>> > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
>> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>> >         at
>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>> >         at
>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
>> >         at
>> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>> >         at
>> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>> >         at
>> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>> >         at
>> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
>> >         at
>> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
>> >         at
>> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> >         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:218)
>> >         at
>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
>> >         at
>> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
>> >         at
>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
>> >         at
>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>> >         at
>> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
>> >         at
>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>> >         at
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
>> >         at
>> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
>> >         at
>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
>> >         at org.apache.tomcat.util.net
>> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>> >         at
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> >         at
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> >         at
>> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>> >         at java.lang.Thread.run(Thread.java:748)
>> > 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
>> > transaction
>> > org.springframework.web.util.NestedServletException: Handler dispatch
>> > failed; nested exception is java.lang.OutOfMemoryError: Java heap
>> > space
>> >         at
>> > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
>> >         at
>> > jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
>> >         at
>> > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
>> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>> >         at
>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>> >         at
>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
>> >         at
>> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>> >         at
>> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>> >         at
>> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>> >         at
>> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
>> >         at
>> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
>> >         at
>> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> >         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:218)
>> >         at
>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
>> >         at
>> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
>> >         at
>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
>> >         at
>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>> >         at
>> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
>> >         at
>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>> >         at
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
>> >         at
>> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
>> >         at
>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
>> >         at org.apache.tomcat.util.net
>> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>> >         at
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> >         at
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> >         at
>> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>> >         at java.lang.Thread.run(Thread.java:748)
>> > Caused by: java.lang.OutOfMemoryError: Java heap space
>> > 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
>> > transaction
>> > org.fao.geonet.api.exception.ResourceNotFoundException: Record with
>> > UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this catalog
>> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
>> >         at org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
>> >         at
>> > org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
>> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown Source)
>> >         at
>> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> >         at java.lang.reflect.Method.invoke(Method.java:498)
>> >         at
>> > org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
>> >         at
>> > org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
>> >         at
>> > org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
>> >         at
>> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
>> >         at
>> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
>> >         at
>> > org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
>> >         at
>> > org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
>> >         at
>> > jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
>> >         at
>> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
>> >         at
>> > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
>> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
>> >         at
>> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
>> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
>> >         at
>> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>> >         at
>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>> >         at
>> > org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
>> >         at
>> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>> >         at
>> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>> >         at
>> > org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>> >         at
>> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>> >         at
>> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
>> >         at
>> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
>> >         at
>> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
>> >         at
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
>> >         at
>> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
>> >         at
>> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> >         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:218)
>> >         at
>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
>> >         at
>> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
>> >         at
>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
>> >         at
>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
>> >         at
>> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
>> >         at
>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
>> >         at
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
>> >         at
>> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
>> >         at
>> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
>> >         at org.apache.tomcat.util.net
>> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
>> >         at
>> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> >         at
>> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> >         at
>> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>> >         at java.lang.Thread.run(Thread.java:748)
>> >
>> >
>> >
>> > --
>> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> >    César Martínez Izquierdo
>> >    GIS developer
>> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
>> >    SCOLAB: http://www.scolab.es
>> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>> >
>> >
>> > _______________________________________________
>> > GeoNetwork-users mailing list
>> > [hidden email]
>> > https://lists.sourceforge.net/lists/listinfo/geonetwork-users
>> > GeoNetwork OpenSource is maintained at
>> > http://sourceforge.net/projects/geonetwork
>> >
>>
>>
>> --
>> Mr. Carlo Cancellieri
>> *skype*: ccancellieri
>> *Twitter*: @cancellieric
>> *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
>>
>> _______________________________________________
>> GeoNetwork-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
>> GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork



--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   César Martínez Izquierdo
   GIS developer
   -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
   SCOLAB: http://www.scolab.es
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

Ob Rzwo
Hi, checkout the commands htop (needs to be installed), free -m (or -g),
ctop (for containers, download from GitHub).

Here our sick settings for the master harvester:

CATALINA_OPTS=-Xms10g -Xmx108g -Xss4096k -XX:NewSize=2G -XX:MaxNewSize=4G
-XX:+UseG1GC -XX:MaxGCPauseMillis=1000

Yes, we had already occupied over 100 GB RAM by a Geonetwork instance, just
by harvesting and being harvested! If I'm not mistaken, GeoCat has got the
problems under control, so 108 GB is currently exaggerated. :D

Greetings

Am Di., 24. März 2020 um 18:45 Uhr schrieb César Martínez Izquierdo <
[hidden email]>:

> Thank you very much for the feedback.
>
> It seems to happen particularly when we are running some replacing
> operations (). But it also happened without doing any
> editing/inserting operation. According to "top" command, Geonetwork
> uses 6GB of RAM as soon as Tomcat is restarted, so I am not surprised
> that it gets out of memory just with some searches.
>
> We have tried using the G1 garbage collector to try to improve the
> situation (-XX:+UseG1GC), as it seems to be the recommended collector
> for instances with that amount of RAM. But no success for the moment.
> We have not tried the parallel collector. We have set that amount
> because we were also getting OutOfMemory errors with smaller amounts
> of RAM (2GB, 4GB... and the default garbage collector).
>
> According to your reports, I would say we have a problem in our
> installation/environment. Although you also need often restarts to
> keep the process in good fit.
>
> We are going to increase the amount memory and test, I will report
> back the results. Please, don't hesitate to write if you have any
> additional idea.
>
> César
>
> On Tue, 24 Mar 2020 at 18:06, Ob Rzwo <[hidden email]> wrote:
> >
> > www.geodatenkatalog.de has > 200000 metadata and we currently consume 5
> GB RAM on our master harvester Docker container (calculated without
> operating system etc.) But this is only because we often restart the master
> harvester via cronjob. Otherwise it consumes (without reboots) easily in
> the double-digit GB range!
> >
> > Am Di., 24. März 2020 um 17:53 Uhr schrieb carlo cancellieri <
> [hidden email]>:
> >>
> >> Dear César,
> >>  I use to configure it with the following JAVA_OPTS in addition to the
> rest:
> >>
> >> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> >> -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
> -server
> >> -Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
> >> .......
> >>
> >> Take also a look here:
> >>
> https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-guide/production-use/index.html
> >>
> >> Our geonetwork manages about 10k metadata and only when I tried to
> perform
> >> massive operation (on the entire collection) I've got those kind of
> error.
> >>
> >> In my opinion 6Gb can be too much and sometime counterproductive.
> >>
> >> Can you specify the operation you were doing to generate that error?
> >>
> >> Regards,
> >> C.
> >>
> >>
> >> Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
> >> [hidden email]> ha scritto:
> >>
> >> > Hi, we are facing OutOfMemory errors in Geonetwork, We have assigned
> >> > 6GB of memory for Java and we have about 20.000 metadata records. We
> >> > are using Geonetwork 3.10.1.
> >> >
> >> > What is your experience regarding Geonetwork memory requirements? Is
> >> > 6GB a low value for that amount of records or do we have some
> >> > particular problem in our server/environment?
> >> >
> >> > We are a bit surprised, because if we consider an average of 40 KB for
> >> > each record in XML format (which is quite realistic in our case), all
> >> > of them should fit in 1GB of RAM. I understand this is an
> >> > oversimplification because the XML is parsed and complex structures
> >> > will be created in memory, but still it seems a big amount of RAM.
> >> >
> >> > As soon as we restart Tomcat, it seems Geonetwork is already using all
> >> > the available memory and it soon starts to write the OutOfMemory
> >> > errors in the log.
> >> >
> >> > I paste an extract of the log [1] bellow.
> >> >
> >> > Thanks in advance,
> >> >
> >> > César Martínez
> >> >
> >> > [1] Log extract:
> >> > 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record with
> >> > UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in this cat
> >> > alog
> >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >> >         at
> org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >> >         at
> >> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
> >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> Source)
> >> >         at
> >> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandle
> >> > rMethod.java:114)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandl
> >> > erAdapter.java:827)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAda
> >> > pter.java:738)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >> >         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:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> > 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.springframework.web.util.NestedServletException: Handler dispatch
> >> > failed; nested exception is java.lang.OutOfMemoryError: Java heap
> >> > space
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >> >         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:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> > Caused by: java.lang.OutOfMemoryError: Java heap space
> >> > 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record with
> >> > UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this catalog
> >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >> >         at
> org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >> >         at
> >> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedBy(FormatterApi.java:290)
> >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> Source)
> >> >         at
> >> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDispatcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(JeevesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionManager.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDispatcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java:129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilter(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeoutCookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDelegatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> >> >         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:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> >
> >> >
> >> >
> >> > --
> >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >> >    César Martínez Izquierdo
> >> >    GIS developer
> >> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> >> >    SCOLAB: http://www.scolab.es
> >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >> >
> >> >
> >> > _______________________________________________
> >> > GeoNetwork-users mailing list
> >> > [hidden email]
> >> > https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> >> > GeoNetwork OpenSource is maintained at
> >> > http://sourceforge.net/projects/geonetwork
> >> >
> >>
> >>
> >> --
> >> Mr. Carlo Cancellieri
> >> *skype*: ccancellieri
> >> *Twitter*: @cancellieric
> >> *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
> >>
> >> _______________________________________________
> >> GeoNetwork-users mailing list
> >> [hidden email]
> >> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> >> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>
>
>
> --
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>    César Martínez Izquierdo
>    GIS developer
>    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
>    SCOLAB: http://www.scolab.es
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

BartV
Hi César and Ob,
I also had a similar problem.
https://stackoverflow.com/questions/59894089/java-heap-space-error-when-using-geonetwork-metadata-full-view

I did a lot of tests and checks but unfortunately, I was not able to find a solution.
If you will, could you please describe here your solution and or suggestions?

Thanks in advance.

Bartolomeo

-----Original Message-----
From: Ob Rzwo <[hidden email]>
Sent: Tuesday, March 24, 2020 19:02
To: César Martínez Izquierdo <[hidden email]>
Cc: [hidden email]
Subject: Re: [GeoNetwork-users] OutOfMemoryError and recommended memory settings

Hi, checkout the commands htop (needs to be installed), free -m (or -g), ctop (for containers, download from GitHub).

Here our sick settings for the master harvester:

CATALINA_OPTS=-Xms10g -Xmx108g -Xss4096k -XX:NewSize=2G -XX:MaxNewSize=4G -XX:+UseG1GC -XX:MaxGCPauseMillis=1000

Yes, we had already occupied over 100 GB RAM by a Geonetwork instance, just by harvesting and being harvested! If I'm not mistaken, GeoCat has got the problems under control, so 108 GB is currently exaggerated. :D

Greetings

Am Di., 24. März 2020 um 18:45 Uhr schrieb César Martínez Izquierdo <
[hidden email]>:

> Thank you very much for the feedback.
>
> It seems to happen particularly when we are running some replacing
> operations (). But it also happened without doing any
> editing/inserting operation. According to "top" command, Geonetwork
> uses 6GB of RAM as soon as Tomcat is restarted, so I am not surprised
> that it gets out of memory just with some searches.
>
> We have tried using the G1 garbage collector to try to improve the
> situation (-XX:+UseG1GC), as it seems to be the recommended collector
> for instances with that amount of RAM. But no success for the moment.
> We have not tried the parallel collector. We have set that amount
> because we were also getting OutOfMemory errors with smaller amounts
> of RAM (2GB, 4GB... and the default garbage collector).
>
> According to your reports, I would say we have a problem in our
> installation/environment. Although you also need often restarts to
> keep the process in good fit.
>
> We are going to increase the amount memory and test, I will report
> back the results. Please, don't hesitate to write if you have any
> additional idea.
>
> César
>
> On Tue, 24 Mar 2020 at 18:06, Ob Rzwo <[hidden email]> wrote:
> >
> > www.geodatenkatalog.de has > 200000 metadata and we currently
> > consume 5
> GB RAM on our master harvester Docker container (calculated without
> operating system etc.) But this is only because we often restart the
> master harvester via cronjob. Otherwise it consumes (without reboots)
> easily in the double-digit GB range!
> >
> > Am Di., 24. März 2020 um 17:53 Uhr schrieb carlo cancellieri <
> [hidden email]>:
> >>
> >> Dear César,
> >>  I use to configure it with the following JAVA_OPTS in addition to
> >> the
> rest:
> >>
> >> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> >> -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
> -server
> >> -Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
> >> .......
> >>
> >> Take also a look here:
> >>
> https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-g
> uide/production-use/index.html
> >>
> >> Our geonetwork manages about 10k metadata and only when I tried to
> perform
> >> massive operation (on the entire collection) I've got those kind of
> error.
> >>
> >> In my opinion 6Gb can be too much and sometime counterproductive.
> >>
> >> Can you specify the operation you were doing to generate that error?
> >>
> >> Regards,
> >> C.
> >>
> >>
> >> Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
> >> [hidden email]> ha scritto:
> >>
> >> > Hi, we are facing OutOfMemory errors in Geonetwork, We have
> >> > assigned 6GB of memory for Java and we have about 20.000 metadata
> >> > records. We are using Geonetwork 3.10.1.
> >> >
> >> > What is your experience regarding Geonetwork memory requirements?
> >> > Is 6GB a low value for that amount of records or do we have some
> >> > particular problem in our server/environment?
> >> >
> >> > We are a bit surprised, because if we consider an average of 40
> >> > KB for each record in XML format (which is quite realistic in our
> >> > case), all of them should fit in 1GB of RAM. I understand this is
> >> > an oversimplification because the XML is parsed and complex
> >> > structures will be created in memory, but still it seems a big amount of RAM.
> >> >
> >> > As soon as we restart Tomcat, it seems Geonetwork is already
> >> > using all the available memory and it soon starts to write the
> >> > OutOfMemory errors in the log.
> >> >
> >> > I paste an extract of the log [1] bellow.
> >> >
> >> > Thanks in advance,
> >> >
> >> > César Martínez
> >> >
> >> > [1] Log extract:
> >> > 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> >> > with UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in
> >> > this cat alog
> >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >> >         at
> org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >> >         at
> >> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> y(FormatterApi.java:290)
> >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> Source)
> >> >         at
> >> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
> >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> (InvocableHandlerMethod.java:221)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> rRequest(InvocableHandlerMethod.java:136)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> HandlerMethod.invokeAndHandle(ServletInvocableHandle
> >> > rMethod.java:114)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.invokeHandlerMethod(RequestMappingHandl
> >> > erAdapter.java:827)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.handleInternal(RequestMappingHandlerAda
> >> > pter.java:738)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> r.handle(AbstractHandlerMethodAdapter.java:85)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServlet.java:963)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> atcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> ger.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> atcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> t.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> let.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> :129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> csFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> r(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> va:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> va:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> )
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> er.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> Filter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> CookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthentication
> ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> 199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticatio
> nFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do
> Filter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> Filter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> ter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> terChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> Proxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> legatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> l(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> orBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> 62)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> > 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.springframework.web.util.NestedServletException: Handler
> >> > dispatch failed; nested exception is java.lang.OutOfMemoryError:
> >> > Java heap space
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServlet.java:978)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> atcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> ger.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> atcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> t.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> let.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> :129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> csFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> r(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> va:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> va:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> )
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> er.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> Filter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> CookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthentication
> ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> 199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticatio
> nFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do
> Filter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> Filter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> ter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> terChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> Proxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> legatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> l(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> orBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> 62)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> > Caused by: java.lang.OutOfMemoryError: Java heap space
> >> > 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> >> > with UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this catalog
> >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >> >         at
> org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >> >         at
> >> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> y(FormatterApi.java:290)
> >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> Source)
> >> >         at
> >> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
> >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> (InvocableHandlerMethod.java:221)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> rRequest(InvocableHandlerMethod.java:136)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> HandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827
> )
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> r.handle(AbstractHandlerMethodAdapter.java:85)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServlet.java:963)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> atcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> ger.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> atcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> t.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> let.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> :129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> csFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> r(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> va:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> va:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> )
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> er.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> Filter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> CookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthentication
> ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> 199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticatio
> nFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do
> Filter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> Filter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> ter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> terChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> Proxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> legatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> l(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> orBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> 62)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> >
> >> >
> >> >
> >> > --
> >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >> >    César Martínez Izquierdo
> >> >    GIS developer
> >> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> >> >    SCOLAB: http://www.scolab.es
> >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >> > - -
> >> >
> >> >
> >> > _______________________________________________
> >> > GeoNetwork-users mailing list
> >> > [hidden email]
> >> > https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> >> > GeoNetwork OpenSource is maintained at
> >> > http://sourceforge.net/projects/geonetwork
> >> >
> >>
> >>
> >> --
> >> Mr. Carlo Cancellieri
> >> *skype*: ccancellieri
> >> *Twitter*: @cancellieric
> >> *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
> >>
> >> _______________________________________________
> >> GeoNetwork-users mailing list
> >> [hidden email]
> >> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> >> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>
>
>
> --
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>    César Martínez Izquierdo
>    GIS developer
>    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
>    SCOLAB: http://www.scolab.es
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

Ob Rzwo
Hi Bartolomeo,

As long as the new changes of GeoCat have not been implemented or do not
work yet, only a lot of RAM (see above) and restarting the box from time to
time will help.

Kind regards

Am Do., 26. März 2020 um 16:39 Uhr schrieb Ventura Bartolomeo <
[hidden email]>:

> Hi César and Ob,
> I also had a similar problem.
>
> https://stackoverflow.com/questions/59894089/java-heap-space-error-when-using-geonetwork-metadata-full-view
>
> I did a lot of tests and checks but unfortunately, I was not able to find
> a solution.
> If you will, could you please describe here your solution and or
> suggestions?
>
> Thanks in advance.
>
> Bartolomeo
>
> -----Original Message-----
> From: Ob Rzwo <[hidden email]>
> Sent: Tuesday, March 24, 2020 19:02
> To: César Martínez Izquierdo <[hidden email]>
> Cc: [hidden email]
> Subject: Re: [GeoNetwork-users] OutOfMemoryError and recommended memory
> settings
>
> Hi, checkout the commands htop (needs to be installed), free -m (or -g),
> ctop (for containers, download from GitHub).
>
> Here our sick settings for the master harvester:
>
> CATALINA_OPTS=-Xms10g -Xmx108g -Xss4096k -XX:NewSize=2G -XX:MaxNewSize=4G
> -XX:+UseG1GC -XX:MaxGCPauseMillis=1000
>
> Yes, we had already occupied over 100 GB RAM by a Geonetwork instance,
> just by harvesting and being harvested! If I'm not mistaken, GeoCat has got
> the problems under control, so 108 GB is currently exaggerated. :D
>
> Greetings
>
> Am Di., 24. März 2020 um 18:45 Uhr schrieb César Martínez Izquierdo <
> [hidden email]>:
>
> > Thank you very much for the feedback.
> >
> > It seems to happen particularly when we are running some replacing
> > operations (). But it also happened without doing any
> > editing/inserting operation. According to "top" command, Geonetwork
> > uses 6GB of RAM as soon as Tomcat is restarted, so I am not surprised
> > that it gets out of memory just with some searches.
> >
> > We have tried using the G1 garbage collector to try to improve the
> > situation (-XX:+UseG1GC), as it seems to be the recommended collector
> > for instances with that amount of RAM. But no success for the moment.
> > We have not tried the parallel collector. We have set that amount
> > because we were also getting OutOfMemory errors with smaller amounts
> > of RAM (2GB, 4GB... and the default garbage collector).
> >
> > According to your reports, I would say we have a problem in our
> > installation/environment. Although you also need often restarts to
> > keep the process in good fit.
> >
> > We are going to increase the amount memory and test, I will report
> > back the results. Please, don't hesitate to write if you have any
> > additional idea.
> >
> > César
> >
> > On Tue, 24 Mar 2020 at 18:06, Ob Rzwo <[hidden email]> wrote:
> > >
> > > www.geodatenkatalog.de has > 200000 metadata and we currently
> > > consume 5
> > GB RAM on our master harvester Docker container (calculated without
> > operating system etc.) But this is only because we often restart the
> > master harvester via cronjob. Otherwise it consumes (without reboots)
> > easily in the double-digit GB range!
> > >
> > > Am Di., 24. März 2020 um 17:53 Uhr schrieb carlo cancellieri <
> > [hidden email]>:
> > >>
> > >> Dear César,
> > >>  I use to configure it with the following JAVA_OPTS in addition to
> > >> the
> > rest:
> > >>
> > >> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> > >> -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
> > -server
> > >> -Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
> > >> .......
> > >>
> > >> Take also a look here:
> > >>
> > https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-g
> > uide/production-use/index.html
> > >>
> > >> Our geonetwork manages about 10k metadata and only when I tried to
> > perform
> > >> massive operation (on the entire collection) I've got those kind of
> > error.
> > >>
> > >> In my opinion 6Gb can be too much and sometime counterproductive.
> > >>
> > >> Can you specify the operation you were doing to generate that error?
> > >>
> > >> Regards,
> > >> C.
> > >>
> > >>
> > >> Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
> > >> [hidden email]> ha scritto:
> > >>
> > >> > Hi, we are facing OutOfMemory errors in Geonetwork, We have
> > >> > assigned 6GB of memory for Java and we have about 20.000 metadata
> > >> > records. We are using Geonetwork 3.10.1.
> > >> >
> > >> > What is your experience regarding Geonetwork memory requirements?
> > >> > Is 6GB a low value for that amount of records or do we have some
> > >> > particular problem in our server/environment?
> > >> >
> > >> > We are a bit surprised, because if we consider an average of 40
> > >> > KB for each record in XML format (which is quite realistic in our
> > >> > case), all of them should fit in 1GB of RAM. I understand this is
> > >> > an oversimplification because the XML is parsed and complex
> > >> > structures will be created in memory, but still it seems a big
> amount of RAM.
> > >> >
> > >> > As soon as we restart Tomcat, it seems Geonetwork is already
> > >> > using all the available memory and it soon starts to write the
> > >> > OutOfMemory errors in the log.
> > >> >
> > >> > I paste an extract of the log [1] bellow.
> > >> >
> > >> > Thanks in advance,
> > >> >
> > >> > César Martínez
> > >> >
> > >> > [1] Log extract:
> > >> > 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
> > >> > transaction
> > >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> > >> > with UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in
> > >> > this cat alog
> > >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> > >> >         at
> > org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> > >> >         at
> > >> >
> > org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> > y(FormatterApi.java:290)
> > >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> > Source)
> > >> >         at
> > >> >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> > orImpl.java:43)
> > >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> > (InvocableHandlerMethod.java:221)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> > rRequest(InvocableHandlerMethod.java:136)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> > HandlerMethod.invokeAndHandle(ServletInvocableHandle
> > >> > rMethod.java:114)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.invokeHandlerMethod(RequestMappingHandl
> > >> > erAdapter.java:827)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.handleInternal(RequestMappingHandlerAda
> > >> > pter.java:738)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> > r.handle(AbstractHandlerMethodAdapter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> > rServlet.java:963)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> > atcherServlet.java:44)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:56)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:52)
> > >> >         at
> > >> >
> > jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> > ger.java:73)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> > atcherServlet.java:49)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> > Servlet.java:897)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> > orkServlet.java:970)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> > t.java:861)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> > let.java:846)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:303)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> > :129)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> > csFilter.java:121)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> > r(MetricsRegistryInitializerFilter.java:58)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> > va:110)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> > va:176)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> > )
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> > er.java:92)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> > Filter.java:394)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> > CookieFilter.java:91)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:330)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.invoke(FilterSecurityInterceptor.java:118)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.doFilter(FilterSecurityInterceptor.java:84)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > ilter(ExceptionTranslationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.session.SessionManagementFilter.doFil
> > ter(SessionManagementFilter.java:103)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AnonymousAuthenticatio
> > nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > doFilter(RequestCacheAwareFilter.java:45)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AbstractAuthentication
> > ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> > 199)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.www.BasicAuthenticatio
> > nFilter.doFilter(BasicAuthenticationFilter.java:150)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> > java:50)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.logout.LogoutFilter.do
> > Filter(LogoutFilter.java:110)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> > Filter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.context.SecurityContextPersistenceFil
> > ter.doFilter(SecurityContextPersistenceFilter.java:87)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> > terChainProxy.java:192)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > Proxy.java:160)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > legatingFilterProxy.java:346)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > ngFilterProxy.java:262)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> > legatingFilterProxy.java:104)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> > l(CharacterEncodingFilter.java:197)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > lve.java:218)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > lve.java:110)
> > >> >         at
> > >> >
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> > orBase.java:498)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > va:169)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > va:103)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> > 62)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e.java:116)
> > >> >         at
> > >> >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :445)
> > >> >         at
> > >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> > >> >         at
> > >> >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> > bstractProtocol.java:637)
> > >> >         at org.apache.tomcat.util.net
> > >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1149)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:624)
> > >> >         at
> > >> >
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> > ead.java:61)
> > >> >         at java.lang.Thread.run(Thread.java:748)
> > >> > 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
> > >> > transaction
> > >> > org.springframework.web.util.NestedServletException: Handler
> > >> > dispatch failed; nested exception is java.lang.OutOfMemoryError:
> > >> > Java heap space
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> > rServlet.java:978)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> > atcherServlet.java:44)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:56)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:52)
> > >> >         at
> > >> >
> > jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> > ger.java:73)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> > atcherServlet.java:49)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> > Servlet.java:897)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> > orkServlet.java:970)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> > t.java:861)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> > let.java:846)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:303)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> > :129)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> > csFilter.java:121)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> > r(MetricsRegistryInitializerFilter.java:58)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> > va:110)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> > va:176)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> > )
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> > er.java:92)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> > Filter.java:394)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> > CookieFilter.java:91)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:330)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.invoke(FilterSecurityInterceptor.java:118)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.doFilter(FilterSecurityInterceptor.java:84)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > ilter(ExceptionTranslationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.session.SessionManagementFilter.doFil
> > ter(SessionManagementFilter.java:103)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AnonymousAuthenticatio
> > nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > doFilter(RequestCacheAwareFilter.java:45)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AbstractAuthentication
> > ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> > 199)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.www.BasicAuthenticatio
> > nFilter.doFilter(BasicAuthenticationFilter.java:150)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> > java:50)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.logout.LogoutFilter.do
> > Filter(LogoutFilter.java:110)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> > Filter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.context.SecurityContextPersistenceFil
> > ter.doFilter(SecurityContextPersistenceFilter.java:87)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> > terChainProxy.java:192)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > Proxy.java:160)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > legatingFilterProxy.java:346)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > ngFilterProxy.java:262)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> > legatingFilterProxy.java:104)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> > l(CharacterEncodingFilter.java:197)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > lve.java:218)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > lve.java:110)
> > >> >         at
> > >> >
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> > orBase.java:498)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > va:169)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > va:103)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> > 62)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e.java:116)
> > >> >         at
> > >> >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :445)
> > >> >         at
> > >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> > >> >         at
> > >> >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> > bstractProtocol.java:637)
> > >> >         at org.apache.tomcat.util.net
> > >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1149)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:624)
> > >> >         at
> > >> >
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> > ead.java:61)
> > >> >         at java.lang.Thread.run(Thread.java:748)
> > >> > Caused by: java.lang.OutOfMemoryError: Java heap space
> > >> > 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
> > >> > transaction
> > >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> > >> > with UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this
> catalog
> > >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> > >> >         at
> > org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> > >> >         at
> > >> >
> > org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> > y(FormatterApi.java:290)
> > >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> > Source)
> > >> >         at
> > >> >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> > orImpl.java:43)
> > >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> > (InvocableHandlerMethod.java:221)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> > rRequest(InvocableHandlerMethod.java:136)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> > HandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827
> > )
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> > r.handle(AbstractHandlerMethodAdapter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> > rServlet.java:963)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> > atcherServlet.java:44)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:56)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:52)
> > >> >         at
> > >> >
> > jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> > ger.java:73)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> > atcherServlet.java:49)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> > Servlet.java:897)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> > orkServlet.java:970)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> > t.java:861)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> > let.java:846)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:303)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> > :129)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> > csFilter.java:121)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> > r(MetricsRegistryInitializerFilter.java:58)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> > va:110)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> > va:176)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> > )
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> > er.java:92)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> > Filter.java:394)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> > CookieFilter.java:91)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:330)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.invoke(FilterSecurityInterceptor.java:118)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.doFilter(FilterSecurityInterceptor.java:84)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > ilter(ExceptionTranslationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.session.SessionManagementFilter.doFil
> > ter(SessionManagementFilter.java:103)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AnonymousAuthenticatio
> > nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > doFilter(RequestCacheAwareFilter.java:45)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AbstractAuthentication
> > ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> > 199)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.www.BasicAuthenticatio
> > nFilter.doFilter(BasicAuthenticationFilter.java:150)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> > java:50)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.logout.LogoutFilter.do
> > Filter(LogoutFilter.java:110)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> > Filter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.context.SecurityContextPersistenceFil
> > ter.doFilter(SecurityContextPersistenceFilter.java:87)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> > terChainProxy.java:192)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > Proxy.java:160)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > legatingFilterProxy.java:346)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > ngFilterProxy.java:262)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> > legatingFilterProxy.java:104)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> > l(CharacterEncodingFilter.java:197)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > lve.java:218)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > lve.java:110)
> > >> >         at
> > >> >
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> > orBase.java:498)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > va:169)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > va:103)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> > 62)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e.java:116)
> > >> >         at
> > >> >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :445)
> > >> >         at
> > >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> > >> >         at
> > >> >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> > bstractProtocol.java:637)
> > >> >         at org.apache.tomcat.util.net
> > >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1149)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:624)
> > >> >         at
> > >> >
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> > ead.java:61)
> > >> >         at java.lang.Thread.run(Thread.java:748)
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> -
> > >> >    César Martínez Izquierdo
> > >> >    GIS developer
> > >> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> > >> >    SCOLAB: http://www.scolab.es
> > >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >> > - -
> > >> >
> > >> >
> > >> > _______________________________________________
> > >> > GeoNetwork-users mailing list
> > >> > [hidden email]
> > >> > https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> > >> > GeoNetwork OpenSource is maintained at
> > >> > http://sourceforge.net/projects/geonetwork
> > >> >
> > >>
> > >>
> > >> --
> > >> Mr. Carlo Cancellieri
> > >> *skype*: ccancellieri
> > >> *Twitter*: @cancellieric
> > >> *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
> > >>
> > >> _______________________________________________
> > >> GeoNetwork-users mailing list
> > >> [hidden email]
> > >> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> > >> GeoNetwork OpenSource is maintained at
> > http://sourceforge.net/projects/geonetwork
> >
> >
> >
> > --
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >    César Martínez Izquierdo
> >    GIS developer
> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> >    SCOLAB: http://www.scolab.es
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >
>
> _______________________________________________
> GeoNetwork-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

Jose Garcia
In reply to this post by BartV
Hi

Related to the harvesting high memory, there's a pull request to fix that:

https://github.com/geonetwork/core-geonetwork/pull/4482

We're waiting for a customer to double confirm that it's working properly
for him and will be merged and should be back port to 3.10.x also.

Regards,
Jose García

On Thu, Mar 26, 2020 at 6:54 PM Ventura Bartolomeo <
[hidden email]> wrote:

> Hi César and Ob,
> I also had a similar problem.
>
> https://stackoverflow.com/questions/59894089/java-heap-space-error-when-using-geonetwork-metadata-full-view
>
> I did a lot of tests and checks but unfortunately, I was not able to find
> a solution.
> If you will, could you please describe here your solution and or
> suggestions?
>
> Thanks in advance.
>
> Bartolomeo
>
> -----Original Message-----
> From: Ob Rzwo <[hidden email]>
> Sent: Tuesday, March 24, 2020 19:02
> To: César Martínez Izquierdo <[hidden email]>
> Cc: [hidden email]
> Subject: Re: [GeoNetwork-users] OutOfMemoryError and recommended memory
> settings
>
> Hi, checkout the commands htop (needs to be installed), free -m (or -g),
> ctop (for containers, download from GitHub).
>
> Here our sick settings for the master harvester:
>
> CATALINA_OPTS=-Xms10g -Xmx108g -Xss4096k -XX:NewSize=2G -XX:MaxNewSize=4G
> -XX:+UseG1GC -XX:MaxGCPauseMillis=1000
>
> Yes, we had already occupied over 100 GB RAM by a Geonetwork instance,
> just by harvesting and being harvested! If I'm not mistaken, GeoCat has got
> the problems under control, so 108 GB is currently exaggerated. :D
>
> Greetings
>
> Am Di., 24. März 2020 um 18:45 Uhr schrieb César Martínez Izquierdo <
> [hidden email]>:
>
> > Thank you very much for the feedback.
> >
> > It seems to happen particularly when we are running some replacing
> > operations (). But it also happened without doing any
> > editing/inserting operation. According to "top" command, Geonetwork
> > uses 6GB of RAM as soon as Tomcat is restarted, so I am not surprised
> > that it gets out of memory just with some searches.
> >
> > We have tried using the G1 garbage collector to try to improve the
> > situation (-XX:+UseG1GC), as it seems to be the recommended collector
> > for instances with that amount of RAM. But no success for the moment.
> > We have not tried the parallel collector. We have set that amount
> > because we were also getting OutOfMemory errors with smaller amounts
> > of RAM (2GB, 4GB... and the default garbage collector).
> >
> > According to your reports, I would say we have a problem in our
> > installation/environment. Although you also need often restarts to
> > keep the process in good fit.
> >
> > We are going to increase the amount memory and test, I will report
> > back the results. Please, don't hesitate to write if you have any
> > additional idea.
> >
> > César
> >
> > On Tue, 24 Mar 2020 at 18:06, Ob Rzwo <[hidden email]> wrote:
> > >
> > > www.geodatenkatalog.de has > 200000 metadata and we currently
> > > consume 5
> > GB RAM on our master harvester Docker container (calculated without
> > operating system etc.) But this is only because we often restart the
> > master harvester via cronjob. Otherwise it consumes (without reboots)
> > easily in the double-digit GB range!
> > >
> > > Am Di., 24. März 2020 um 17:53 Uhr schrieb carlo cancellieri <
> > [hidden email]>:
> > >>
> > >> Dear César,
> > >>  I use to configure it with the following JAVA_OPTS in addition to
> > >> the
> > rest:
> > >>
> > >> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> > >> -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
> > -server
> > >> -Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
> > >> .......
> > >>
> > >> Take also a look here:
> > >>
> > https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-g
> > uide/production-use/index.html
> > >>
> > >> Our geonetwork manages about 10k metadata and only when I tried to
> > perform
> > >> massive operation (on the entire collection) I've got those kind of
> > error.
> > >>
> > >> In my opinion 6Gb can be too much and sometime counterproductive.
> > >>
> > >> Can you specify the operation you were doing to generate that error?
> > >>
> > >> Regards,
> > >> C.
> > >>
> > >>
> > >> Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
> > >> [hidden email]> ha scritto:
> > >>
> > >> > Hi, we are facing OutOfMemory errors in Geonetwork, We have
> > >> > assigned 6GB of memory for Java and we have about 20.000 metadata
> > >> > records. We are using Geonetwork 3.10.1.
> > >> >
> > >> > What is your experience regarding Geonetwork memory requirements?
> > >> > Is 6GB a low value for that amount of records or do we have some
> > >> > particular problem in our server/environment?
> > >> >
> > >> > We are a bit surprised, because if we consider an average of 40
> > >> > KB for each record in XML format (which is quite realistic in our
> > >> > case), all of them should fit in 1GB of RAM. I understand this is
> > >> > an oversimplification because the XML is parsed and complex
> > >> > structures will be created in memory, but still it seems a big
> amount of RAM.
> > >> >
> > >> > As soon as we restart Tomcat, it seems Geonetwork is already
> > >> > using all the available memory and it soon starts to write the
> > >> > OutOfMemory errors in the log.
> > >> >
> > >> > I paste an extract of the log [1] bellow.
> > >> >
> > >> > Thanks in advance,
> > >> >
> > >> > César Martínez
> > >> >
> > >> > [1] Log extract:
> > >> > 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
> > >> > transaction
> > >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> > >> > with UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in
> > >> > this cat alog
> > >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> > >> >         at
> > org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> > >> >         at
> > >> >
> > org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> > y(FormatterApi.java:290)
> > >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> > Source)
> > >> >         at
> > >> >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> > orImpl.java:43)
> > >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> > (InvocableHandlerMethod.java:221)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> > rRequest(InvocableHandlerMethod.java:136)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> > HandlerMethod.invokeAndHandle(ServletInvocableHandle
> > >> > rMethod.java:114)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.invokeHandlerMethod(RequestMappingHandl
> > >> > erAdapter.java:827)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.handleInternal(RequestMappingHandlerAda
> > >> > pter.java:738)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> > r.handle(AbstractHandlerMethodAdapter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> > rServlet.java:963)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> > atcherServlet.java:44)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:56)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:52)
> > >> >         at
> > >> >
> > jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> > ger.java:73)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> > atcherServlet.java:49)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> > Servlet.java:897)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> > orkServlet.java:970)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> > t.java:861)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> > let.java:846)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:303)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> > :129)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> > csFilter.java:121)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> > r(MetricsRegistryInitializerFilter.java:58)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> > va:110)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> > va:176)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> > )
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> > er.java:92)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> > Filter.java:394)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> > CookieFilter.java:91)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:330)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.invoke(FilterSecurityInterceptor.java:118)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.doFilter(FilterSecurityInterceptor.java:84)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > ilter(ExceptionTranslationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.session.SessionManagementFilter.doFil
> > ter(SessionManagementFilter.java:103)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AnonymousAuthenticatio
> > nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > doFilter(RequestCacheAwareFilter.java:45)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AbstractAuthentication
> > ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> > 199)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.www.BasicAuthenticatio
> > nFilter.doFilter(BasicAuthenticationFilter.java:150)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> > java:50)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.logout.LogoutFilter.do
> > Filter(LogoutFilter.java:110)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> > Filter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.context.SecurityContextPersistenceFil
> > ter.doFilter(SecurityContextPersistenceFilter.java:87)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> > terChainProxy.java:192)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > Proxy.java:160)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > legatingFilterProxy.java:346)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > ngFilterProxy.java:262)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> > legatingFilterProxy.java:104)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> > l(CharacterEncodingFilter.java:197)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > lve.java:218)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > lve.java:110)
> > >> >         at
> > >> >
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> > orBase.java:498)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > va:169)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > va:103)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> > 62)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e.java:116)
> > >> >         at
> > >> >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :445)
> > >> >         at
> > >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> > >> >         at
> > >> >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> > bstractProtocol.java:637)
> > >> >         at org.apache.tomcat.util.net
> > >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1149)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:624)
> > >> >         at
> > >> >
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> > ead.java:61)
> > >> >         at java.lang.Thread.run(Thread.java:748)
> > >> > 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
> > >> > transaction
> > >> > org.springframework.web.util.NestedServletException: Handler
> > >> > dispatch failed; nested exception is java.lang.OutOfMemoryError:
> > >> > Java heap space
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> > rServlet.java:978)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> > atcherServlet.java:44)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:56)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:52)
> > >> >         at
> > >> >
> > jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> > ger.java:73)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> > atcherServlet.java:49)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> > Servlet.java:897)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> > orkServlet.java:970)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> > t.java:861)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> > let.java:846)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:303)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> > :129)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> > csFilter.java:121)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> > r(MetricsRegistryInitializerFilter.java:58)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> > va:110)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> > va:176)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> > )
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> > er.java:92)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> > Filter.java:394)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> > CookieFilter.java:91)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:330)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.invoke(FilterSecurityInterceptor.java:118)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.doFilter(FilterSecurityInterceptor.java:84)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > ilter(ExceptionTranslationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.session.SessionManagementFilter.doFil
> > ter(SessionManagementFilter.java:103)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AnonymousAuthenticatio
> > nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > doFilter(RequestCacheAwareFilter.java:45)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AbstractAuthentication
> > ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> > 199)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.www.BasicAuthenticatio
> > nFilter.doFilter(BasicAuthenticationFilter.java:150)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> > java:50)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.logout.LogoutFilter.do
> > Filter(LogoutFilter.java:110)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> > Filter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.context.SecurityContextPersistenceFil
> > ter.doFilter(SecurityContextPersistenceFilter.java:87)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> > terChainProxy.java:192)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > Proxy.java:160)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > legatingFilterProxy.java:346)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > ngFilterProxy.java:262)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> > legatingFilterProxy.java:104)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> > l(CharacterEncodingFilter.java:197)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > lve.java:218)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > lve.java:110)
> > >> >         at
> > >> >
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> > orBase.java:498)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > va:169)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > va:103)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> > 62)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e.java:116)
> > >> >         at
> > >> >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :445)
> > >> >         at
> > >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> > >> >         at
> > >> >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> > bstractProtocol.java:637)
> > >> >         at org.apache.tomcat.util.net
> > >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1149)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:624)
> > >> >         at
> > >> >
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> > ead.java:61)
> > >> >         at java.lang.Thread.run(Thread.java:748)
> > >> > Caused by: java.lang.OutOfMemoryError: Java heap space
> > >> > 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
> > >> > transaction
> > >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> > >> > with UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this
> catalog
> > >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> > >> >         at
> > org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> > >> >         at
> > >> >
> > org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> > y(FormatterApi.java:290)
> > >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> > Source)
> > >> >         at
> > >> >
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> > orImpl.java:43)
> > >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> > (InvocableHandlerMethod.java:221)
> > >> >         at
> > >> >
> > org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> > rRequest(InvocableHandlerMethod.java:136)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> > HandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827
> > )
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> > ndlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> > r.handle(AbstractHandlerMethodAdapter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> > rServlet.java:963)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> > atcherServlet.java:44)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:56)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> > vesDispatcherServlet.java:52)
> > >> >         at
> > >> >
> > jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> > ger.java:73)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> > atcherServlet.java:49)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> > Servlet.java:897)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> > orkServlet.java:970)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> > t.java:861)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> > >> >         at
> > >> >
> > org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> > let.java:846)
> > >> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:303)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> > :129)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> > csFilter.java:121)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> > r(MetricsRegistryInitializerFilter.java:58)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> > va:110)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> > va:176)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> > )
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> > er.java:92)
> > >> >         at
> > >> >
> > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> > Filter.java:394)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> > CookieFilter.java:91)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:330)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.invoke(FilterSecurityInterceptor.java:118)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.intercept.FilterSecurityInterc
> > eptor.doFilter(FilterSecurityInterceptor.java:84)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.access.ExceptionTranslationFilter.doF
> > ilter(ExceptionTranslationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.session.SessionManagementFilter.doFil
> > ter(SessionManagementFilter.java:103)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AnonymousAuthenticatio
> > nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> > doFilter(RequestCacheAwareFilter.java:45)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.AbstractAuthentication
> > ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> > 199)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.www.BasicAuthenticatio
> > nFilter.doFilter(BasicAuthenticationFilter.java:150)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> > java:50)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.authentication.logout.LogoutFilter.do
> > Filter(LogoutFilter.java:110)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> > Filter.java:85)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.context.SecurityContextPersistenceFil
> > ter.doFilter(SecurityContextPersistenceFilter.java:87)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> > oFilter(FilterChainProxy.java:342)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> > terChainProxy.java:192)
> > >> >         at
> > >> >
> > org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> > Proxy.java:160)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> > legatingFilterProxy.java:346)
> > >> >         at
> > >> >
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> > ngFilterProxy.java:262)
> > >> >         at
> > >> >
> > jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> > legatingFilterProxy.java:104)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> > l(CharacterEncodingFilter.java:197)
> > >> >         at
> > >> >
> > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> > questFilter.java:107)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> > cationFilterChain.java:241)
> > >> >         at
> > >> >
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> > lterChain.java:208)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> > lve.java:218)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> > lve.java:110)
> > >> >         at
> > >> >
> > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> > orBase.java:498)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> > va:169)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> > va:103)
> > >> >         at
> > >> >
> > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> > 62)
> > >> >         at
> > >> >
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> > e.java:116)
> > >> >         at
> > >> >
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> > :445)
> > >> >         at
> > >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> > >> >         at
> > >> >
> > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> > bstractProtocol.java:637)
> > >> >         at org.apache.tomcat.util.net
> > >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> > ava:1149)
> > >> >         at
> > >> >
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> > java:624)
> > >> >         at
> > >> >
> > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> > ead.java:61)
> > >> >         at java.lang.Thread.run(Thread.java:748)
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> -
> > >> >    César Martínez Izquierdo
> > >> >    GIS developer
> > >> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> > >> >    SCOLAB: http://www.scolab.es
> > >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> > >> > - -
> > >> >
> > >> >
> > >> > _______________________________________________
> > >> > GeoNetwork-users mailing list
> > >> > [hidden email]
> > >> > https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> > >> > GeoNetwork OpenSource is maintained at
> > >> > http://sourceforge.net/projects/geonetwork
> > >> >
> > >>
> > >>
> > >> --
> > >> Mr. Carlo Cancellieri
> > >> *skype*: ccancellieri
> > >> *Twitter*: @cancellieric
> > >> *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
> > >>
> > >> _______________________________________________
> > >> GeoNetwork-users mailing list
> > >> [hidden email]
> > >> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> > >> GeoNetwork OpenSource is maintained at
> > http://sourceforge.net/projects/geonetwork
> >
> >
> >
> > --
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >    César Martínez Izquierdo
> >    GIS developer
> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> >    SCOLAB: http://www.scolab.es
> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >
>
> _______________________________________________
> GeoNetwork-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>
> _______________________________________________
> GeoNetwork-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>


--











*Vriendelijke groeten / Kind regards,Jose García
<http://www.geocat.net/>Veenderweg 136721 WD BennekomThe NetherlandsT: +31
(0)318 416664 <+31318416664>Please consider the environment before printing
this email.*

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

BartV
Hi Jo,
Thanks a lot for your precious support

I will look forward to hearing good news

All the best

Bartolomeo


From: Jose Garcia <[hidden email]>
Sent: Friday, March 27, 2020 08:32
To: Ventura Bartolomeo <[hidden email]>
Cc: Ob Rzwo <[hidden email]>; César Martínez Izquierdo <[hidden email]>; [hidden email]
Subject: Re: [GeoNetwork-users] OutOfMemoryError and recommended memory settings

Hi

Related to the harvesting high memory, there's a pull request to fix that:

https://github.com/geonetwork/core-geonetwork/pull/4482

We're waiting for a customer to double confirm that it's working properly for him and will be merged and should be back port to 3.10.x also.

Regards,
Jose García

On Thu, Mar 26, 2020 at 6:54 PM Ventura Bartolomeo <[hidden email]<mailto:[hidden email]>> wrote:
Hi César and Ob,
I also had a similar problem.
https://stackoverflow.com/questions/59894089/java-heap-space-error-when-using-geonetwork-metadata-full-view

I did a lot of tests and checks but unfortunately, I was not able to find a solution.
If you will, could you please describe here your solution and or suggestions?

Thanks in advance.

Bartolomeo

-----Original Message-----
From: Ob Rzwo <[hidden email]<mailto:[hidden email]>>
Sent: Tuesday, March 24, 2020 19:02
To: César Martínez Izquierdo <[hidden email]<mailto:[hidden email]>>
Cc: [hidden email]<mailto:[hidden email]>
Subject: Re: [GeoNetwork-users] OutOfMemoryError and recommended memory settings

Hi, checkout the commands htop (needs to be installed), free -m (or -g), ctop (for containers, download from GitHub).

Here our sick settings for the master harvester:

CATALINA_OPTS=-Xms10g -Xmx108g -Xss4096k -XX:NewSize=2G -XX:MaxNewSize=4G -XX:+UseG1GC -XX:MaxGCPauseMillis=1000

Yes, we had already occupied over 100 GB RAM by a Geonetwork instance, just by harvesting and being harvested! If I'm not mistaken, GeoCat has got the problems under control, so 108 GB is currently exaggerated. :D

Greetings

Am Di., 24. März 2020 um 18:45 Uhr schrieb César Martínez Izquierdo <
[hidden email]<mailto:[hidden email]>>:

> Thank you very much for the feedback.
>
> It seems to happen particularly when we are running some replacing
> operations (). But it also happened without doing any
> editing/inserting operation. According to "top" command, Geonetwork
> uses 6GB of RAM as soon as Tomcat is restarted, so I am not surprised
> that it gets out of memory just with some searches.
>
> We have tried using the G1 garbage collector to try to improve the
> situation (-XX:+UseG1GC), as it seems to be the recommended collector
> for instances with that amount of RAM. But no success for the moment.
> We have not tried the parallel collector. We have set that amount
> because we were also getting OutOfMemory errors with smaller amounts
> of RAM (2GB, 4GB... and the default garbage collector).
>
> According to your reports, I would say we have a problem in our
> installation/environment. Although you also need often restarts to
> keep the process in good fit.
>
> We are going to increase the amount memory and test, I will report
> back the results. Please, don't hesitate to write if you have any
> additional idea.
>
> César
>
> On Tue, 24 Mar 2020 at 18:06, Ob Rzwo <[hidden email]<mailto:[hidden email]>> wrote:
> >
> > www.geodatenkatalog.de<http://www.geodatenkatalog.de> has > 200000 metadata and we currently
> > consume 5
> GB RAM on our master harvester Docker container (calculated without
> operating system etc.) But this is only because we often restart the
> master harvester via cronjob. Otherwise it consumes (without reboots)
> easily in the double-digit GB range!
> >
> > Am Di., 24. März 2020 um 17:53 Uhr schrieb carlo cancellieri <
> [hidden email]<mailto:[hidden email]>>:
> >>
> >> Dear César,
> >>  I use to configure it with the following JAVA_OPTS in addition to
> >> the
> rest:
> >>
> >> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
> >> -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
> -server
> >> -Xms512M -Xmx2048M -Djava.awt.headless=true -XX:+UseParallelGC
> >> .......
> >>
> >> Take also a look here:
> >>
> https://geonetwork-opensource.org/manuals/trunk/eng/users/maintainer-g
> uide/production-use/index.html
> >>
> >> Our geonetwork manages about 10k metadata and only when I tried to
> perform
> >> massive operation (on the entire collection) I've got those kind of
> error.
> >>
> >> In my opinion 6Gb can be too much and sometime counterproductive.
> >>
> >> Can you specify the operation you were doing to generate that error?
> >>
> >> Regards,
> >> C.
> >>
> >>
> >> Il giorno mar 24 mar 2020 alle ore 17:36 César Martínez Izquierdo <
> >> [hidden email]<mailto:[hidden email]>> ha scritto:
> >>
> >> > Hi, we are facing OutOfMemory errors in Geonetwork, We have
> >> > assigned 6GB of memory for Java and we have about 20.000 metadata
> >> > records. We are using Geonetwork 3.10.1.
> >> >
> >> > What is your experience regarding Geonetwork memory requirements?
> >> > Is 6GB a low value for that amount of records or do we have some
> >> > particular problem in our server/environment?
> >> >
> >> > We are a bit surprised, because if we consider an average of 40
> >> > KB for each record in XML format (which is quite realistic in our
> >> > case), all of them should fit in 1GB of RAM. I understand this is
> >> > an oversimplification because the XML is parsed and complex
> >> > structures will be created in memory, but still it seems a big amount of RAM.
> >> >
> >> > As soon as we restart Tomcat, it seems Geonetwork is already
> >> > using all the available memory and it soon starts to write the
> >> > OutOfMemory errors in the log.
> >> >
> >> > I paste an extract of the log [1] bellow.
> >> >
> >> > Thanks in advance,
> >> >
> >> > César Martínez
> >> >
> >> > [1] Log extract:
> >> > 2020-03-24 13:02:17,013 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> >> > with UUID '8e8fd82b-483d-974c-8b60-35194d691c5f' not found in
> >> > this cat alog
> >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >> >         at
> org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >> >         at
> >> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> y(FormatterApi.java:290)
> >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> Source)
> >> >         at
> >> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
> >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> (InvocableHandlerMethod.java:221)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> rRequest(InvocableHandlerMethod.java:136)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> HandlerMethod.invokeAndHandle(ServletInvocableHandle
> >> > rMethod.java:114)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.invokeHandlerMethod(RequestMappingHandl
> >> > erAdapter.java:827)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.handleInternal(RequestMappingHandlerAda
> >> > pter.java:738)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> r.handle(AbstractHandlerMethodAdapter.java:85)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServlet.java:963)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> atcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> ger.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> atcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> t.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> let.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> :129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> csFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> r(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> va:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> va:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> )
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> er.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> Filter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> CookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthentication
> ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> 199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticatio
> nFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do<http://org.springframework.security.web.authentication.logout.LogoutFilter.do>
> Filter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> Filter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> ter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> terChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> Proxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> legatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> l(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> orBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> 62)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net<http://org.apache.tomcat.util.net>
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> > 2020-03-24 13:03:56,106 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.springframework.web.util.NestedServletException: Handler
> >> > dispatch failed; nested exception is java.lang.OutOfMemoryError:
> >> > Java heap space
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServlet.java:978)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> atcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> ger.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> atcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> t.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> let.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> :129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> csFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> r(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> va:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> va:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> )
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> er.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> Filter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> CookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthentication
> ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> 199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticatio
> nFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do<http://org.springframework.security.web.authentication.logout.LogoutFilter.do>
> Filter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> Filter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> ter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> terChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> Proxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> legatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> l(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> orBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> 62)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net<http://org.apache.tomcat.util.net>
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> > Caused by: java.lang.OutOfMemoryError: Java heap space
> >> > 2020-03-24 13:05:18,379 ERROR [jeeves] - Error occurred within a
> >> > transaction
> >> > org.fao.geonet.api.exception.ResourceNotFoundException: Record
> >> > with UUID '77550979-9b83-cd41-9739-aa1440c79c57' not found in this catalog
> >> >         at org.fao.geonet.api.ApiUtils.getRecord(ApiUtils.java:164)
> >> >         at
> org.fao.geonet.api.ApiUtils.canViewRecord(ApiUtils.java:278)
> >> >         at
> >> >
> org.fao.geonet.api.records.formatters.FormatterApi.getRecordFormattedB
> y(FormatterApi.java:290)
> >> >         at sun.reflect.GeneratedMethodAccessor478.invoke(Unknown
> Source)
> >> >         at
> >> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
> >> >         at java.lang.reflect.Method.invoke(Method.java:498)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.doInvoke
> (InvocableHandlerMethod.java:221)
> >> >         at
> >> >
> org.springframework.web.method.support.InvocableHandlerMethod.invokeFo
> rRequest(InvocableHandlerMethod.java:136)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocable
> HandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827
> )
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHa
> ndlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
> >> >         at
> >> >
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapte
> r.handle(AbstractHandlerMethodAdapter.java:85)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServlet.java:963)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.access$101(JeevesDisp
> atcherServlet.java:44)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:56)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet$1.doInTransaction(Jee
> vesDispatcherServlet.java:52)
> >> >         at
> >> >
> jeeves.transaction.TransactionManager.runInTransaction(TransactionMana
> ger.java:73)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDispatcherServlet.doDispatch(JeevesDisp
> atcherServlet.java:49)
> >> >         at
> >> >
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servlet.java:897)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkServlet.java:970)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> t.java:861)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> >> >         at
> >> >
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServ
> let.java:846)
> >> >         at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:303)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.CORSResponseFilter.doFilter(CORSResponseFilter.java
> :129)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.WebappMetricsFilter.doFilter(WebappMetri
> csFilter.java:121)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.monitor.webapp.MetricsRegistryInitializerFilter.doFilte
> r(MetricsRegistryInitializerFilter.java:58)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.fao.geonet.web.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.ja
> va:110)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.ja
> va:176)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145
> )
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewrit
> er.java:92)
> >> >         at
> >> >
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrite
> Filter.java:394)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.geonetwork.http.SessionTimeoutCookieFilter.doFilter(SessionTimeout
> CookieFilter.java:91)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:330)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.invoke(FilterSecurityInterceptor.java:118)
> >> >         at
> >> >
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.doFilter(FilterSecurityInterceptor.java:84)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(ExceptionTranslationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(SessionManagementFilter.java:103)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> doFilter(RequestCacheAwareFilter.java:45)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.AbstractAuthentication
> ProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> 199)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.www.BasicAuthenticatio
> nFilter.doFilter(BasicAuthenticationFilter.java:150)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> jeeves.config.springutil.PassthroughFilter.doFilter(PassthroughFilter.
> java:50)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.authentication.logout.LogoutFilter.do<http://org.springframework.security.web.authentication.logout.LogoutFilter.do>
> Filter(LogoutFilter.java:110)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(Csrf
> Filter.java:85)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.context.SecurityContextPersistenceFil
> ter.doFilter(SecurityContextPersistenceFilter.java:87)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:342)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> terChainProxy.java:192)
> >> >         at
> >> >
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> Proxy.java:160)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legatingFilterProxy.java:346)
> >> >         at
> >> >
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilterProxy.java:262)
> >> >         at
> >> >
> jeeves.config.springutil.JeevesDelegatingFilterProxy.doFilter(JeevesDe
> legatingFilterProxy.java:104)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> l(CharacterEncodingFilter.java:197)
> >> >         at
> >> >
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:107)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:241)
> >> >         at
> >> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:208)
> >> >         at
> >> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:218)
> >> >         at
> >> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:110)
> >> >         at
> >> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> orBase.java:498)
> >> >         at
> >> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:169)
> >> >         at
> >> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:103)
> >> >         at
> >> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:9
> 62)
> >> >         at
> >> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:116)
> >> >         at
> >> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :445)
> >> >         at
> >> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
> >> >         at
> >> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:637)
> >> >         at org.apache.tomcat.util.net<http://org.apache.tomcat.util.net>
> >> > .JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.j
> ava:1149)
> >> >         at
> >> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
> java:624)
> >> >         at
> >> >
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThr
> ead.java:61)
> >> >         at java.lang.Thread.run(Thread.java:748)
> >> >
> >> >
> >> >
> >> > --
> >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >> >    César Martínez Izquierdo
> >> >    GIS developer
> >> >    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
> >> >    SCOLAB: http://www.scolab.es
> >> > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> >> > - -
> >> >
> >> >
> >> > _______________________________________________
> >> > GeoNetwork-users mailing list
> >> > [hidden email]<mailto:[hidden email]>
> >> > https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> >> > GeoNetwork OpenSource is maintained at
> >> > http://sourceforge.net/projects/geonetwork
> >> >
> >>
> >>
> >> --
> >> Mr. Carlo Cancellieri
> >> *skype*: ccancellieri
> >> *Twitter*: @cancellieric
> >> *LinkedIn*: http://it.linkedin.com/in/ccancellieri/
> >>
> >> _______________________________________________
> >> GeoNetwork-users mailing list
> >> [hidden email]<mailto:[hidden email]>
> >> https://lists.sourceforge.net/lists/listinfo/geonetwork-users
> >> GeoNetwork OpenSource is maintained at
> http://sourceforge.net/projects/geonetwork
>
>
>
> --
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>    César Martínez Izquierdo
>    GIS developer
>    -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
>    SCOLAB: http://www.scolab.es
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
_______________________________________________
GeoNetwork-users mailing list
[hidden email]<mailto:[hidden email]>
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

_______________________________________________
GeoNetwork-users mailing list
[hidden email]<mailto:[hidden email]>
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork


--
Vriendelijke groeten / Kind regards,

Jose García

[Image removed by sender.]<http://www.geocat.net/>
Veenderweg 13
6721 WD Bennekom
The Netherlands
T: +31 (0)318 416664<tel:+31318416664>

Please consider the environment before printing this email.


_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork

image001.jpg (494 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

Ob Rzwo
Good afternoon,

we are currently testing the new patch, namely whether the memory is full
when you harvested a lot and did not reboot.

Stay healthy.

_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork
Reply | Threaded
Open this post in threaded view
|

Re: OutOfMemoryError and recommended memory settings

César Martínez Izquierdo-3
Hi,

In our case we are not using harvesting. We have not fully determined
when the memory peaks happen, but they seem to be related with the
following operations:
- indexing the records
- importing a big number of records (from a server folder or uploaded
using the browser)
- batch replacing metadata links (using Admin Tools)
- assigning privileges to sets of records

The good news are that we have not got any OutOfMemory error for 3
days, after increasing memory from 6 GB to 12 GB. It seems to use all
the available memory (I believe the garbage collector is very
reluctant to release memory to the system after getting it), but it is
running pretty stable.

Best regards,

César




On Fri, 27 Mar 2020 at 11:35, Ob Rzwo <[hidden email]> wrote:
>
> Good afternoon,
>
> we are currently testing the new patch, namely whether the memory is full when you harvested a lot and did not reboot.
>
> Stay healthy.



--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   César Martínez Izquierdo
   GIS developer
   -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
   SCOLAB: http://www.scolab.es
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


_______________________________________________
GeoNetwork-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geonetwork-users
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork