<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<div class="moz-text-html" lang="x-western">
Hi all,<br>
<br>
Great you are back, we were missing you!<br>
<br>
I am making small demos of the different features of Cougaar, here
playing around with the white pages and it replication fixture:<br>
- Node 1 : PingSender<br>
- Node 2 : PingReceiver<br>
- Node 3 : NameServer1<br>
- Node 4 : NameServer2<br>
- Node 5 : NameServer3<br>
<br>
NameServer 1, 2 and 3 are configured to replicate their content. <br>
<br>
I start every node, everything works fine (/wp). <br>
<br>
Then I stop one name server. First there are some catched exceptions
and messages, then only lines like:<br>
2008-06-19 20:08:39,968 INFO&nbsp; [DestinationQueueImpl] - Node3: No valid
links to NameServer2<br>
<br>
Then I restart the stopped name server and all wps don't seem to
recover quite well from there. The name server agents seem to
communicate, but there seems to still be a problem communicating with
the node because there is still the same info problem and the white
pages servlet confirms it has not recovered well. But it comes back to
normal if I restart the other two name
servers.<br>
<br>
Is there any configuration or something I missed because I don't see
why
agents don't recover from this stop and restart, which can
happen in real world? (my configuration is below)<br>
<br>
On the other hand, it brings me to a question about white pages. In a
very big society with millions of nodes, how would the white pages
behave and isn't it a single point of failure with the default
implementation? <br>
<br>
Thanks,<br>
Morgan<br>
<br>
<br>
<br>
<br>
<br>
<i><u>Logging props :</u></i><br>
log4j.rootCategory=WARN,A1<br>
log4j.appender.A1.layout=org.apache.log4j.PatternLayout<br>
log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} %-5p [%c{1}] -
%m%n<br>
log4j.appender.A1=org.apache.log4j.ConsoleAppender<br>
<br>
log4j.category.org.cougaar.mts=INFO<br>
<br>
<br>
<i><u>Runtime config file : </u></i><br>
&lt;?xml version='1.0'?&gt;<br>
<br>
&lt;!--<br>
Two-node "ping" runtime System Properties.<br>
--&gt;<br>
&lt;runtime&gt;<br>
<br>
&nbsp; &lt;!--<br>
NameServers<br>
&nbsp; --&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.name.server"
value="NameServer1@localhost:8888"/&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.name.server.WP-2"
value="NameServer2@localhost:8888"/&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.name.server.WP-3"
value="NameServer3@localhost:8888"/&gt;<br>
&nbsp; <br>
&nbsp; &lt;vm_parameter<br>
&nbsp;&nbsp;&nbsp; name="-Dorg.cougaar.society.xsl.param.template"<br>
&nbsp;&nbsp;&nbsp; value="lan"/&gt;<br>
<br>
&nbsp; &lt;!-- Optional tuning to reduce naming service startup time --&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.core.wp.server.successTTD"
value="30000"/&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.core.wp.server.failTTD"
value="1000"/&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.core.wp.resolver.rmi.minLookup"
value="500"/&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.core.wp.resolver.rmi.maxLookup"
value="2000"/&gt;<br>
&nbsp; &lt;vm_parameter
name="-Dorg.cougaar.core.mts.destq.retry.initialTimeout"
value="250"/&gt;<br>
&nbsp; &lt;vm_parameter name="-Dorg.cougaar.core.mts.destq.retry.maxTimeout"
value="500"/&gt;<br>
<br>
&nbsp; &lt;!-- Optional log4j config file --&gt;<br>
&nbsp; &lt;vm_parameter<br>
&nbsp;&nbsp;&nbsp;&nbsp; name="-Dorg.cougaar.core.logging.config.filename"<br>
&nbsp;&nbsp;&nbsp;&nbsp; value="logging.props"/&gt;<br>
&lt;/runtime&gt;<br>
<br>
<br>
<i><u>Society config file :</u></i><br>
&lt;?xml version='1.0'?&gt;<br>
<br>
&lt;!--<br>
Two-node "ping" society definition.<br>
--&gt;<br>
&lt;society&gt;<br>
<br>
&nbsp; &lt;node name="Node1"&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;agent name="A"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;component class="org.cougaar.demo.wp.PingSender"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;argument name="target" value="B"/&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/component&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;component class="org.cougaar.demo.wp.PingServlet"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;argument name="path" value="/ping"/&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/component&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/agent&gt;<br>
&nbsp; &lt;/node&gt;<br>
<br>
&nbsp; <br>
&nbsp; &lt;node name="Node2"&gt;<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &lt;agent name="B"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;component class="org.cougaar.demo.wp.PingReceiver"/&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/agent&gt;<br>
&nbsp; &lt;/node&gt;<br>
<br>
&nbsp; &lt;!-- First wp --&gt;<br>
&nbsp; &lt;node name="Node3"&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;!-- Agent "NameServer" will be our society-wide naming service
--&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;agent name="NameServer1"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;component class='org.cougaar.core.wp.server.Server'/&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/agent&gt;<br>
&nbsp; &lt;/node&gt;<br>
<br>
&nbsp; &lt;!-- Another wp --&gt;<br>
&nbsp; &lt;node name="Node4"&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;!-- Agent "NameServer" will be our society-wide naming service
--&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;agent name="NameServer2"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;component class='org.cougaar.core.wp.server.Server'/&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/agent&gt;<br>
&nbsp; &lt;/node&gt;<br>
<br>
&nbsp; &lt;!-- Another wp --&gt;<br>
&nbsp; &lt;node name="Node5"&gt;<br>
<br>
&nbsp;&nbsp;&nbsp; &lt;!-- Agent "NameServer" will be our society-wide naming service
--&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;agent name="NameServer3"&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;component class='org.cougaar.core.wp.server.Server'/&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/agent&gt;<br>
&nbsp; &lt;/node&gt;<br>
&nbsp; <br>
&lt;/society&gt;<br>
<br>
</div>
</body>
</html>