river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patricia Shanahan <p...@acm.org>
Subject Re: [jira] [Created] (RIVER-395) Ill-behaved DiscoveryListener can terminate discovery notifier threads
Date Sun, 03 Apr 2011 03:35:03 GMT
In reviewing the code prior to applying the patch, I noticed the
following in the LookupDiscoveryListener.Notifier.run() method:

try {
      loc = regs[i].getLocator();
} catch (Throwable ex) { /* ignore */ }

What do people think about ignoring Throwable?

Chris, Thanks for the patch. Do you happen to have a unit or QA test for 
this problem?

Patricia




On 3/30/2011 3:05 PM, Chris Dolan (JIRA) wrote:
> Ill-behaved DiscoveryListener can terminate discovery notifier threads
> ----------------------------------------------------------------------
>
>                   Key: RIVER-395
>                   URL: https://issues.apache.org/jira/browse/RIVER-395
>               Project: River
>            Issue Type: Bug
>            Components: net_jini_discovery
>      Affects Versions: jtsk_2.1
>              Reporter: Chris Dolan
>
>
> (bug detected in Jini 2.1, still present in 2.1.2+ trunk)
>
> If a net.jini.discovery.DiscoveryListener implementation throws an unchecked exception,
then the LookupLocatorDiscovery$Notifier thread and/or the LookupDiscovery$Notifier thread
will exit prematurely. In practice, this can prevent the JoinManager$DiscMgrListener or ServiceDiscoveryManager$DiscMgrListener
callbacks from being invoked, resulting in incomplete state for a registrar.
>
> A soon-to-be attached patch surrounds each listener invocation with a try/catch block.
>
> --
> This message is automatically generated by JIRA.
> For more information on JIRA, see: http://www.atlassian.com/software/jira
>


Mime
View raw message