Author: toad
Date: 2007-05-03 21:28:13 +0000 (Thu, 03 May 2007)
New Revision: 13133

Modified:
   trunk/freenet/src/freenet/node/fcp/ClientPut.java
Log:
Don't keep the old fieldset in RAM if the request has finished.
Saves a bunch of memory on the startup after completion.

Modified: trunk/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPut.java   2007-05-03 21:00:14 UTC 
(rev 13132)
+++ trunk/freenet/src/freenet/node/fcp/ClientPut.java   2007-05-03 21:28:13 UTC 
(rev 13133)
@@ -333,8 +333,10 @@
                }
                if(logMINOR) Logger.minor(this, "data = "+data);
                this.clientMetadata = cm;
+               SimpleFieldSet oldProgress = fs.subset("progress");
+               if(finished) oldProgress = null; // Not useful any more
                putter = new ClientPutter(this, data, uri, cm, ctx, 
client.core.requestStarters.chkPutScheduler, 
-                               client.core.requestStarters.sskPutScheduler, 
priorityClass, getCHKOnly, isMetadata, client.lowLevelClient, 
fs.subset("progress"), targetFilename);
+                               client.core.requestStarters.sskPutScheduler, 
priorityClass, getCHKOnly, isMetadata, client.lowLevelClient, oldProgress, 
targetFilename);
                if(persistenceType != PERSIST_CONNECTION) {
                        FCPMessage msg = persistentTagMessage();
                        client.queueClientRequestMessage(msg, 0);


Reply via email to