[freenet-cvs] r11740 - in trunk/freenet/src/freenet/node: . fcp

toad at freenetproject.org toad at freenetproject.org
Sat Feb 10 15:33:19 UTC 2007


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();




More information about the cvs mailing list