>> Are you sure about that?  
Looking at RegistrarImpl when ThrowableConstants.retryable(e) returns 
BAD_OBJECT, it rethrows only if (e instanceof Error), otherwise it cancels the 
lease. Since ConnectException is not an Error the lease would be canceled.
Why is the Error check being performed ?

>> Personally, I'd use an internal timer on the client side that says "if I 
>> don't receive any events for a given time, I'll cancel the current lease and 
>> re-register".  
That requires the Registrar to periodically send probe notifications. The 
number of real world notifications could fluctuate from zero to high load and 
cannot be trusted without probe notifications.

Thanks,
Itai

-----Original Message-----
From: Greg Trasuk [mailto:[email protected]] 
Sent: Tuesday, July 10, 2012 4:36 PM
To: [email protected]
Subject: Re: Question about LeaseRenewalManager and renewDuration


On Tue, 2012-07-10 at 06:41, Itai Frenkel wrote:
<snip...>
> Background Information:
> The motivation for this is the way the Registrar handles event notifications.
> When the Registrar fails to send a notification to a listener due to a 
> temporary network glitch, it assumes the listener is no longer available and 
> cancels the event lease.

Are you sure about that?  Looking through com.sun.jini.reggie.RegistrarImpl, it 
appears that when an exception occurs during event notification, the code tries 
to categorize the exception as either "definite" (no such event, no such 
object, etc) or "indefinite" (communications failure).  Then it only cancels 
the lease on a definite exception.

In other words, the lease is maintained in the case of a temporary network 
failure.  After all, that's the whole point of the lease: it represents an 
agreement between the client and service that resources are going to be 
maintained for a definite time period.  

Personally, I'd use an internal timer on the client side that says "if I don't 
receive any events for a given time, I'll cancel the current lease and 
re-register".  If the events are that quiet, then clearly the registrar is not 
that heavily loaded, so the overhead of cancelling the lease and creating a new 
registration should not be too bad.  You'd want to test it under simulated 
load, of course.

Cheers,

Greg.
--
Greg Trasuk, President
StratusCom Manufacturing Systems Inc. - We use information technology to solve 
business problems on your plant floor.
http://stratuscom.com



Reply via email to