[ 
https://issues.apache.org/jira/browse/UIMA-1938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jerry Cwiklik closed UIMA-1938.
-------------------------------

    Resolution: Fixed

Modified Primitive Controller to optionally dump a JVM stack if AE takes too 
long to process a CAS. The instrumentation is enabled via 
-DdumpHeapThreshold=XX where XX is a max number of SECONDS the AE process 
method is allowed to process a CAS. Actually, the new instrumentation times 
three methods:

CasIterator casIterator = ae.processAndOutputNewCASes(aCAS);
casIterator.hasNext()
CAS casProduced = casIterator.next();

If the instrumentation is enabled and the timer pops and the JVM is forced to 
dump a stack. This instrumentation only works with IBM JVM which includes  
com.ibm.jvm.Dump class which enables stack dump via a static method JavaDump(). 
When running in Sun's JVM, the instrumentation is not enabled. The code uses 
reflection :
Class<?> dumpClass = Class.forName("com.ibm.jvm.Dump"); to determine if it is 
running in IBMs jvm.

> Modify UIMA AS Primitive Service to optionally dump JVM stack if process() 
> method takes too long
> ------------------------------------------------------------------------------------------------
>
>                 Key: UIMA-1938
>                 URL: https://issues.apache.org/jira/browse/UIMA-1938
>             Project: UIMA
>          Issue Type: New Feature
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>            Assignee: Jerry Cwiklik
>            Priority: Minor
>             Fix For: 2.3.1AS
>
>
> Add instrumentation to the UIMA AS Primitive service that will force JVM 
> Stack dump if AE takes too long to process a CAS. Enable the instrumentation 
> via -D variable. This enhancement may prove useful when debugging user code. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to