>
> Plugins
> =========
> I have only managed to find "real" concurrency problems in the EAR
> plugin and modello as of yet. Modello is fixed in trunk, ear is
> not started AFIK.
>
> All the other stuff I've seen in the core plugins relate to the
> plexus-issues.
>
> Our jira issue is from a user who's complaining about plugins not
> working, and I think he's somewhat right in that we have to make some
> kind of system to indicate compatibility with the -T option.
>
> Although several strategies may be recommended, my personal favourite
> is to make a @threadsafe javadoc annotation and make M3 core
> COMPLAIN LOUDLY about plugins that are unmarked, then proceed as
> requested (i.e. complain but still run threaded).
>
> The problem with these things is that thread safety is not necessarily a
> constant, and in the next 9 months there will be issues. So for some
> plugins @threadsafe might equally much express an intent as much as it
> reflects reality. So that makes me a bit sceptical to @threadsafe too.
>
>
+1, I can't see any way to ENSURE a plugin is threadsafe as it depends on
project and  (maybe overriden) plugin dependencies. We can just tag a plugin
to be expected to work fine in multithreaded context

I'd suggest to get a @NotThreadSafe annotation for plugins that are KNOWN to
not be thread safe, mostly due ti the embedded tools. I got
ConcurrentModification issues with aspectJ plugin, so I don't think any
AJC-based plugin could work fine with // build.

I don't know the way the weave mode is expected to work, but it could maybe
support such @NotThreadSafe plugins by locking concurrent execution of the
same plugin, but still runing other ones/othe phases in // modules.



> Aggressively displaying the link to the wiki page containing the
> most up-todate threading info may be an equally good solution; maybe
> even adding a WARNING: Experimental  or something to the build output.
>

+1
As we can't make the world thread safe, let the user know what's possible
and how to tweak the build.


>
>
> http://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in
> +Maven+3 (if it's up), should contain all the information needed on
> which plugins are known to have issues. But as we all know, it's an open
> ecosystem.
>
> Documentation
> ============
> I will keep the wiki page updated, provided cwiki.a.o actually stays
> up ;)
> I will add a section on mojo threading models/threading concerns to the
> mojo api specification.
>
>
> I think we have to take some extra measures to keep users out of the
> issue trackers on this one, or at least make sure they go to the right
> place.
>
> What do you think ?
>
> Kristian
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to