[freenet-cvs] r17462 - trunk/freenet/src/freenet/node/simulator
robert at freenetproject.org
robert at freenetproject.org
Fri Feb 1 18:17:15 UTC 2008
Author: robert
Date: 2008-02-01 18:17:15 +0000 (Fri, 01 Feb 2008)
New Revision: 17462
Modified:
trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
Log:
logging, and try to fetch even if insert fails
Modified: trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java 2008-02-01 16:29:05 UTC (rev 17461)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java 2008-02-01 18:17:15 UTC (rev 17462)
@@ -37,6 +37,8 @@
static final int NUMBER_OF_NODES = 10;
static final short MAX_HTL = 5;
+ //static final int NUMBER_OF_NODES = 50;
+ //static final short MAX_HTL = 10;
public static void main(String[] args) throws FSParseException, PeerParseException, CHKEncodeException, InvalidThresholdException, NodeInitException, ReferenceSignatureVerificationException {
String wd = "realNodeRequestInsertTest";
@@ -44,8 +46,8 @@
//NOTE: globalTestInit returns in ignored random source
NodeStarter.globalTestInit(wd);
// Don't clobber nearby nodes!
- Logger.setupStdoutLogging(Logger.DEBUG, "freenet.store:minor,freenet.node.Location:normal" /*"freenet.node.LocationManager:debug,freenet.node.FNPPacketManager:normal,freenet.io.comm.MessageCore:debug"*/);
- Logger.globalSetThreshold(Logger.DEBUG);
+ Logger.setupStdoutLogging(Logger.ERROR, "freenet.node.Location:normal,freenet.node.simulator.RealNodeRoutingTest:normal" /*"freenet.store:minor,freenet.node.LocationManager:debug,freenet.node.FNPPacketManager:normal,freenet.io.comm.MessageCore:debug"*/);
+ Logger.globalSetThreshold(Logger.ERROR);
System.out.println("Insert/retrieve test");
System.out.println();
DummyRandomSource random = new DummyRandomSource();
@@ -134,7 +136,7 @@
Node randomNode2 = randomNode;
while(randomNode2 == randomNode)
randomNode2 = nodes[random.nextInt(NUMBER_OF_NODES)];
- Logger.normal(RealNodeRoutingTest.class, "Pinging "+randomNode2.getDarknetPortNumber()+" from "+randomNode.getDarknetPortNumber());
+ Logger.minor(RealNodeRoutingTest.class, "Pinging "+randomNode2.getDarknetPortNumber()+" from "+randomNode.getDarknetPortNumber());
double loc2 = randomNode2.getLocation();
int hopsTaken = randomNode.routedPing(loc2);
pings++;
@@ -165,6 +167,9 @@
int requestNumber = 0;
RunningAverage requestsAvg = new SimpleRunningAverage(100, 0.0);
String baseString = System.currentTimeMillis() + " ";
+ int insertAttempts = 0;
+ int insertSuccesses = 0;
+ int fetchSuccesses = 0;
while(true) {
try {
requestNumber++;
@@ -184,12 +189,18 @@
byte[] encData = block.getData();
byte[] encHeaders = block.getHeaders();
ClientCHKBlock newBlock = new ClientCHKBlock(encData, encHeaders, chk, true);
- Logger.error(RealNodeRequestInsertTest.class, "Decoded: "+new String(newBlock.memoryDecode()));
- Logger.error(RealNodeRequestInsertTest.class,"CHK: "+chk.getURI());
- Logger.error(RealNodeRequestInsertTest.class,"Headers: "+HexUtil.bytesToHex(block.getHeaders()));
- randomNode.clientCore.realPut(block, true);
- Logger.error(RealNodeRequestInsertTest.class, "Inserted to "+node1);
- Logger.error(RealNodeRequestInsertTest.class, "Data: "+Fields.hashCode(encData)+", Headers: "+Fields.hashCode(encHeaders));
+ Logger.minor(RealNodeRequestInsertTest.class, "Decoded: "+new String(newBlock.memoryDecode()));
+ Logger.normal(RealNodeRequestInsertTest.class,"CHK: "+chk.getURI());
+ Logger.minor(RealNodeRequestInsertTest.class,"Headers: "+HexUtil.bytesToHex(block.getHeaders()));
+ try {
+ insertAttempts++;
+ randomNode.clientCore.realPut(block, true);
+ Logger.error(RealNodeRequestInsertTest.class, "Inserted to "+node1);
+ Logger.minor(RealNodeRequestInsertTest.class, "Data: "+Fields.hashCode(encData)+", Headers: "+Fields.hashCode(encHeaders));
+ insertSuccesses++;
+ } catch (freenet.node.LowLevelPutException putEx) {
+ Logger.error(RealNodeRequestInsertTest.class, "Insert failed: "+ putEx);
+ }
// Pick random node to request from
int node2;
do {
@@ -198,13 +209,16 @@
Node fetchNode = nodes[node2];
block = (ClientCHKBlock) fetchNode.clientCore.realGetKey((ClientKey) chk, false, true, false);
if(block == null) {
- Logger.error(RealNodeRequestInsertTest.class, "Fetch FAILED from "+node2);
+ int percentSuccess=100*fetchSuccesses/insertAttempts;
+ Logger.error(RealNodeRequestInsertTest.class, "Fetch #"+requestNumber+" FAILED ("+percentSuccess+"%); from "+node2);
requestsAvg.report(0.0);
} else {
byte[] results = block.memoryDecode();
requestsAvg.report(1.0);
if(Arrays.equals(results, data)) {
- Logger.error(RealNodeRequestInsertTest.class, "Fetch succeeded: "+new String(results));
+ fetchSuccesses++;
+ int percentSuccess=100*fetchSuccesses/insertAttempts;
+ Logger.error(RealNodeRequestInsertTest.class, "Fetch #"+requestNumber+" succeeded ("+percentSuccess+"%): "+new String(results));
} else {
Logger.error(RealNodeRequestInsertTest.class, "Returned invalid data!: "+new String(results));
}
More information about the cvs
mailing list