<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Saraub,</p>
<p><br>
</p>
<p>that worked! I believe it makes sense that the producer was the
only one which could consume its own data if that's the case. <br>
</p>
<p><br>
</p>
<p>I was able to run that same script and achieve the following
results:<br>
</p>
<p><tt><br>
</tt></p>
<p><tt>(/myApp/a, 1027.0000, DATA) - host a</tt><tt><br>
</tt></p>
<p><tt>(/myApp/a, 26333.0000, DATA) - host b</tt></p>
<p><tt>(/myApp/a, 64384.0000, DATA) - host c</tt></p>
<p><tt>(/myApp/a, 21340.0000, DATA) - host d</tt></p>
<p><tt><br>
</tt></p>
<p><br>
</p>
<p>Thank you guys very much!</p>
<p><br>
</p>
<p>- André<br>
</p>
<p><br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 30/09/2020 15:24, Saurab Dulal
(sdulal) wrote:<br>
</div>
<blockquote type="cite"
cite="mid:SA0PR16MB3805ABB19B66767BE5354780C4330@SA0PR16MB3805.namprd16.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<span style="font-family: calibri, arial, helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0); background-color:
rgba(0, 0, 0, 0);">Hi
</span>André,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
The experiment setup seems fine. Can you add 20 - 30s sleep
after starting the NLSR and see if the problem goes away?</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<blockquote type="cite" style="color: rgb(50, 49, 48);
font-family: "Segoe UI", "Segoe UI Web (West
European)", "Segoe UI", -apple-system,
system-ui, Roboto, "Helvetica Neue", sans-serif;
font-size: 15px; background-color: rgb(255, 255, 255)">
<div style="margin: 0px">
<div dir="auto" style="margin: 0px">
<blockquote type="cite">
<div dir="ltr" style="margin: 0px">
<p><tt>info('Starting NLSR on nodes\n')</tt><tt><br>
</tt><tt> nlsrs = AppManager(ndn, ndn.net.hosts,
Nlsr)</tt><tt><br>
</tt></p>
<p><tt> time.sleep(30) # 30s to be on safe side.<br>
</tt></p>
<p><tt> # Run producer</tt><tt><br>
</tt><tt> producer = ndn.net.hosts[0]</tt></p>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
NLSR takes some time to compute the whole routing table. So, if
the routes are not set up by the time the consumer requests for
the data, it will get the NoRoute nacks.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
Regards,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
Saurab Dulal</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt"
face="Calibri, sans-serif" color="#000000"><b>From:</b>
Mini-NDN <a class="moz-txt-link-rfc2396E" href="mailto:mini-ndn-bounces@lists.cs.ucla.edu"><mini-ndn-bounces@lists.cs.ucla.edu></a> on behalf
of Alexander Wilhelm Lane (awlane) <a class="moz-txt-link-rfc2396E" href="mailto:awlane@memphis.edu"><awlane@memphis.edu></a><br>
<b>Sent:</b> Tuesday, September 29, 2020 6:03 PM<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:adcarneiro@inf.ufrgs.br">adcarneiro@inf.ufrgs.br</a>
<a class="moz-txt-link-rfc2396E" href="mailto:adcarneiro@inf.ufrgs.br"><adcarneiro@inf.ufrgs.br></a><br>
<b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:mini-ndn@lists.cs.ucla.edu">mini-ndn@lists.cs.ucla.edu</a>
<a class="moz-txt-link-rfc2396E" href="mailto:mini-ndn@lists.cs.ucla.edu"><mini-ndn@lists.cs.ucla.edu></a><br>
<b>Subject:</b> Re: [Mini-NDN] Issues with producer and
consumer in Python experiment</font>
<div> </div>
</div>
<div class="" style="word-wrap:break-word;
line-break:after-white-space">Apologies if these are unhelpful
suggestions but could you post the output from the producer
program when called from the script? You should just be able to
capture that in Bash. You also could try using something like
ndnping to see if it’s an issue with NFD or routing in the
script or something occurring when you run the producer.
<div class=""><br class="">
<div class="">I’d recommend using the getPopen method from
minindn.util in the future as it uses the more robust Python
popen API.</div>
<div class="">-Alex<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Sep 29, 2020, at 3:28 PM, Lan Wang
(lanwang) <<a href="mailto:lanwang@memphis.edu"
class="" moz-do-not-send="true">lanwang@memphis.edu</a>>
wrote:</div>
<br class="x_Apple-interchange-newline">
<div class="">
<div dir="auto" class=""><br class="">
<div dir="ltr" class=""><br class="">
Begin forwarded message:<br class="">
<br class="">
</div>
<blockquote type="cite" class="">
<div dir="ltr" class=""><b class="">From:</b>
"André D. Carneiro" <<a
href="mailto:adcarneiro@inf.ufrgs.br" class=""
moz-do-not-send="true">adcarneiro@inf.ufrgs.br</a>><br
class="">
<b class="">Date:</b> September 28, 2020 at
8:56:41 PM CDT<br class="">
<b class="">To:</b> "Lan Wang (lanwang)" <<a
href="mailto:lanwang@memphis.edu" class=""
moz-do-not-send="true">lanwang@memphis.edu</a>><br
class="">
<b class="">Subject:</b> <b class="">Re:
[Mini-NDN] Issues with producer and consumer
in Python experiment</b><br class="">
<br class="">
</div>
</blockquote>
<blockquote type="cite" class="">
<div dir="ltr" class="">
<p class="">Hi,<br class="">
</p>
<p class=""><br class="">
</p>
<p class="">the consumers are getting NACKs when
the commands are issued within python, when
running the same commands in the hosts' xterm
windows, the consumers get the data. Here is
the simplest code I used to test it, it was
based on the mnndn.py script and the imports
were kept the same.</p>
<p class="">The only exception to that is the
consumer ran by the same host that also ran
the producer program, which received the data.</p>
<p class=""><tt class="">if __name__ ==
'__main__':</tt><tt class=""><br class="">
</tt><tt class=""> setLogLevel('info')</tt><tt
class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""> Minindn.cleanUp()</tt><tt
class=""><br class="">
</tt><tt class="">
Minindn.verifyDependencies()</tt><tt
class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""> ndn = Minindn()</tt><tt
class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""> ndn.start()</tt><tt
class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""> info('Starting NFD on
nodes\n')</tt><tt class=""><br class="">
</tt><tt class=""> nfds = AppManager(ndn,
ndn.net.hosts, Nfd)</tt><tt class=""><br
class="">
</tt><tt class=""> info('Starting NLSR on
nodes\n')</tt><tt class=""><br class="">
</tt><tt class=""> nlsrs = AppManager(ndn,
ndn.net.hosts, Nlsr)</tt><tt class=""><br
class="">
</tt><tt class=""><br class="">
</tt><tt class=""> # Run producer</tt><tt
class=""><br class="">
</tt><tt class=""> producer =
ndn.net.hosts[0]</tt><tt class=""><br
class="">
</tt><tt class=""> strInterestFilter =
'/myApp/' + producer.name</tt><tt class=""><br
class="">
</tt><tt class=""> strCmdAdvertise = 'nlsrc
advertise ' + strInterestFilter</tt><tt
class=""><br class="">
</tt><tt class=""> strCmdProducer =
'producer ' + strInterestFilter + ' &'</tt><tt
class=""><br class="">
</tt><tt class="">
producer.cmd(strCmdAdvertise)</tt><tt
class=""><br class="">
</tt><tt class="">
producer.cmd(strCmdProducer)</tt><tt
class=""><br class="">
</tt><tt class=""> time.sleep(1)</tt><tt
class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""> # Run consumers</tt><tt
class=""><br class="">
</tt><tt class=""> for host in
ndn.net.hosts:</tt><tt class=""><br class="">
</tt><tt class=""> strCmdConsumer =
'consumer ' + strInterestFilter</tt><tt
class=""><br class="">
</tt><tt class="">
host.cmd(strCmdConsumer) </tt><tt
class=""><br class="">
</tt><tt class=""> </tt><tt class=""><br
class="">
</tt><tt class=""> MiniNDNCLI(<a
href="http://ndn.net" class=""
moz-do-not-send="true">ndn.net</a>)</tt><tt
class=""><br class="">
</tt><tt class=""><br class="">
</tt><tt class=""> ndn.stop()</tt><br
class="">
</p>
<p class=""><br class="">
</p>
<p class="">Printing the commands above issued
to the hosts, I get the following:</p>
<p class=""><tt class="">CmdProducer: nlsrc
advertise /myApp/a</tt><tt class=""><br
class="">
</tt><tt class="">CmdProducer: producer
/myApp/a &</tt><tt class=""><br class="">
</tt><tt class="">CmdConsumer: consumer
/myApp/a</tt><tt class=""><br class="">
</tt><tt class="">CmdConsumer: consumer
/myApp/a</tt><tt class=""><br class="">
</tt><tt class="">CmdConsumer: consumer
/myApp/a</tt><tt class=""><br class="">
</tt><tt class="">CmdConsumer: consumer
/myApp/a</tt></p>
<p class=""><tt class=""><br class="">
</tt></p>
<p class="">Running these same commands in the
hosts' xterm windows, in the same default
topology, all the consumers get the data as
expected. I believe there must be some command
missing from the python script, I just don't
know what it is.</p>
<p class="">The producer and consumer programs
used here are only slightly modified versions
of the ones in the examples folder so that
they log times and accept some parameters from
the command line. They were compiled and have
a symbolic link so they can be called without
their full path.</p>
<p class=""><br class="">
</p>
<p class="">best regards,</p>
<p class="">André Dexheimer Carneiro<br class="">
</p>
<p class=""><br class="">
</p>
<div class="x_moz-cite-prefix">On 28/09/2020
13:29, Lan Wang (lanwang) wrote:<br class="">
</div>
<blockquote type="cite" class="">Can you explain
what specific problems you have right now?
Are the consumers getting the data?
<div class=""><br class="">
</div>
<div class="">Lan<br class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On Sep 27, 2020, at 7:33
PM, Lan Wang (lanwang) <<a
href="mailto:lanwang@memphis.edu"
class="" moz-do-not-send="true">lanwang@memphis.edu</a>>
wrote:</div>
<br class="x_Apple-interchange-newline">
<div class="">
<div class=""
style="word-wrap:break-word;
line-break:after-white-space"><br
class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">Begin forwarded
message:</div>
<div class=""
style="margin-top:0px;
margin-right:0px;
margin-bottom:0px;
margin-left:0px">
<br class="">
</div>
<div class="">
<div class=""
style="margin-top:0px;
margin-right:0px;
margin-bottom:0px;
margin-left:0px">
<span class=""
style="color:rgba(127,127,127,1.0)"><b
class="">From: </b></span><span
class="" style="">André D.
Carneiro <<a
href="mailto:adcarneiro@inf.ufrgs.br"
class=""
moz-do-not-send="true">adcarneiro@inf.ufrgs.br</a>><br
class="">
</span></div>
<div class=""
style="margin-top:0px;
margin-right:0px;
margin-bottom:0px;
margin-left:0px">
<span class=""
style="color:rgba(127,127,127,1.0)"><b
class="">Subject: </b></span><span
class="" style=""><b
class="">Issues with
producer and consumer in
Python experiment</b><br
class="">
</span></div>
<div class=""
style="margin-top:0px;
margin-right:0px;
margin-bottom:0px;
margin-left:0px">
<span class=""
style="color:rgba(127,127,127,1.0)"><b
class="">Date: </b></span><span
class="" style="">September
27, 2020 at 5:42:24 PM CDT<br
class="">
</span></div>
<div class=""
style="margin-top:0px;
margin-right:0px;
margin-bottom:0px;
margin-left:0px">
<span class=""
style="color:rgba(127,127,127,1.0)"><b
class="">To: </b></span><span
class="" style=""><a
href="mailto:mini-ndn@lists.cs.ucla.edu"
class=""
moz-do-not-send="true">mini-ndn@lists.cs.ucla.edu</a><br
class="">
</span></div>
<br class="">
<br class="">
Hi everyone and thanks very
much for the help so far,<br
class="">
<br class="">
<br class="">
I have the basics covered now
and the install seems to be
working fine. Running
producers/consumers on the
MiniNDN CLI responds as I
expected so I got back to my
python experiment. Only when
instantiating
producers/consumers via the
'host.cmd' directive I am
getting NACKs, though I'm not
sure why. These producer and
consumer programs are copies
from the ones in the examples
directory, only with minimal
changes to log the elapsed
time and accept interest
filters from the command line.<br
class="">
<br class="">
To give you a broad view of
the script, all the producers
are instantiated during setup,
being assigned their interest
filter, after running their
respective 'nlsrc advertise'
command (thanks for that
again) and running in the
background (ex. 'producer /a
&').<br class="">
<br class="">
The consumers are instantiated
by demand, the main difference
being that they don't run in
the background (without the
'&') and they are
responsible for logging the
elapsed time when onData,
onNack or onTimeout is called.<br
class="">
<br class="">
When the experiment is done
and the CLI is shown, I ran
'nlsrc lsdb' and noticed that
the advertise commands had
worked because the interest
filters show up in their
respective hosts. I also tried
adding the 'export HOME'
command for each host before
calling the producer or
consumer programs, but it did
not seem to make any
difference.<br class="">
<br class="">
<br class="">
Also note that a consumer can
run while a producer for that
same host is running in the
background, which I don't
think is a problem.<br
class="">
<br class="">
<br class="">
Best regards,<br class="">
<br class="">
André Dexheimer Carneiro<br
class="">
<br class="">
<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
_______________________________________________<br class="">
Mini-NDN mailing list<br class="">
<a
href="mailto:Mini-NDN@lists.cs.ucla.edu"
class="" moz-do-not-send="true">Mini-NDN@lists.cs.ucla.edu</a><br
class="">
<a class="x_moz-txt-link-freetext"
href="http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn"
moz-do-not-send="true">http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn</a><br
class="">
</div>
</blockquote>
</div>
<br class="">
</div>
<br class="">
<fieldset class="x_mimeAttachmentHeader"></fieldset>
<pre class="x_moz-quote-pre">_______________________________________________
Mini-NDN mailing list
<a class="x_moz-txt-link-abbreviated" href="mailto:Mini-NDN@lists.cs.ucla.edu" moz-do-not-send="true">Mini-NDN@lists.cs.ucla.edu</a>
<a class="x_moz-txt-link-freetext" href="http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn" moz-do-not-send="true">http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn</a>
</pre>
</blockquote>
</div>
</blockquote>
</div>
_______________________________________________<br
class="">
Mini-NDN mailing list<br class="">
<a href="mailto:Mini-NDN@lists.cs.ucla.edu" class=""
moz-do-not-send="true">Mini-NDN@lists.cs.ucla.edu</a><br
class="">
<a class="moz-txt-link-freetext" href="http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn">http://www.lists.cs.ucla.edu/mailman/listinfo/mini-ndn</a><br
class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</body>
</html>