Subject: The Amazing Dying Container, and messages sent in afterMove()
From: John J. Mikucki (jjm7570@cs.rit.edu)
Date: Thu Aug 01 2002 - 18:33:43 MET DST
Hello again--
Some of my JADE containers are dying, and I don't know why. I may be doing
something wrong within my agent, but I'm certain I'm not intending for agents
to kill containers, and call no functions that are documented to kill them.
Currently, my platform has about 60 containers, and at least one died in the
first 15 minutes. What could be happening?
The container deaths have the unfortunate effect of doing Bad Things to the
master platform. In particular, the platform (as indicated by the RMA)
doesn't acknowledge that the container has died, and will not kill it / remove
it from the container list. Hence, my agents keep attempting to move to dead
containers. Worse, however, is that the agents seem to lose messages after the
container failure.
The agents continue to wander around the network (they post events indicating
that they've arrived at new places). However, messages sent while in
agent.afterMove() are only received when the agent is arriving to the main
container. After leaving the afterMove() call, messages seem to be received
without difficulty, as agent movement is driven by the same self-messaging
mechanism that drives the tasks which cease to be performed. The transition
from fully operational to 'only works on the main container' seems to be fairly
sudden, though determining precisely what's happening when is involved and will
take more time.
* What might be killing my containers?
* Why do dead containers still show up in the RMA, but cannot be killed or
removed?
* What might be causing my agents to miss messages
sent in the afterMove() method? I know they are sent originally, because the
task they trigger is performed everywhere... but, after some event (I think
it's a dying container) they only occur on the main container.
* How can my agents trap failures experienced while moving (ie, after doMove()
is called)?
* Is there any way to 'ping' a container before moving to it?
Thanks
John
-- Avoision, n: Avoidance, as practiced in 'Joisey.
This archive was generated by hypermail 2a22 : Thu Aug 01 2002 - 18:32:02 MET DST