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;


Reply via email to