000036359 - Renaming an RSA Identity Governance & Lifecycle Notification Rule creates an orphan event in Scheduler

Document created by RSA Customer Support Employee on Jun 7, 2018Last modified by RSA Customer Support Employee on Sep 6, 2018
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000036359
Applies ToRSA Product Set: Identity Governance & Lifecycle
RSA Product/Service Type: Appliance
RSA Version/Condition: 7.0.1, 7.0.2, 7.1.0
IssueIf an RSA Identity Governance & Lifecycle Notification Rule is renamed, it creates an orphan event in the Scheduler.   This Scheduled event occurs even if the Notification Rule is deleted. 

When the orphan event in the Schedule is executed, the following exception is generated in the /home/oracle/wildfly-8.2.0.Final/standalone/log/aveksaServer.log:

05/11/2018 16:50:00.007 ERROR (Timer-2) [com.aveksa.server.scheduler.Scheduler] Exception occurred during execution of scheduled task: Admin_Exception_Notification_Schedule_MyRule1

java.lang.RuntimeException: Illegal state: No session found
              at com.aveksa.server.db.persistence.PersistenceServiceProvider.closeRSCall(PersistenceServiceProvider.java:3073)
              at com.aveksa.server.db.PersistenceManager.closeRSCall(PersistenceManager.java:474)
              at com.aveksa.server.core.NotificationServiceProvider.executeRule(NotificationServiceProvider.java:475)
              at com.aveksa.server.core.NotificationTask.process(NotificationTask.java:45)
              at com.aveksa.server.scheduler.ScheduledTask.execute(ScheduledTask.java:122)
              at com.aveksa.server.scheduler.Scheduler$SchedulerTask.run(Scheduler.java:220)
              at java.util.TimerThread.mainLoop(Timer.java:555)
              at java.util.TimerThread.run(Timer.java:505)

This may cause performance issues and thread deadlocks if other events occur at the same time.   Symptoms of thread deadlocks vary but may cause CPU spikes or lead to failures in other aspects of the product, such as, but not limited to, the following error in the /home/oracle/wildfly-8.2.0.Final/standalone/log/aveksaServer.log:

2018-05-01 04:31:32,939 INFO [stdout] (Worker_actionq#Script Queue - Normal#WPDS_360) java.lang.OutOfMemoryError: unable to create new native thread

The stored schedule information from a database listing on the Schedule Information tab under the Admin Monitoring menu will show additional scheduled events prefaced with the text Admin_Exception_Notification_Schedule that do not have a corresponding Notification Rule:
User-added image
CauseIf a Notification Rule is scheduled, it creates a corresponding entry in the scheduler.  If the Notification Rule is renamed, it creates a new entry in the scheduler for the new name, but it incorrectly fails to remove the old event from the scheduler. 

ResolutionThis issue is resolved in the following patches
  • RSA Identity Governance & Lifecycle 7.1.0 P04
  • RSA Identify Governance & Lifecycle 7.0.2 P10

Avoid changing the name of Notification Rules once created. If you wish to change the name of a Notification Rule, delete the Rule and create a new Notification Rule with the new name.

If a Notification Rule was previously renamed, you can remove the Scheduled task associated with that orphan Notification Rule using the following technique.
  1. Identify the name of the problem orphan Notification Rule.  It will appear in the T_SCHEDULED_TASKS table prefaced with the text Admin_Exception_Notification_Schedule and ending with the original name of the Notification Rule; for example, MyNotificationRule.

User-added image

  1. Create a new Notification Rule with the same name. Use any configuration and any schedule. This will update and overwrite the existing orphan item in the Scheduler.

User-added image

  1. Delete the Notification Rule you just created.  This will delete the orphaned item from the Scheduler.