[ 
https://issues.apache.org/jira/browse/PIVOT-769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072610#comment-13072610
 ] 

Bill van Melle commented on PIVOT-769:
--------------------------------------

I'm aware of the automatic generation of release notes, which is great.  But as 
a consumer of release notes, and trying to answer the question "should I 
upgrade?", I would love there to be a section called something like 
"Incompatible changes".  Somebody by hand created something like that for 2.0 
(https://cwiki.apache.org/confluence/display/PIVOT/Major+Feature+Changes+Between+1.5.x+and+2.0).
  Most of that page discusses features, but you also learn important things 
like that WTKXSerializer was renamed and the Shape classes were removed.  
Changing Exception to Throwable in one API isn't nearly that big, but it would 
be nice if there were a way to somehow flag it for the benefit of code 
migrators, so that you wouldn't have to click on every single JIRA link to 
discover that one of them, only listed as "A Task's TaskListener will not be 
called if a Throwable is thown...", implies that you might have to edit your 
Task code.

(Just to be clear, I'm not complaining at all that you're fixing this bug -- 
it's a pretty nasty one, really.  I had a similar one where I discovered that 
if a query times out, your executeFailed method never gets called on Mac OS.  
Speaking of which, I wonder why I never filed a ticket on that.)

> A Task's TaskListener will not be called if a Throwable is thown when the 
> task is executed
> ------------------------------------------------------------------------------------------
>
>                 Key: PIVOT-769
>                 URL: https://issues.apache.org/jira/browse/PIVOT-769
>             Project: Pivot
>          Issue Type: Improvement
>          Components: core-util
>    Affects Versions: 2.0
>            Reporter: Chris Bartlett
>            Assignee: Chris Bartlett
>            Priority: Minor
>             Fix For: 2.0.1
>
>
> org.apache.pivot.util.concurrent.Task.ExecuteCallback.run() only catches and 
> records Exceptions as 'faults'.
> try {
>     result = execute();
> } catch(Exception exception) {
>     fault = exception;
> }
> If a java.lang.Error or other non-Exception Throwable is thrown while the 
> task is executing, the thread will be killed off and neither of the 
> TaskListener callback methods will be executed.  
> Also, nothing will be logged to syserr, sysout or elsewhere meaning the 
> Throwable is 'swallowed' without any notification.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to