Update of /cvsroot/freenet/freenet/src/freenet/node/ds
In directory sc8-pr-cvs1:/tmp/cvs-serv8807/src/freenet/node/ds
Modified Files:
Tag: stable
FSDataStore.java FSDataStoreElement.java
KeyCollisionException.java
Removed Files:
Tag: stable
DSConsole.java
Log Message:
5030: Merge minor(ish) changes from unstable:
Open Connections infolet
Minor implementation changes on normal mode
Show total bytes transmitted/received so far
Much new information on the PeerHandler mode
Fixed tons of eclipse warnings (almost all are style issues, not functional changes -
relating to logger and imports mostly). Remove deprecated FieldSet.add(String,String).
Update TestLocalNIOInterface to current API
Make 5029 mandatory (it can't connect to us anyway, only vice versa).
If incoming HTL is 25, 50% chance of not decrementing it, so we have some plausible
deniability when we send out an HTL 25 request (the client level HTL perturb mechanism
is insufficient although useful).
Don't use seednodes with no physical address.
Use our own URLEncoder/URLDecoder's, catch the exceptions. We were using java's, which
are deprecated.
Add support for deprecated options. These will be read form config file and handled,
but will not be written to it by --config. Currently bandwidthLimit and
averageBandwidthLimit are in this category. Separate code logs an error when these are
set.
Change the way bandwidthLimit set but others not set, to prevent it from constantly
getting 100% load due to bandwidth limit (0!) exceeded.
Set priority of entropy thread to MIN.
Remove old datastore code, GOOD RIDDENS!
Add a memory usage test for the Failure Table
Increase size of failure table to 20,000 (from 2,000).
Don't show the key request form in simple mode on the default infolet.
Major refactoring of HTML reporting, writing to disk, in NGRouting estimators.
Relative times in (for example) ?date= in fproxy: ?date=-1year gives the edition of a
DBR one year ago.
NIO refactoring (ASL.ChannelAttachmentPairQueue).
Logging.
Index: FSDataStore.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/ds/FSDataStore.java,v
retrieving revision 1.11.4.5.2.5
retrieving revision 1.11.4.5.2.6
diff -u -w -r1.11.4.5.2.5 -r1.11.4.5.2.6
--- FSDataStore.java 10 Jul 2003 05:40:10 -0000 1.11.4.5.2.5
+++ FSDataStore.java 1 Nov 2003 16:55:34 -0000 1.11.4.5.2.6
@@ -2,13 +2,10 @@
import freenet.*;
import freenet.fs.dir.*;
-import freenet.fs.acct.Fragment;
import freenet.support.*;
import freenet.support.io.*;
import java.io.*;
import java.util.*;
-import java.text.DateFormat;
-
/**
* A DataStore implementation that uses a freenet.fs.LossyDirectory
@@ -26,58 +23,8 @@
pw.println("Free space: "+ds.dir.available());
pw.println();
- pw.println("Committed keys");
- pw.println("--------------");
- dumpCommittedKeys(ds, pw);
-
- pw.println("LRU keys (oldest last)");
- pw.println("----------------------");
- dumpLRUKeys(ds, pw);
- }
- }
-
- public static void dumpCommittedKeys(FSDataStore ds, PrintWriter pw) {
- synchronized (ds.dir.semaphore()) {
- Enumeration keys = ds.dir.keys(true);
- while (keys.hasMoreElements()) {
- FileNumber fn = (FileNumber) keys.nextElement();
- Buffer buffer = ds.dir.fetch(fn);
- try {
- pw.print(Fields.bytesToHex(fn.getByteArray()));
- pw.print(" @ " + Fragment.rangeList(buffer.ticket().ranges));
- pw.println();
- }
- finally {
- buffer.release();
- }
- }
- pw.println();
- }
- }
-
- public static void dumpLRUKeys(FSDataStore ds, PrintWriter pw) {
- synchronized (ds.dir.semaphore()) {
- DateFormat df = DateFormat.getDateTimeInstance();
- Enumeration keys = ds.dir.lruKeys(false);
- while (keys.hasMoreElements()) {
- FileNumber fn = (FileNumber) keys.nextElement();
- Buffer buffer = ds.dir.fetch(fn);
- try {
- pw.print(Fields.bytesToHex(fn.getByteArray()));
- pw.print(" @ " + df.format(new Date(buffer.ticket().timestamp)));
- pw.println();
}
- finally {
- buffer.release();
}
- }
- pw.println();
- }
- }
-
-
-
-
final LossyDirectory dir;
@@ -119,11 +66,11 @@
if (dataSize > maxDataSize) {
// create circular buffer
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "Max data size="+maxDataSize+
", but dataSize="+dataSize+
": creating circular buffer",
- Core.logger.DEBUG);
+ Logger.DEBUG);
buffer = new CircularBuffer(dir.forceStore(maxDataSize, fn),
dataSize);
dataSize = maxDataSize;
@@ -134,9 +81,9 @@
}
}
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "storing key: "+k+":"+dataSize,
- Core.logger.DEBUG);
+ Logger.DEBUG);
FSDataStoreElement dse = new FSDataStoreElement(this, k, buffer, dataSize);
KeyOutputStream kout = dse.getKeyOutputStream();
@@ -161,21 +108,21 @@
buffer = dir.fetch(fn);
long fetchedTime = System.currentTimeMillis();
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "Fetch took "+
(fetchedTime - startTime)+logString,
- Core.logger.DEBUG);
+ Logger.DEBUG);
if (buffer == null) {
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "key not found: "+k,
- Core.logger.DEBUG);
+ Logger.DEBUG);
return null;
}
buffer.touch(); // register access for LRU tracking
touchedTime = System.currentTimeMillis();
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "touch() took "+(touchedTime - fetchedTime)+
- logString+ "; key found: "+k, Core.logger.DEBUG);
+ logString+ "; key found: "+k, Logger.DEBUG);
KeyInputStream is = null;
try {
@@ -183,32 +130,32 @@
FSDataStoreElement dse = new FSDataStoreElement(this, k, buffer,
buffer.length());
long gotElementTime = System.currentTimeMillis();
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "new FSDataStoreElement took "+
(gotElementTime - touchedTime)+logString,
- Core.logger.DEBUG);
+ Logger.DEBUG);
is = dse.getKeyInputStream();
long gotInputStreamTime = System.currentTimeMillis();
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "getKeyInputStream took "+
(gotInputStreamTime - gotElementTime)+logString,
- Core.logger.DEBUG);
+ Logger.DEBUG);
return is;
}
catch (UTFDataFormatException e) {
// Corrupted file, remove it
Core.logger.log(this, "Corrupted fields in file in datastore, "
- + "deleting", e, Core.logger.NORMAL);
+ + "deleting", e, Logger.NORMAL);
buffer.release();
dir.delete(fn, false);
is = null;
return null;
} finally {
long finishedTime = System.currentTimeMillis();
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "Finishing "+((is == null) ? "(failed)" : "") +
"took "+(finishedTime - touchedTime)+
- " millis"+logString, Core.logger.DEBUG);
+ " millis"+logString, Logger.DEBUG);
}
}
@@ -276,10 +223,10 @@
Key[] ret = new Key[keyStack.size()];
keyStack.copyInto(ret);
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this,
"returning "+ret.length+" closest keys to: "+k,
- Core.logger.DEBUG);
+ Logger.DEBUG);
return ret;
}
@@ -299,11 +246,11 @@
if(histogram != null)
return histogram;
else {
- boolean shouldLog = Core.logger.shouldLog(Core.logger.DEBUG);
+ boolean shouldLog = Core.logger.shouldLog(Logger.DEBUG);
histogram = new KeyHistogram();
if(shouldLog)
- Core.logger.log(this,"getHistogram()",Core.logger.DEBUG);
+ Core.logger.log(this,"getHistogram()",Logger.DEBUG);
Enumeration keys;
synchronized (dir.semaphore()) {
keys = dir.keys(true);
@@ -312,11 +259,11 @@
FileNumber fn = (FileNumber) keys.nextElement();
if(shouldLog)
Core.logger.log(fn,"adding filenumber "+fn+" to histogram",
- Core.logger.DEBUG);
+ Logger.DEBUG);
Buffer buffer = dir.fetch(fn);
if(shouldLog)
Core.logger.log(buffer,"got buffer for filenumber",
- Core.logger.DEBUG);
+ Logger.DEBUG);
try {
histogram.add(fn.getByteArray());
}
@@ -326,7 +273,7 @@
}
if(shouldLog)
Core.logger.log(this,"getHistogram() returning",
- Core.logger.DEBUG);
+ Logger.DEBUG);
// FileNumber fn = NativeFSDirectory.randomKey;
// Core.logger.log(this, "Random key: "+fn, Logger.DEBUG);
Index: FSDataStoreElement.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/ds/FSDataStoreElement.java,v
retrieving revision 1.26.2.4.2.6
retrieving revision 1.26.2.4.2.7
diff -u -w -r1.26.2.4.2.6 -r1.26.2.4.2.7
--- FSDataStoreElement.java 28 Oct 2003 20:20:38 -0000 1.26.2.4.2.6
+++ FSDataStoreElement.java 1 Nov 2003 16:55:34 -0000 1.26.2.4.2.7
@@ -2,6 +2,7 @@
import freenet.*;
import freenet.fs.dir.*;
+import freenet.support.Logger;
import freenet.support.io.*;
import java.io.*;
@@ -30,8 +31,8 @@
this.key = key;
this.buffer = buffer;
this.physLen = physLen;
- if(Core.logger.shouldLog(Core.logger.DEBUG))
- Core.logger.log(this,"FSDataStoreElement initializing: " + key.toString() +
":"+physLen,Core.logger.DEBUG);
+ if(Core.logger.shouldLog(Logger.DEBUG))
+ Core.logger.log(this,"FSDataStoreElement initializing: " + key.toString() +
":"+physLen,Logger.DEBUG);
}
public final String toString() {
@@ -67,13 +68,13 @@
}
synchronized final void release() {
- boolean logDEBUG = Core.logger.shouldLog(Core.logger.DEBUG);
+ boolean logDEBUG = Core.logger.shouldLog(Logger.DEBUG);
if(logDEBUG) Core.logger.log(this, "release(): "+users+" still waiting for "+
- this, Core.logger.DEBUG);
+ this, Logger.DEBUG);
if (--users == 0) {
buffer.release();
if(logDEBUG) Core.logger.log(this, "Releasing underlying buffer for "+this,
- Core.logger.DEBUG);
+ Logger.DEBUG);
}
}
@@ -118,7 +119,7 @@
Core.logger.log(this, "Wrote: " + bytesWritten
+ " of " +
buffer.length() + " (or " +
- physLen + ") for "+this, Core.logger.MINOR);
+ physLen + ") for "+this, Logger.MINOR);
rollback = true;
}
out.close();
@@ -153,14 +154,14 @@
synchronized (FSDataStoreElement.this) {
try {
Core.logger.log(this, "committing key: "+key,
- Core.logger.DEBUG);
+ Logger.DEBUG);
synchronized (ds.dir.semaphore()) {
if (ds.dir.contains(new FileNumber(key.getVal()))) {
commit = true;
setFailureCode(Presentation.CB_CANCELLED);
Core.logger.log(this, "collision: "+key,
- Core.logger.DEBUG);
+ Logger.DEBUG);
throw new KeyCollisionException();
}
buffer.commit();
@@ -174,7 +175,7 @@
setFailureCode(Presentation.CB_CACHE_FAILED);
Core.logger.log(this,
"failed to store key: "+key,
- Core.logger.ERROR);
+ Logger.ERROR);
}
}
}
@@ -192,9 +193,9 @@
}
public final void fail(int code) {
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this, "Failing "+key, new Exception
- ("failing"), Core.logger.DEBUG);
+ ("failing"), Logger.DEBUG);
rollback();
setFailureCode(code);
}
@@ -208,7 +209,7 @@
if (!closed) {
Core.logger.log(this,
"FSDataStoreElement not closed in finalizer! - please
report to [EMAIL PROTECTED] if this happens frequently: "+
- this, Core.logger.ERROR);
+ this, Logger.ERROR);
if (!commit && !rollback) {
rollback = true;
}
@@ -233,7 +234,7 @@
private long read = 0;
public KeyInputStreamImpl() throws IOException {
- Core.logger.log(this,"KeyInputStreamImpl initializing",Core.logger.DEBUG);
+ Core.logger.log(this,"KeyInputStreamImpl initializing",Logger.DEBUG);
InputStream oin = buffer.getInputStream();
if(oin == null) throw new IllegalStateException
("null stream from buffer "+buffer);
@@ -246,14 +247,14 @@
} catch (IOException e) {
in.close();
closed = true;
- Core.logger.log(this, "IOException parsing fields", Core.logger.ERROR);
+ Core.logger.log(this, "IOException parsing fields", Logger.ERROR);
throw e;
}
- if(Core.logger.shouldLog(Core.logger.DEBUG))
+ if(Core.logger.shouldLog(Logger.DEBUG))
Core.logger.log(this,"Read " + cin.count() + " into fields in "+key+",
"+this,new Exception("debug"),
- Core.logger.DEBUG);
+ Logger.DEBUG);
length = buffer.length() - cin.count();
- Core.logger.log(this,"Remaining: " + length + " bytes in
"+key+".",Core.logger.DEBUG);
+ Core.logger.log(this,"Remaining: " + length + " bytes in
"+key+".",Logger.DEBUG);
if (length < 0) throw new IllegalStateException
("negative bytes remaining");
++users;
@@ -332,15 +333,15 @@
Core.logger.log(this,
"Please close() me manually in finalizer: "+
this, new IllegalStateException("unclosed"),
- Core.logger.ERROR);
+ Logger.ERROR);
// Debug
Core.logger.log(this, "Message = " + message,
- Core.logger.DEBUG);
+ Logger.DEBUG);
if (mh != null)
mh.printChainInfo(id, Core.logStream);
else
- Core.logger.log(this,"No info", Core.logger.DEBUG);
+ Core.logger.log(this,"No info", Logger.DEBUG);
// end debug
Index: KeyCollisionException.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/ds/KeyCollisionException.java,v
retrieving revision 1.1.1.1.6.1
retrieving revision 1.1.1.1.6.2
diff -u -w -r1.1.1.1.6.1 -r1.1.1.1.6.2
--- KeyCollisionException.java 28 Oct 2003 20:20:38 -0000 1.1.1.1.6.1
+++ KeyCollisionException.java 1 Nov 2003 16:55:34 -0000 1.1.1.1.6.2
@@ -1,7 +1,5 @@
package freenet.node.ds;
-import java.io.IOException;
-
public class KeyCollisionException extends StoreIOException {
public KeyCollisionException() {
super(null);
--- DSConsole.java DELETED ---
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs