You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by do...@apache.org on 2009/01/12 14:37:26 UTC

svn commit: r733747 - in /lucene/nutch/trunk: CHANGES.txt src/java/org/apache/nutch/crawl/AdaptiveFetchSchedule.java

Author: dogacan
Date: Mon Jan 12 05:37:23 2009
New Revision: 733747

URL: http://svn.apache.org/viewvc?rev=733747&view=rev
Log:
NUTCH-652 - AdaptiveFetchSchedule#setFetchSchedule doesn't calculate fetch interval correctly

Modified:
    lucene/nutch/trunk/CHANGES.txt
    lucene/nutch/trunk/src/java/org/apache/nutch/crawl/AdaptiveFetchSchedule.java

Modified: lucene/nutch/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/nutch/trunk/CHANGES.txt?rev=733747&r1=733746&r2=733747&view=diff
==============================================================================
--- lucene/nutch/trunk/CHANGES.txt (original)
+++ lucene/nutch/trunk/CHANGES.txt Mon Jan 12 05:37:23 2009
@@ -305,6 +305,9 @@
                   XML and JSON. (kubes)
 
 114. NUTCH-442 - Integrate Solr/Nutch. (dogacan, original version by siren) 
+
+115. NUTCH-652 - AdaptiveFetchSchedule#setFetchSchedule doesn't calculate
+                 fetch interval correctly. (dogacan)
      
 Release 0.9 - 2007-04-02
 

Modified: lucene/nutch/trunk/src/java/org/apache/nutch/crawl/AdaptiveFetchSchedule.java
URL: http://svn.apache.org/viewvc/lucene/nutch/trunk/src/java/org/apache/nutch/crawl/AdaptiveFetchSchedule.java?rev=733747&r1=733746&r2=733747&view=diff
==============================================================================
--- lucene/nutch/trunk/src/java/org/apache/nutch/crawl/AdaptiveFetchSchedule.java (original)
+++ lucene/nutch/trunk/src/java/org/apache/nutch/crawl/AdaptiveFetchSchedule.java Mon Jan 12 05:37:23 2009
@@ -63,7 +63,7 @@
   
   private boolean SYNC_DELTA;
 
-  private float SYNC_DELTA_RATE;
+  private double SYNC_DELTA_RATE;
   
   public void setConf(Configuration conf) {
     super.setConf(conf);
@@ -95,16 +95,19 @@
       case FetchSchedule.STATUS_UNKNOWN:
         break;
     }
-    datum.setFetchInterval(interval);
     if (SYNC_DELTA) {
       // try to synchronize with the time of change
-      long delta = fetchTime - modifiedTime;
+      long delta = (fetchTime - modifiedTime) / 1000L;
       if (delta > interval) interval = delta;
-      refTime = fetchTime - Math.round(delta * SYNC_DELTA_RATE);
+      refTime = fetchTime - Math.round(delta * SYNC_DELTA_RATE * 1000);
+    }
+    if (interval < MIN_INTERVAL) {
+      interval = MIN_INTERVAL;
+    } else if (interval > MAX_INTERVAL) {
+      interval = MAX_INTERVAL;
     }
-    if (interval < MIN_INTERVAL) interval = MIN_INTERVAL;
-    if (interval > MAX_INTERVAL) interval = MAX_INTERVAL;
-    datum.setFetchTime(refTime + (long)datum.getFetchInterval() * 1000 );
+    datum.setFetchInterval(interval);
+    datum.setFetchTime(refTime + Math.round(interval * 1000.0));
     datum.setModifiedTime(modifiedTime);
     return datum;
   }