On Apr 26, 2010, at 9:09 AM, Kristian Rosenvold wrote:

> Den 26.04.2010 14:40, skrev Jason van Zyl:
>> On Apr 26, 2010, at 7:05 AM, Benjamin Bentmann wrote:
>>   
>>> IMHO, there's only way to limit this "oh, I deliberately enabled nitro 
>>> injection and now my engine blew up, how am I supposed to know that this is 
>>> dangerous?": Unless a mojo is explicitly marked with @threadsafe, issue a 
>>> warning like
>>>     
> LOL. I think you're right. Enable nitro injection, you get warnings for any 
> plugin not marked @threadsafe. If the build fails too you get an additional 
> warning at the end that
> you're running on your own, please go see our marvellous wiki site.
> 
> 
>> Right. It's pretty simple. If the author has worked on and tested then they 
>> can mark the mojo as such. Otherwise the mojo gets no benefit from the 
>> parallel mode.
>> 
>> A @nothreadsafe annotation makes no sense. We're going to go around and mark 
>> everyone else's mojos? That's not going to work and neither is maintaining 
>> third party information. If we start the process of adding the annotation we 
>> can easily get the basic mojos in the default lifecycle annotated 
>> accordingly. If we deem this a requirement for the 3.0 release then we'll 
>> work on plugins for a little while before releasing 3.0.
>>   
> 
> @notthreadsafe/@noparallel makes only marginal sense, since you'd achieve the 
> intended effect by sunchronizing execute.
> But on the other hand I suppose a thread-reluctant mojo would end up with a 
> "@threadsafe" annotation and
> a synchronized execute method. But it shows that threading has been 
> considered, which is fine with me.
> 
> I think an important issue to settle is if the annotations should have any 
> impact on run-time behaviour (other than complaining...)
> I somewhat dislike the idea of only running mojos marked with @threadsafe 
> concurrently; it also decreases overall performance and increases risks of
> deadlocks in weave mode significantly. And you're only getting parallel-mode 
> because you asked for it, right ?
> 
> So my 2cents are: Add @threadsafe annotation, complain loudly about 
> executions missing annotations but proceed as requested. Increases community 
> motivation to make plugins thread-safe.
> This solution would allow future extensions if required.
> 

We have until 3.0 is out and we can push out the release date if we need to do 
some mojo housecleaning first. Nothing dire.


> 
> Kristian
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
> 

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
----------------------------------------------------------

Reply via email to