Return-Path: Delivered-To: apmail-river-dev-archive@www.apache.org Received: (qmail 4525 invoked from network); 3 Apr 2011 15:05:03 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 3 Apr 2011 15:05:03 -0000 Received: (qmail 64389 invoked by uid 500); 3 Apr 2011 15:05:03 -0000 Delivered-To: apmail-river-dev-archive@river.apache.org Received: (qmail 64364 invoked by uid 500); 3 Apr 2011 15:05:03 -0000 Mailing-List: contact dev-help@river.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@river.apache.org Delivered-To: mailing list dev@river.apache.org Received: (qmail 64356 invoked by uid 99); 3 Apr 2011 15:05:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 03 Apr 2011 15:05:03 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of dan.creswell@gmail.com designates 209.85.220.171 as permitted sender) Received: from [209.85.220.171] (HELO mail-vx0-f171.google.com) (209.85.220.171) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 03 Apr 2011 15:04:57 +0000 Received: by vxc40 with SMTP id 40so4947107vxc.2 for ; Sun, 03 Apr 2011 08:04:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=hgjGMwLswwDRThjPmQcTl2FS0PJMi0Q+ElMS6JzN3vM=; b=lptzI8601aPrQpzBLJ3VUZjBnkrAfpH/QDSOXVWfsmKlUITM4hYGStzmJLlkMFqEk1 mwynh2gzGw5C/i9BpMhHD7WuZCQYGx4Ng68PTYu8FsaJ1AY+t2MSr/w+BStca5eACFzJ 2SlZ6z3NZ5QKUbM92gdDr6CCjJRN5Up4S/1pY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=kChhu5SCCSfvFaaCMSVtRG1CO/4Kv/tQQDGP4BXLRqUt9dMvDaN4fNWFOUtNvm0zCW wbPEbhFAXBvwcnA1BKsyohQM5UdE/yBBXxC7n0fEDXFClnftCLFc31ghLzqZ3qZKzLIp 4VLMvt6+M0x90x3TRGieLrAx3LZ/+w1OZRshY= MIME-Version: 1.0 Received: by 10.220.161.195 with SMTP id s3mr1686200vcx.111.1301843076040; Sun, 03 Apr 2011 08:04:36 -0700 (PDT) Received: by 10.220.192.139 with HTTP; Sun, 3 Apr 2011 08:04:35 -0700 (PDT) In-Reply-To: <4D9885EC.7040108@acm.org> References: <2002442925.22384.1301522705714.JavaMail.tomcat@hel.zones.apache.org> <4D97EAE7.2060908@acm.org> <4D9885EC.7040108@acm.org> Date: Sun, 3 Apr 2011 16:04:35 +0100 Message-ID: Subject: Re: [jira] [Created] (RIVER-395) Ill-behaved DiscoveryListener can terminate discovery notifier threads From: Dan Creswell To: dev@river.apache.org Content-Type: multipart/alternative; boundary=0016e689714019c6a904a004f65b X-Virus-Checked: Checked by ClamAV on apache.org --0016e689714019c6a904a004f65b Content-Type: text/plain; charset=ISO-8859-1 On 3 April 2011 15:36, Patricia Shanahan wrote: > Correct about the class name. > > We need to remember that Throwable includes conditions that are not > specific to the code that throws it, but rather indicate a general problem. > > Sure but if you've got one of those cases, chances are many other things will break also because it's a general problem. Patricia > > > > On 4/3/2011 1:14 AM, Dan Creswell wrote: > >> Did you mean LookupLocatorDiscovery.Notifier? >> >> In regards to ignoring Throwable, it depends on the context. In this case, >> we'd have a ServiceRegistrar that cannot respond to the request made >> (getLocator) which is therefore either down or pretty broken. The most I'd >> do in such a situation is dump the registrar (but you might discover it >> again later) and issue a log message. >> >> Silence in this case seems like a reasonable option, guess I might want a >> log message to help me (or a user) debug is all. >> >> That just leaves whether one believes in catching Throwable. I'd say it's >> legitimate as there's a variety of problems that could result from dealing >> in a faulty ServiceRegistrar that shouldn't ultimately disrupt the >> discovery >> process. >> >> Cheers, >> >> Dan. >> >> On 3 April 2011 04:35, Patricia Shanahan wrote: >> >> 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 >>>> >>>> >>>> >>> >> > --0016e689714019c6a904a004f65b--