Details
-
Suggestion
-
Resolution: Unresolved
-
None
-
None
-
0
-
Description
Problem Summary
The Jira EventPublisher service continually evaluates whether a user was deleted or not upon synchronization with Crowd. If a third party plugin is listening for these events and logging them in a table or log, then this can result in a huge number of entries being recorded.
Problem Scenario
Here are the conditions by which we were able to trigger the UserDeletedEvent being repetitively published for any disabled user in Jira:
- Within Crowd:
- Add a user to a local Crowd directory.
- Add the local Crowd directory to a Jira application configuration.
- Perform a sync between Crowd and Jira.
- This user now appears in Jira listed under Crowd directory.
- Assign this user to an issue. If the user is not assigned to anything and doesn't have any content, this problem doesn't appear to occur.
- Next, deactivate the user in Crowd
- Again, sync Jira with Crowd.
- The user appears in Jira as inactive.
- In Crowd, remove the Crowd internal directory from the Jira application configuration.
sync with Jira - Again, sync Jira with Crowd.
- The user does not display in the Jira user listing though content still references his (inactive) name.
- After the sync, one UserDeletedEvent entry appears in the Customfield Editor for Jira plugin's __ AO event table.
- But then, each time a sync occurs with Crowd, the Jira EventPublisher executes the UserDeletedEvent event and the Customfield Editor for Jira listens for and reads this event and records it into its AO table. Over time, this table will fill up quickly.
This behavior affects not just the Customfield Editor for Jira plugin, but any plugin listening to the UserDeletedEvent event executed by the EventPublisher.
Possible Workarounds
- If the plugin has the option to disable it's event logging, do so and only enable the event log when needed to gather troubleshooting information for a specific problem.
- Another work around option might be to periodically purge old records from the AO event log table, if used.