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


Reply via email to