jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Smuts <asm...@yahoo.com>
Subject Re: Lateral Cache UDP Discovery Implementation Question
Date Mon, 06 Nov 2006 15:23:42 GMT
A passive braodcast should go out every 30 seconds. 
If not, then something is wrong.  It should never
respond to itself.  That's very messy.  

Aaron

--- Randy Watler <watler@wispertel.net> wrote:

> A quick followup on this issue:
> 
> I have verified that lateral cache clients do manage
> to get configured
> correctly most of the time if all clients attempt to
> discover each other
> simultaneously. However, my results still suggest
> that any client that
> is started later than others will not be discovered
> by the other caches.
> 
> I believe that a client should actively broadcast
> its lateral cache
> listener upon start up one way or another...
> something I do not see
> happening. As noted below, one way to accomplish
> this would be to allow
> a lateral cache to respond to its own broadcast
> request.
> 
> Anyone else notice the same issue with UDP
> Discovery?
> 
> Randy
> 
> On Thu, 2006-11-02 at 22:54 -0700, Randy Watler
> wrote:
> > I have a test case for our integration of JCS
> 1.2.7.9 using a TCP
> > Lateral Cache with UDP Discovery that verifies the
> lateral cache is
> > fully active upon start up. However, it seems that
> the discovery
> > mechanism is not locating all test case processes
> that are trying to be
> > members of the lateral cache.
> > 
> > In this test, we create 3 processes that all
> employ the lateral cache
> > using sequential tcp listener ports. Here is the
> test case
> > configuration:
> > 
> >
>
jcs.auxiliary.LC=org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory
> >
>
jcs.auxiliary.LC.attributes=org.apache.jcs.auxiliary.lateral.socket.tcp.TCPLateralCacheAttributes
> >
> jcs.auxiliary.LC.attributes.TcpListenerPort=599[567]
> >
>
jcs.auxiliary.LC.attributes.UdpDiscoveryAddr=225.0.0.1
> > jcs.auxiliary.LC.attributes.UdpDiscoveryPort=5994
> >
> jcs.auxiliary.LC.attributes.UdpDiscoveryEnabled=true
> > jcs.auxiliary.LC.attributes.Receive=true
> > jcs.auxiliary.LC.attributes.AllowGet=false
> > jcs.auxiliary.LC.attributes.IssueRemoveOnPut=true
> >
>
jcs.auxiliary.LC.attributes.FilterRemoveByHashCode=false
> > 
> > With debugging on, I can see that lateral cache
> senders are not being
> > created symmetrically:
> > 
> > Process1 14:11:45,082 DEBUG  [Thread-4]:
>
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPService
> - Created sender to [127.0.0.1:5995]
> > Process0 14:11:56,597 DEBUG  [Thread-4]:
>
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPService
> - Created sender to [127.0.0.1:5996]
> > Process2 14:11:57,371 DEBUG  [Thread-4]:
>
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPService
> - Created sender to [127.0.0.1:5996]
> > Process2 14:11:57,380 DEBUG  [Thread-4]:
>
org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPService
> - Created sender to [127.0.0.1:5995]
> > 
> > First, Process0 was started. Then Process1 was
> started at 11:45.
> > Process1 Discovery properly found Process0 at
> 5995, but Process0 did not
> > notice that Process1 at 5996 was started.
> > 
> > Process2 was then started at 11:56. When Process1
> responded to the
> > broadcast request from Process2, both Process0 and
> Process2 then saw
> > Process1 at 5996. As one would expect, Process2
> also located Process0 at
> > 5995.
> > 
> > Notice that each time the starting process
> remained invisible to the
> > other instances in the lateral cache cluster.
> After looking at the logs
> > in more detail, it seems that a PASSIVE_BROADCAST
> for the new process is
> > not sent on start up:
> > 
> > Process0 14:11:45,022 DEBUG  [Thread-4]:
>
org.apache.jcs.auxiliary.lateral.socket.tcp.discovery.UDPDiscoverySender
> - sending passiveBroadcast
> > Process0 14:11:56,546 DEBUG  [Thread-4]:
>
org.apache.jcs.auxiliary.lateral.socket.tcp.discovery.UDPDiscoverySender
> - sending passiveBroadcast
> > Process1 14:11:56,539 DEBUG  [Thread-4]:
>
org.apache.jcs.auxiliary.lateral.socket.tcp.discovery.UDPDiscoverySender
> - sending passiveBroadcast
> > 
> > After looking at the code, I noticed that in
> UDPDiscoveryReceiver.run()
> > messages "from self" are ignored by a test on line
> 278. I was surprised
> > to see this since I would expect a
> REQUEST_BROADCAST from self, if
> > processed, would allow the process starting to
> broadcast its listener...
> > something that appears to be missing. Furthermore,
> I found no other
> > mechanisms that would allow a PASSIVE_BROADCAST to
> be sent.
> > 
> > Have I misconfigured the cache or read the
> code/logs incorrectly? Or, is
> > there a reason that the "from self"
> REQUEST_BROADCAST messages are not
> > processed in UDPDiscoveryReceiver.run() lines
> 280-283 by invoking
> > UDPDiscoveryService.serviceRequestBroadcast() as
> is done on line 301?
> > 
> > Thanks for any help in advance,
> > 
> > Randy
> > 
> > 
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> jcs-users-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail:
> jcs-users-help@jakarta.apache.org
> > 
> > 
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> jcs-users-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> jcs-users-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


Mime
View raw message