Skip to main content
Kofax

MarkView Process Monitor - java.lang.OutofMemoryError

Summary

4509

Applies To

  • ERP System: All
  • MarkView Version: All

Behavior

Users are unable to access Process Monitor and there is a java.lang.OutofMemoryError in the log file. How do I resolve this issue?

Known Causes

  • Viewing particularly large end queues such as the 'Archive' queue can cause this issue. As Process Monitor was designed to view in process workitems attempting to view these large end queues can cause unexpected resource usage.
  • Polling Process Monitor every few seconds through the 'Monitor Continuously' functionality can cause OutOfMemory issues as well.
  • Having a large number of users accessing Process Monitor can also lead to occurrences of this issue. Process Monitor was designed for use by System Administrator's and AP Managers. Providing access to AP processors can create additional load on Process Monitor.

Resolution

  • In order to resolve the immediate issue you should bounce the Process Monitor OC4J Module which should allow your users to access Process Monitor again. Once end users have gained access to Process Monitor the following information can be gathered to help determine the root cause of the failure.
    Viewing particularly large end queues such as the 'Archive' queue can cause this issue. As Process Monitor was designed to view in process workitems attempting to view large end queues can cause this issue. The following query can be executed to determine if end users have access to end queues which can result in this issue.
    select sq.queue_name, rqp.*
    from sf_queue sq, sf_role_queue_privilege rqp
    where (rqp.role_id like '%SQL*FLOW MONITOR%' or
        rqp.role_id like '%PROCESS MONITOR%')
    and rqp.queue_id = sq.QUEUE_ID
    and sq.QUEUE_NAME in ('Archive',
            'Complete Mail',
            'Recycle Bin',
            'Original Documents',
            'Redirected Work Items')
    order by sq.QUEUE_NAME;
    If the query returns records then the role queue privileges associated with those queues should be removed to prevent end users from accessing those records. To remove the affected role queue privileges the following delete statement can be run from the MarkView Schema.
    delete from sf_role_queue_privilege rqp
    where (rqp.role_id like '%SQL*FLOW MONITOR%' or
        rqp.role_id like '%PROCESS MONITOR%')
    and rqp.queue_id in
        (select q.queue_id
        from sf_queue q
    where q.queue_name in ('Archive',
            'Complete Mail',
            'Recycle Bin',
            'Original Documents',
            'Redirected Work Items'));
  • Polling Process Monitor every few seconds through the 'Monitor Continuously' functionality can cause OutOfMemory issues as well. In order to prevent users from polling Process Monitor frequently the MONITOR_MINIMUM_REFRESH_RATE preference should be set to a value of 60. This will only affect end users that use the 'Monitor Continuously' functionality of Process Monitor. End users will be able to manually refresh Process Monitor.
  • Having a large number of users accesssing Process Monitor can also lead to occurrences of this issue. Process Monitor was designed for use by System Administrator's and AP Managers. Providing access to AP processors can create additional load on Process Monitor which can result in this issue. To determine the users who have accessed Process Monitor over the last seven (7) days the following query can be executed.
    select user_id, count(
    from sf_session_log
    where logon_timestamp between sysdate - 7 and sysdate
    group by user_id;

If the users returned by the above query are not System Administrator's or AP Managers then access to Process Monitor should be removed.

Keywords: OutofMemory, sqlflow, sql flow, memory