From 0c04328d7c86a6b2d4badb96c79a22aba2fa7eca Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Fri, 16 May 2008 14:18:26 +0000
Subject: [PATCH] Fixes to  improve performance using default JVM ergonomics:

---
 opends/src/server/org/opends/server/backends/jeb/importLDIF/LongImportIDSet.java |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/importLDIF/LongImportIDSet.java b/opends/src/server/org/opends/server/backends/jeb/importLDIF/LongImportIDSet.java
index ac7affa..863f875 100644
--- a/opends/src/server/org/opends/server/backends/jeb/importLDIF/LongImportIDSet.java
+++ b/opends/src/server/org/opends/server/backends/jeb/importLDIF/LongImportIDSet.java
@@ -37,6 +37,8 @@
  */
 public class LongImportIDSet implements ImportIDSet {
 
+  //Indicate if a undefined import set has been written to the index DB.
+  private boolean dirty = true;
 
   //Overhead values gleamed from JHAT.
   private final static int LONGS_OVERHEAD;
@@ -108,6 +110,21 @@
     count = 0;
     isDefined = true;
     undefinedSize = 0;
+    dirty = true;
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public void setDirty(boolean dirty) {
+    this.dirty = dirty;
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public boolean isDirty() {
+    return dirty;
   }
 
   /**
@@ -183,15 +200,18 @@
 
     if(dbUndefined) {
       isDefined=false;
+      undefinedSize = Long.MAX_VALUE;
     } else if(!importIdSet.isDefined()) {
       isDefined=false;
       incrLimitCount=true;
+      undefinedSize = Long.MAX_VALUE;
     } else {
       array = JebFormat.entryIDListFromDatabase(DBbytes);
       if(array.length + importIdSet.size() > limit) {
           isDefined=false;
           incrLimitCount=true;
           importIdSet.setUndefined();
+          undefinedSize = Long.MAX_VALUE;
       } else {
         count = array.length;
         addAll((LongImportIDSet) importIdSet);

--
Gitblit v1.10.0