Skip to main content
Kofax

MarkView Process Monitor - java.lang.OutofMemoryError

4509
Article # 304399 - Page views: 131

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?
  • The following error is trapped in the Manager log file for the DayTick event:
    • snapshot too old: rollback segment number with name "" too small"
    • Business users are not receiving the invoice approval email notification one time and causing confusion in the business side.(Note : MVAP_EMAIL_OPTION setup as PER_DAY). 
      • We have the MVC_EXTENSION_CSS5.ALERT_ARCHIVE to archive the invoices except Service Invoice Packets and Self-Service Invoice. 

 

06/15/2015 09:01:57: Encountered the following error while firing rule (rule instance id = 7): 

06/15/2015 09:01:57: ORA-01403: no data found 

ORA-01555: snapshot too old: rollback segment number with name "" too small 

06/15/2015 09:04:04: Event Info: 

 

RULE_INSTANCE_ID :7

RULE_TYPE_NAME:MVT Global Alert Archive

RULE_PROCEDURE_NAME:SF_RULE_RT34

 

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 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.
    • Process Monitor was designed to view in-process work items, so attempting to view large end queues (such as Archive or Recycle Bin) 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'));
  • NOTE: commit after running the sql.

 

  • 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