[ https://jira.codehaus.org/browse/MCHECKSTYLE-244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=350847#comment-350847 ]
Konstantin Pokrovsky edited comment on MCHECKSTYLE-244 at 8/1/14 4:47 PM: -------------------------------------------------------------------------- I've attached the patch. _LicenseResouceManager_ extends _DefaultResourceManager_ component from _plexus-resources_. Parent class is defined as a per-lookup component. _LicenseResouceManager_ on the other hand is defined as a singleton component. _FileResourceLoader_ is not instantiated as a singleton, but is used inside of _LicenseResouceManager_ singleton. was (Author: kpokrovsky): I've attached the patch. _LicenseResouceManager_ extends _DefaultResourceManager_ component from _plexus-resources_. Parent class is defined as a per-lookup component. _LicenseResouceManager_ on the other hand is defined as a singleton component. > LicenseResourceManager component is not thread safe and causes parallel build > failures > -------------------------------------------------------------------------------------- > > Key: MCHECKSTYLE-244 > URL: https://jira.codehaus.org/browse/MCHECKSTYLE-244 > Project: Maven Checkstyle Plugin > Issue Type: Bug > Affects Versions: 2.12, 2.12.1 > Reporter: Konstantin Pokrovsky > Attachments: MCHECKSTYLE-244.patch > > > {{LicenseResouceManager}} component does not specify instantiation strategy. > By default plexus uses singleton strategey which leads to > {{ConcurrentModificationException}} in parallel maven builds. > Example: when two {{DefaultCheckstyleExecutors}} try to use one licence > manager: one calls {{addSearchPath}} on {{FileResourceLoader}} while the > other one iterating over paths in {{getResource}} on the same > {{FileResourceLoader}} . > MCHECKSTYLE-238 and MCHECKSTYLE-230 are exactly about this situation. Right > now the plugin for some reason is marked as thread safe although it definetly > produces exceptions in parallel multimodule builds. > {{DefaultCheckstyleRssGenerator}} is a point of attention because it is also > singleton instantiated. -- This message was sent by Atlassian JIRA (v6.1.6#6162)