Project

General

Profile

bug #7577

Set Publish Flag for Subtree Dialog - Further Problems with Progressmonitor

Added by Andreas Kohlbecker about 1 year ago. Updated about 1 month ago.

Status:
New
Priority:
Highest
Assignee:
Category:
taxeditor
Target version:
Start date:
07/23/2018
Due date:
% Done:

0%

Severity:
normal
Found in Version:

Description

Summarizing the insights from this examination I come to the conclusion that we need to work on the following:

  1. BUG: Taxeditor progress dialog can not be canceled when the progressmonitor is at 100% but not yet "done" and the monitored log term process can not be canceled
  2. TASK: Setting the publish flag on a whole classification can take extremely long due to hibernate.search rebuilding the whole index, TaxonBase by TaxonBase entity.
    • can the hibernate indexer be run in a separate thread?
    • ..
  3. BUG: Set Publish Flag for Subtree can cause java.lang.OutOfMemoryError: Java heap space

Setzen des Publish-Flags auf der kompletten Cichorienklassifikation:

setting publish = false on all taxa and synonyms which are already publish = false

[cichorieae] 10:20:49,110 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 10:20:49,110 DEBUG [qtp759156157-91][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 10:20:49,111 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:20:49,111 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 10:20:50,113 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 10:20:50,113 DEBUG [qtp759156157-92][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 10:20:50,114 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:20:50,114 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 10:20:51,115 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 10:20:51,115 DEBUG [qtp759156157-91][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 10:20:51,116 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:20:51,116 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Successfully completed request
....

The taxeditor now shows

but keeps on polling for ~2 1/2 minutes

[cichorieae] 10:22:15,768 DEBUG [qtp759156157-92][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 10:22:15,768 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:22:15,768 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 10:22:16,771 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 10:22:16,771 DEBUG [qtp759156157-92][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 10:22:16,771 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:22:16,771 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 10:22:16,970 INFO [Thread-69][eu.et.cd.co.mo.DefaultProgressMonitor] - Update publish flag... Done
[cichorieae] 10:22:16,970 INFO [Thread-69][eu.et.cd.co.mo.DefaultProgressMonitor] - Update publish flag... Done
[cichorieae] 10:22:16,970 INFO [Thread-69][eu.et.cd.co.mo.DefaultProgressMonitor] - Update publish flag... Done
[cichorieae] 10:22:17,774 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 10:22:17,774 DEBUG [qtp759156157-92][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 10:22:20,149 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:22:20,149 DEBUG [qtp759156157-92][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 10:22:20,960 DEBUG [qtp759156157-99][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/term.service]
[cichorieae] 10:22:20,960 DEBUG [qtp759156157-99][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/term.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@2ecf3e96] and 1 interceptor
[cichorieae] 10:22:20,964 DEBUG [qtp759156157-99][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:22:20,964 DEBUG [qtp759156157-99][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 10:22:21,050 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/term.service]
[cichorieae] 10:22:21,050 DEBUG [qtp759156157-91][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/term.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@2ecf3e96] and 1 interceptor
[cichorieae] 10:22:21,054 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:22:21,054 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 10:22:21,341 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/preference.service]
[cichorieae] 10:22:21,341 DEBUG [qtp759156157-91][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/preference.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@4ebc4a20] and 1 interceptor
[cichorieae] 10:22:21,343 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 10:22:21,343 DEBUG [qtp759156157-91][or.sp.we.se.DispatcherServlet] - Successfully completed request

After this the taxeditor shows that the setting of the publish flag was successfull.

To me it looks like the setting of the done flag in the progress monitor is done far too late.

picture758-1.png View (26.8 KB) Andreas Kohlbecker, 07/23/2018 11:43 AM


Related issues

Copied from Edit - bug #7576: Set Publish Flag for Subtree Dialog - Problems with Progressmonitor Closed 07/23/2018

History

#1 Updated by Andreas Kohlbecker about 1 year ago

  • Copied from bug #7576: Set Publish Flag for Subtree Dialog - Problems with Progressmonitor added

#2 Updated by Andreas Kohlbecker about 1 year ago

#3 Updated by Andreas Kohlbecker about 1 year ago

I tested again.

This time I set the publish flag to true, all taxa an synonmys intially are publish = false:

[cichorieae] 11:35:19,122 INFO [Thread-93][eu.et.cd.co.mo.DefaultProgressMonitor] - 99.98932% done (Completed Task: Update Synonyms)
[cichorieae] 11:35:19,122 INFO [Thread-93][eu.et.cd.co.mo.DefaultProgressMonitor] - 99.99288% done (Completed Task: Update Synonyms)
[cichorieae] 11:35:19,122 INFO [Thread-93][eu.et.cd.co.mo.DefaultProgressMonitor] - 99.99644% done (Completed Task: Update Synonyms)
[cichorieae] 11:35:19,122 INFO [Thread-93][eu.et.cd.co.mo.DefaultProgressMonitor] - 100.0% done (Completed Task: Update Synonyms)
[cichorieae] 11:35:19,231 DEBUG [qtp759156157-168][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 11:35:19,231 DEBUG [qtp759156157-168][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 11:35:19,232 DEBUG [qtp759156157-168][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 11:35:19,232 DEBUG [qtp759156157-168][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 11:35:20,233 DEBUG [qtp759156157-172][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 11:35:20,233 DEBUG [qtp759156157-172][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to

now the taxeditor shows

cdm-remote instance is occupying 100% CPU and the taxeditor keeps on pulling for "done"

....

even 12 minutes later, polling and cdm-remote instance is occupying 100% CPU :

[cichorieae] 11:47:33,134 DEBUG [qtp759156157-180][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 11:47:35,498 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 11:47:35,498 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 11:47:40,748 DEBUG [qtp759156157-194][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 11:47:40,748 DEBUG [qtp759156157-194][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 11:47:45,534 DEBUG [qtp759156157-194][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 11:47:45,534 DEBUG [qtp759156157-194][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 11:48:02,894 DEBUG [qtp759156157-194][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 11:48:05,196 DEBUG [qtp759156157-194][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 11:48:07,462 DEBUG [qtp759156157-194][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 11:48:07,462 DEBUG [qtp759156157-194][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 11:48:40,271 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 11:48:45,102 DEBUG [qtp759156157-180][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 11:50:21,187 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 11:50:21,187 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 11:50:26,675 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 11:50:26,675 DEBUG [qtp759156157-180][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor

#4 Updated by Andreas Kohlbecker about 1 year ago

A anylysis of the staktrace kane with jstack revels that it is hibernate.search taking all the CPU in order to index all taxa which have been changed:

Thread 13360: (state = BLOCKED)
 - java.util.regex.Pattern.compile() @bci=136, line=1686 (Compiled frame)
 - java.util.regex.Pattern.<init>(java.lang.String, int) @bci=62, line=1351 (Compiled frame)
 - java.util.regex.Pattern.compile(java.lang.String) @bci=6, line=1028 (Compiled frame)
 - java.lang.String.replaceAll(java.lang.String, java.lang.String) @bci=1, line=2223 (Compiled frame)
 - eu.etaxonomy.cdm.hibernate.search.StripHtmlBridge.objectToString(java.lang.Object) @bci=14, line=26 (Compiled frame)
 - org.hibernate.search.bridge.builtin.impl.String2FieldBridgeAdaptor.set(java.lang.String, java.lang.Object, org.apache.lucene.document.Document, org.hibernate.search.bridge.LuceneOptions) @bci=5, line=31 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.addSortFieldDocValues(org.apache.lucene.document.Document, org.hibernate.search.engine.metadata.impl.PropertyMetadata, float, java.lang.Object) @bci=148, line=725 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.buildDocumentFieldsForProperties(org.apache.lucene.document.Document, org.hibernate.search.engine.impl.FacetHandling, org.hibernate.search.engine.metadata.impl.TypeMetadata, org.hibernate.search.bridge.spi.ConversionContext, org.hibernate.search.spi.InstanceInitializer, float, java.lang.Object, boolean) @bci=313, line=612 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.buildDocumentFields(java.lang.Object, org.apache.lucene.document.Document, org.hibernate.search.engine.impl.FacetHandling, org.hibernate.search.engine.metadata.impl.TypeMetadata, java.util.Map, java.util.Set, org.hibernate.search.bridge.spi.ConversionContext, org.hibernate.search.spi.InstanceInitializer, float, boolean) @bci=37, line=413 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.buildDocumentFieldsForEmbeddedObjects(org.apache.lucene.document.Document, org.hibernate.search.engine.impl.FacetHandling, org.hibernate.search.engine.metadata.impl.TypeMetadata, java.util.Map, java.util.Set, org.hibernate.search.bridge.spi.ConversionContext, org.hibernate.search.spi.InstanceInitializer, float, java.lang.Object, boolean) @bci=375, line=517 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.buildDocumentFields(java.lang.Object, org.apache.lucene.document.Document, org.hibernate.search.engine.impl.FacetHandling, org.hibernate.search.engine.metadata.impl.TypeMetadata, java.util.Map, java.util.Set, org.hibernate.search.bridge.spi.ConversionContext, org.hibernate.search.spi.InstanceInitializer, float, boolean) @bci=72, line=429 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.buildDocumentFieldsForEmbeddedObjects(org.apache.lucene.document.Document, org.hibernate.search.engine.impl.FacetHandling, org.hibernate.search.engine.metadata.impl.TypeMetadata, java.util.Map, java.util.Set, org.hibernate.search.bridge.spi.ConversionContext, org.hibernate.search.spi.InstanceInitializer, float, java.lang.Object, boolean) @bci=375, line=517 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.buildDocumentFields(java.lang.Object, org.apache.lucene.document.Document, org.hibernate.search.engine.impl.FacetHandling, org.hibernate.search.engine.metadata.impl.TypeMetadata, java.util.Map, java.util.Set, org.hibernate.search.bridge.spi.ConversionContext, org.hibernate.search.spi.InstanceInitializer, float, boolean) @bci=72, line=429 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.getDocument(java.lang.String, java.lang.Object, java.io.Serializable, java.util.Map, org.hibernate.search.spi.InstanceInitializer, org.hibernate.search.bridge.spi.ConversionContext, java.lang.String[]) @bci=281, line=351 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.createUpdateWork(java.lang.String, java.lang.Class, java.lang.Object, java.io.Serializable, java.lang.String, org.hibernate.search.spi.InstanceInitializer, org.hibernate.search.bridge.spi.ConversionContext) @bci=21, line=266 (Compiled frame)
 - org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.addWorkToQueue(java.lang.String, java.lang.Class, java.lang.Object, java.io.Serializable, boolean, boolean, java.util.List, org.hibernate.search.bridge.spi.ConversionContext) @bci=130, line=208 (Compiled frame)
 - org.hibernate.search.engine.impl.WorkPlan$PerEntityWork.enqueueLuceneWork(java.lang.String, java.lang.Class, java.io.Serializable, org.hibernate.search.engine.spi.AbstractDocumentBuilder, java.util.List, org.hibernate.search.bridge.spi.ConversionContext) @bci=35, line=521 (Compiled frame)
 - org.hibernate.search.engine.impl.WorkPlan$PerClassWork.enqueueLuceneWork(java.util.List) @bci=184, line=283 (Compiled frame)
 - org.hibernate.search.engine.impl.WorkPlan.getPlannedLuceneWork() @bci=42, line=155 (Interpreted frame)
 - org.hibernate.search.backend.impl.WorkQueue.prepareWorkPlan() @bci=18, line=114 (Interpreted frame)
 - org.hibernate.search.backend.impl.BatchedQueueingProcessor.prepareWorks(org.hibernate.search.backend.impl.WorkQueue) @bci=1, line=55 (Interpreted frame)
 - org.hibernate.search.backend.impl.PostTransactionWorkQueueSynchronization.beforeCompletion() @bci=40, line=64 (Interpreted frame)
 - org.hibernate.search.backend.impl.EventSourceTransactionContext$DelegateToSynchronizationOnBeforeTx.doBeforeTransactionCompletion(org.hibernate.engine.spi.SessionImplementor) @bci=4, line=169 (Interpreted frame)
 - org.hibernate.engine.spi.ActionQueue$BeforeTransactionCompletionProcessQueue.beforeTransactionCompletion() @bci=28, line=899 (Interpreted frame)
 - org.hibernate.engine.spi.ActionQueue.beforeTransactionCompletion() @bci=18, line=481 (Interpreted frame)
 - org.hibernate.internal.SessionImpl.beforeTransactionCompletion() @bci=23, line=2340 (Interpreted frame)
 - org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion() @bci=4, line=485 (Interpreted frame)
 - org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback() @bci=14, line=147 (Interpreted frame)
 - org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl) @bci=1, line=38 (Interpreted frame)
 - org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit() @bci=21, line=231 (Interpreted frame)
 - org.hibernate.engine.transaction.internal.TransactionImpl.commit() @bci=39, line=65 (Interpreted frame)
 - org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(org.springframework.transaction.support.DefaultTransactionStatus) @bci=61, line=581 (Interpreted frame)
 - org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(org.springframework.transaction.support.DefaultTransactionStatus) @bci=99, line=761 (Compiled frame)
 - org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(org.springframework.transaction.TransactionStatus) @bci=121, line=730 (Compiled frame)
 - org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(org.springframework.transaction.interceptor.TransactionAspectSupport$TransactionInfo) @bci=67, line=485 (Interpreted frame)
 - org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(java.lang.reflect.Method, java.lang.Class, org.springframework.transaction.interceptor.TransactionAspectSupport$InvocationCallback) @bci=101, line=291 (Interpreted frame)
 - org.springframework.transaction.interceptor.TransactionInterceptor.invoke(org.aopalliance.intercept.MethodInvocation) @bci=40, line=96 (Compiled frame)
 - org.springframework.aop.framework.ReflectiveMethodInvocation.proceed() @bci=101, line=179 (Compiled frame)
 - org.springframework.aop.framework.JdkDynamicAopProxy.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) @bci=329, line=208 (Compiled frame)
 - com.sun.proxy.$Proxy173.setPublishForSubtree(java.util.UUID, boolean, boolean, boolean, boolean, eu.etaxonomy.cdm.common.monitor.IProgressMonitor) @bci=52 (Interpreted frame)
 - eu.etaxonomy.cdm.api.longrunningService.LongRunningTasksServiceImpl.updateData(eu.etaxonomy.cdm.api.service.config.ForSubtreeConfiguratorBase) @bci=61, line=70 (Interpreted frame)
 - eu.etaxonomy.cdm.api.longrunningService.LongRunningTasksServiceImpl.access$0(eu.etaxonomy.cdm.api.longrunningService.LongRunningTasksServiceImpl, eu.etaxonomy.cdm.api.service.config.ForSubtreeConfiguratorBase) @bci=2, line=66 (Interpreted frame)
 - eu.etaxonomy.cdm.api.longrunningService.LongRunningTasksServiceImpl$1.doRun(eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor) @bci=16, line=52 (Interpreted frame)
 - eu.etaxonomy.cdm.common.monitor.RemotingProgressMonitorThread.run() @bci=21, line=46 (Interpreted frame)

Now I am clicking the "Cancel" button in the taxeditor dialog .... has no effect, need to restart the editor?

Summarizing the insights from this examination I come to the conclusion that we need to work on the following:

  1. BUG: Taxeditor progress dialog can not be canceled when the progressmonitor is at 100% but not yet "done" and the monitored log term process can not be canceled
  2. TASK: Setting the publish flag on a whole classification can take extremely long due to hibernate.search rebuilding the whole index, TaxonBase by TaxonBase entity.
    • can the hibernate indexer be run in a separate thread?
    • ..

#5 Updated by Andreas Kohlbecker about 1 year ago

In the end the cdm-remote instance crashed with a java.lang.OutOfMemoryError: Java heap space even if it has been started with -Xmx2000M

[cichorieae] 12:07:12,668 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 12:07:12,668 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 12:07:50,125 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 12:08:18,080 DEBUG [qtp759156157-180][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
[cichorieae] 12:08:57,923 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Null ModelAndView returned to DispatcherServlet with name 'cdmlib-remote': assuming HandlerAdapter completed request handling
[cichorieae] 12:09:02,375 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Successfully completed request
[cichorieae] 12:09:50,586 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - DispatcherServlet with name 'cdmlib-remote' processing POST request for [/remoting/progressmonitor.service]
[cichorieae] 12:09:57,290 DEBUG [qtp759156157-180][or.sp.we.se.ha.SimpleUrlHandlerMapping] - Mapping [/remoting/progressmonitor.service] to HandlerExecutionChain with handler [org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter@536d6380] and 1 interceptor
2018-07-23 12:17:33.205:WARN:oejut.QueuedThreadPool:qtp759156157-213: 
java.lang.OutOfMemoryError: Java heap space
2018-07-23 12:17:56.169:WARN:oejut.QueuedThreadPool:qtp759156157-213: Unexpected thread death: org.eclipse.jetty.util.thread.QueuedThreadPool$2@d1b6f7 in qtp759156157{STARTED,1<=35<=200,i=4,q=0}
[cichorieae] 12:18:10,806 DEBUG [qtp759156157-180][or.sp.we.se.DispatcherServlet] - Could not complete request
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.OutOfMemoryError: Java heap space
    at org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1302)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1584)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1228)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1130)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:564)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:112)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
    at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
    at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.OutOfMemoryError: Java heap space
2018-07-23 12:18:10.817:WARN:oejs.HttpChannel:qtp759156157-180: /remoting/progressmonitor.service
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.OutOfMemoryError: Java heap space
    at org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1302)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:213)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1613)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1584)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1228)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1130)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:564)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:112)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
    at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
    at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:748)
Caused by: 
java.lang.OutOfMemoryError: Java heap space
[cichorieae] 12:18:11,090 WARN [Thread-93][or.hi.en.lo.in.LoadContexts] - HHH000100: Fail-safe cleanup (collections) : org.hibernate.engine.loading.internal.CollectionLoadContext@25b2134<rs=com.mchange.v2.c3p0.impl.NewProxyResultSet@21071bd8 [wrapping: null]>
[cichorieae] 12:18:11,090 WARN [Thread-93][or.hi.en.lo.in.LoadContexts] - HHH000100: Fail-safe cleanup (collections) : org.hibernate.engine.loading.internal.CollectionLoadContext@25b2134<rs=com.mchange.v2.c3p0.impl.NewProxyResultSet@21071bd8 [wrapping: null]>
[cichorieae] 12:18:11,094 WARN [Thread-93][or.hi.en.lo.in.CollectionLoadContext] - HHH000160: On CollectionLoadContext#cleanup, localLoadingCollectionKeys contained [1] entries
[cichorieae] 12:18:11,094 WARN [Thread-93][or.hi.en.lo.in.CollectionLoadContext] - HHH000160: On CollectionLoadContext#cleanup, localLoadingCollectionKeys contained [1] entries

#6 Updated by Andreas Kohlbecker about 1 year ago

  • Description updated (diff)

#7 Updated by Andreas Müller about 1 year ago

  • Target version changed from Release 5.2 to Release 5.3

#8 Updated by Katja Luther 12 months ago

  • Target version changed from Release 5.3 to Release 5.4

#9 Updated by Andreas Müller 10 months ago

  • Target version changed from Release 5.4 to Release 5.5

#10 Updated by Andreas Müller 6 months ago

  • Target version changed from Release 5.5 to Release 5.6

#11 Updated by Katja Luther 6 months ago

  • Priority changed from New to Highest
  • Target version changed from Release 5.6 to Release 5.7

#12 Updated by Katja Luther 4 months ago

  • Target version changed from Release 5.7 to Release 5.8

#13 Updated by Andreas Müller about 1 month ago

  • Target version changed from Release 5.8 to Release 5.10

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)