[
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)