Author: toad
Date: 2008-01-26 20:24:22 +0000 (Sat, 26 Jan 2008)
New Revision: 17311
Modified:
trunk/freenet/src/freenet/node/CHKInsertSender.java
trunk/freenet/src/freenet/node/InsertHandler.java
trunk/freenet/src/freenet/node/Version.java
Log:
1105:
Update Over Mandatory:
- Refactoring, logic fixes. Hopefully fix a bug causing nodes to have many many
many threads simultaneously sending the data to the same peer.
- Only announce to real connections, *not* seed clients which we won't send the
data to if they ask for it.
Web interface:
- Fix the default bookmarks - there was no description for Index des sites
Fran?\195?\167ais, and this was causing NPEs! Also fix the NPE.
XMLSpider plugin:
- Increase the size of the sub-indexes. More efficient inserts, hopefully more
reliable. Most of wAnnA? index is unreachable atm.
(temporarily revert my CHK insert changes, will re-add after releasing 1105)
Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-26 20:02:46 UTC
(rev 17310)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-26 20:24:22 UTC
(rev 17311)
@@ -15,7 +15,6 @@
import freenet.io.comm.NotConnectedException;
import freenet.io.comm.PeerContext;
import freenet.io.xfer.AbortedException;
-import freenet.io.xfer.BlockReceiver;
import freenet.io.xfer.BlockTransmitter;
import freenet.io.xfer.PartiallyReceivedBlock;
import freenet.keys.CHKBlock;
@@ -173,14 +172,6 @@
this.closestLocation = closestLocation;
this.startTime = System.currentTimeMillis();
this.backgroundTransfers = new Vector();
- try {
- if(prb.allReceived())
- receiveCompleted = true;
- } catch (AbortedException e) {
- receiveFailed = true;
- receiveCompleted = true;
- // Handle the rest of the consequences in realRun().
- }
logMINOR = Logger.shouldLog(Logger.MINOR, this);
}
@@ -206,7 +197,6 @@
final PartiallyReceivedBlock prb;
final boolean fromStore;
private boolean receiveFailed;
- private boolean receiveCompleted;
final double closestLocation;
final long startTime;
private boolean sentRequest;
@@ -616,34 +606,6 @@
private void finish(int code, PeerNode next) {
if(logMINOR) Logger.minor(this, "Finished: "+code+" on "+this, new
Exception("debug"));
- // Don't set the status code until we have received the data.
-
- // FIXME remove timeout and just wait on
TRANSFER_COMPLETION_ACK_TIMEOUT below
- long receiveTimeout = System.currentTimeMillis() +
(BlockReceiver.MAX_CONSECUTIVE_MISSING_PACKET_REPORTS *
BlockReceiver.RECEIPT_TIMEOUT * 3);
- if(receiveCompleted) {
- synchronized(backgroundTransfers) {
- while(true) {
- if(receiveCompleted) break;
- try {
- //FIXME delete below and reinstate:
backgroundTransfers.wait(TRANSFER_COMPLETION_ACK_TIMEOUT);
- int delay = (int) (receiveTimeout -
System.currentTimeMillis());
- if(delay > 0)
backgroundTransfers.wait(delay);
- else if(!receiveCompleted) {
- Logger.error(this, "Timeout
waiting for transfer completion on "+this);
- code = RECEIVE_FAILED;
- receiveFailed = true;
- receiveCompleted = true;
- break;
- }
- } catch (InterruptedException e) {
- // Ignore
- }
- }
- }
- if(receiveFailed)
- code = RECEIVE_FAILED;
- }
-
synchronized(this) {
if((code == ROUTE_NOT_FOUND) && !sentRequest)
code = ROUTE_REALLY_NOT_FOUND;
@@ -697,7 +659,6 @@
public void receiveFailed() {
synchronized(backgroundTransfers) {
receiveFailed = true;
- receiveCompleted = true;
backgroundTransfers.notifyAll();
}
// Set status immediately.
@@ -713,16 +674,6 @@
}
/**
- * Called by InsertHandler to notify that the receive has finished
successfully.
- */
- public void receiveCompleted() {
- synchronized(backgroundTransfers) {
- receiveCompleted = true;
- backgroundTransfers.notifyAll();
- }
- }
-
- /**
* @return The current status as a string
*/
public synchronized String getStatusString() {
Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java 2008-01-26 20:02:46 UTC
(rev 17310)
+++ trunk/freenet/src/freenet/node/InsertHandler.java 2008-01-26 20:24:22 UTC
(rev 17311)
@@ -420,8 +420,6 @@
if(logMINOR) Logger.minor(this, "Receiving data for
"+InsertHandler.this);
try {
br.receive();
- if(sender != null)
- sender.receiveCompleted();
if(logMINOR) Logger.minor(this, "Received data for
"+InsertHandler.this);
synchronized(InsertHandler.this) {
receiveCompleted = true;
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-01-26 20:02:46 UTC (rev
17310)
+++ trunk/freenet/src/freenet/node/Version.java 2008-01-26 20:24:22 UTC (rev
17311)
@@ -24,7 +24,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 1104;
+ private static final int buildNumber = 1105;
/** Oldest build of Fred we will talk to */
private static final int oldLastGoodBuild = 1101;