FileSharing Over Kademlia and Can Overlays

27 views
Skip to first unread message

MH

unread,
Jul 16, 2017, 3:09:09 PM7/16/17
to PeerfactSim.KOM
Hello everyone,

i wrote a configuration file for Filesharing application and it works over Pastry, Gia and Chord. 

the execution over Can thrown a nullpointerException in execute methode of StoreOperation class in Can. The Simulation run till all Hosts joined the application (so the Overlay).

Also the execution over Kademlia thrown a ConfigurationException in the method createComponent of the class FileSharingApplicationFactory (because of the defined HostBuilder, i guess!)

i am using the latest Version of Peerfactsim Simulator (Java8)

 Can anybody help by solving these problems please?

i am very grateful für any replay

Thanks in advance

MH

Kalman

unread,
Jul 21, 2017, 5:01:43 AM7/21/17
to PeerfactSim.KOM

Dear MH,

When a ConfigurationException is thrown, I suppose that the Configuration is faulty. Could you paste here your configuration file and the debug info, that tells which line might be wrong?

Best regards
Message has been deleted

MH

unread,
Jul 21, 2017, 9:42:46 AM7/21/17
to PeerfactSim.KOM
thank you for your replay, this is a part my Configuration file:

<Configuration  xmlns:xi="http://www.w3.org/2001/XInclude">

 

<!-- Variables -->

       <Default>

             <Variable name="seed" value="123456" />

             <Variable name="size" value="150" />

             <Variable name="startTime" value="0m" />

             <Variable name="finishTime" value="600m" />

             <Variable name="ChurnModel" value="false" />

             <Variable name="actions" value="config/includes/actions/PeCoCC-FilePublish-Szenario1-7.dat" />

             <Variable name="Overlay" value="Can" />

           <Variable name="nodesG1" value="30" />

             <Variable name="nodesG2" value="1" />

             <Variable name="nodesG3" value="49" />

             <Variable name="nodesG4" value="1" />

             <Variable name="nodesG5" value="30" />

             <Variable name="nodesG6" value="39" />

             <Variable name="server" value="false" />

             <Variable name="Service" value="" />

             <Variable name="GUI" value="false" />

             <Variable name="NodeFactory1" value="Kademlia" />

             <Variable name="NodeFactory2" value="Can" />  

       </Default> ...

             <!-- Overlay -->

       <IfEqualStr arg0="$Overlay" arg1="Can">

             <xi:include href="includes/overlay/dht/can/CanNode.xml" />

       </IfEqualStr>

      <IfEqualStr arg0="$Overlay" arg1="Kademlia">

      <xi:include href="includes/overlay/dht/kademlia/KademliaNode.xml" />

         </IfEqualStr>

      <NodeFactory1

             class="org.peerfact.impl.overlay.dht.kademlia.kademlia.components.KademliaNodeFactory"/>

             <KademliaSetup

             class="org.peerfact.impl.overlay.dht.kademlia.base.KademliaSetup"

             static="getInstance" configPath="config/kademlia.properties"/>

             <Workload

                    class="org.peerfact.impl.overlay.dht.kademlia.base.WorkloadGenerator" />

      

       <NodeFactory2

             class="org.peerfact.impl.overlay.dht.can.components.CanNodeFactory"

             port="123"/> ...

By Running over CAN the debug showed that the error executed in the Simulator.start(boolean)line:232 , and SimulationThread.run()line:71.

By Running over Kademlia i do not get any errors anymore but also no results! i mean i got results in output folder for my simulation over kademlia but these results do not make any sense (shall i use another monitor?).

thank you for your help

best regards

MH 

Reply all
Reply to author
Forward
0 new messages