Author: toad
Date: 2007-02-10 15:33:19 +0000 (Sat, 10 Feb 2007)
New Revision: 11740
Modified:
trunk/freenet/src/freenet/node/NodeClientCore.java
trunk/freenet/src/freenet/node/fcp/ClientRequest.java
trunk/freenet/src/freenet/node/fcp/FCPServer.java
Log:
Reinstate synchronous deserialization of persistent inserts.
Will make startup take significantly longer, but will increase chances of
startup succeeding significantly.
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2007-02-10 15:01:33 UTC
(rev 11739)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2007-02-10 15:33:19 UTC
(rev 11740)
@@ -255,7 +255,7 @@
public void run() {
System.out.println("Resuming persistent
requests");
Logger.normal(this, "Resuming persistent
requests");
- fcpServer.finishStart();
+// fcpServer.finishStart();
persistentTempBucketFactory.completedInit();
System.out.println("Completed startup: All
persistent requests resumed or restarted");
Logger.normal(this, "Completed startup: All
persistent requests resumed or restarted");
Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2007-02-10
15:01:33 UTC (rev 11739)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java 2007-02-10
15:33:19 UTC (rev 11740)
@@ -136,6 +136,10 @@
}
public static ClientRequest readAndRegister(BufferedReader br,
FCPServer server) throws IOException {
+ boolean logMINOR = Logger.shouldLog(Logger.MINOR,
ClientRequest.class);
+ Runtime rt = Runtime.getRuntime();;
+ if(logMINOR)
+ Logger.minor(ClientRequest.class,
rt.maxMemory()-rt.freeMemory()+" in use before loading request");
SimpleFieldSet fs = new SimpleFieldSet(br, false);
String clientName = fs.get("ClientName");
boolean isGlobal = Fields.stringToBool(fs.get("Global"), false);
@@ -149,19 +153,24 @@
client = server.registerClient(clientName, server.core,
null);
else
client = server.globalClient;
+ if(logMINOR)
+ Logger.minor(ClientRequest.class,
rt.maxMemory()-rt.freeMemory()+" in use loading request "+clientName+"
"+fs.get("Identifier"));
try {
String type = fs.get("Type");
if(type.equals("GET")) {
ClientGet cg = new ClientGet(fs, client);
client.register(cg, true);
+ cg.start();
return cg;
} else if(type.equals("PUT")) {
ClientPut cp = new ClientPut(fs, client);
client.register(cp, true);
+ cp.start();
return cp;
} else if(type.equals("PUTDIR")) {
ClientPutDir cp = new ClientPutDir(fs, client);
client.register(cp, true);
+ cp.start();
return cp;
} else {
Logger.error(ClientRequest.class, "Unrecognized
type: "+type);
Modified: trunk/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPServer.java 2007-02-10 15:01:33 UTC
(rev 11739)
+++ trunk/freenet/src/freenet/node/fcp/FCPServer.java 2007-02-10 15:33:19 UTC
(rev 11740)
@@ -590,6 +590,7 @@
throw new IOException(e.toString());
}
for(int i=0;i<count;i++) {
+ System.out.println("Loading persistent request
"+i+" of "+count+"...");
ClientRequest.readAndRegister(br, this);
}
br.close();