I have a Script Listener that "hears" Created and Updated events and creates either 1 or 2 sub-tasks depending on various conditions. The task creation is fine, but at least twice a week, the script creates duplicate issues.
I think this is happening because we have an integration to Salesforce (Go2Group CRM Plugin) which can cause an issue to be updated 2 times in a second, and therefore multiple instances of the listener may be running at once.
In the log, I can see that we are sometimes going straight from detecting 0 sub-tasks to detecting 4, so my guess is that sometimes, I'm trying to detect sub-tasks which exist but have not been indexed yet.
I tried calling the indexer in the script as I created each task, but saw no improvement in detection rate, so I removed that. Also tried re-declaring the sub-task collection later in the script, in case a few extra milliseconds might help, which really didn't.
What can I do to decrease the incidence of duplicates?
Would it make sense to focus on indexer performance, or add something else to the script, or just sleep for a second or two before trying to check for tasks?
Here's how I'm looking for duplicates in the script, and thanks for any ideas you have!
...
Collection subTasks = parentIssue.getSubTaskObjects()
if (!subTasks.find{it.getSummary().contains "Incident"}) {
Blah blah }
Hi April,
As blunt and simple it might sound but at least for testing purposes have you tried adding a post function to you sub task "Create" transition, which would fire a custom event. And then reconfigure your listener to listen to that custom event. If you place this post function LAST on your "Create" transition, then I think it should help you at least diagnose where your duplicates appear and best case scenario use this approach to get rid of duplicate listener launches all together.
Ivan, I think that helped!
After having that in place a few weeks now, duplicates are only happening when the other add-on fires 3+ updates in the same second, which is thankfully rare, and even then, I only get one dupe.
Probably the only further improvement would be to improve indexing speed.
Thanks for the great idea!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.