Details
-
Bug
-
Resolution: Fixed
-
Low
-
5.2.4
-
None
-
JIRA 4.1.2 + GH 5.2.4
-
5.02
-
Description
Symptom
When there are the multiple users have a ranking on the same version concurrently, the UI may hang, and the below ConcurrentModificationException is thrown in log file
java.util.ConcurrentModificationException at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100) at java.util.TreeMap$KeyIterator.next(TreeMap.java:1154) at com.pyxis.greenhopper.jira.customfields.RankingCFType.reIndexAll(RankingCFType.java:213) at com.pyxis.greenhopper.jira.customfields.RankingCFType.updateValue(RankingCFType.java:409) at com.pyxis.greenhopper.jira.customfields.RankingCFType.updateValue(RankingCFType.java:177) at com.pyxis.greenhopper.jira.actions.MultipleRankingAction.doRank(MultipleRankingAction.java:47) ...
Cause
It seems that in com.pyxis.greenhopper.jira.customfields.RankingCFType TreeMap is used by a static way without synchronized.
We should fix this problem, and also consider how to handle the concurrent ranking operations by a more friendly method.