[freenet-dev] [freenet-cvs] r19675 - in trunk/freenet/src/freenet: crypt node store support

Daniel Cheng j16sdiz+freenet at gmail.com
Sun May 4 14:51:06 UTC 2008


On Sun, May 4, 2008 at 3:04 AM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
>
>
>  >               int sleeptime = aggressiveGCModificator;
>  >               if(sleeptime <= 0) { // We are done
>  >                       ps.queueTimedJob(this, 120 * 250); // 30 sec
>  >
>  > Modified: trunk/freenet/src/freenet/node/Node.java
>  > ===================================================================
>  > --- trunk/freenet/src/freenet/node/Node.java  2008-05-02 10:09:13 UTC (rev
>  19674)
>  > +++ trunk/freenet/src/freenet/node/Node.java  2008-05-02 10:10:12 UTC (rev
>  19675)
>  > @@ -124,7 +124,7 @@
>  >  /**
>  >   * @author amphibian
>  >   */
>  > -public class Node implements TimeSkewDetectorCallback, GetPubkey, OOMHook {
>  > +public class Node implements TimeSkewDetectorCallback, GetPubkey {
>  >
>  >       private static boolean logMINOR;
>  >
>  > @@ -1604,8 +1604,6 @@
>  >                       e.printStackTrace();
>  >                       throw new
>  NodeInitException(NodeInitException.EXIT_COULD_NOT_START_UPDATER, "Could not
>  create Updater: "+e);
>  >               }
>  > -
>  > -             OOMHandler.addOOMHook(this);
>  >
>  >               Logger.normal(this, "Node constructor completed");
>  >               System.out.println("Node constructor completed");
>  > @@ -3306,23 +3304,4 @@
>  >       public void setDispatcherHook(NodeDispatcherCallback cb) {
>  >               this.dispatcher.setHook(cb);
>  >       }
>  > -
>  > -     /**
>  > -      * Free some memory
>  > -      */
>  > -     public void handleOOM() throws Exception {
>  > -             if (cachedPubKeys != null) {
>  > -                     Object value;
>  > -                     do {
>  > -                             value = cachedPubKeys.popKey();
>  > -                     } while (value != null);
>  > -             }
>  > -             if (recentlyCompletedIDs != null) {
>  > -                     synchronized (recentlyCompletedIDs) {
>  > -                             // half it size
>  > -                             while (recentlyCompletedIDs.size() > MAX_RECENTLY_COMPLETED_IDS / 2)
>  > -                                     recentlyCompletedIDs.pop();
>  > -                     }
>  > -             }
>  > -    }
>  >  }
>
>  Why did you delete the pubkey cache clearing OOM hook?
>
>

I deleted that because I introduced that but I am not sure if this
clearing is safe.
IMO, the current OOMHook free too few memory. I wanted to introduce
some more hooks, but have no idea where it is safe to be done. If you
have any suggestions, please tell.



More information about the Devl mailing list