From a42d8edc14f3ff2eb4dd85f1483490d8137fdef2 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:

---
 opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/IntegerImportIDSet.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/IntegerImportIDSet.java b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/IntegerImportIDSet.java
index f553d07..8b5eb0a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/IntegerImportIDSet.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/backends/jeb/importLDIF/IntegerImportIDSet.java
@@ -35,6 +35,10 @@
  */
 public class IntegerImportIDSet implements ImportIDSet {
 
+
+  //Indicate if a undefined import set has been written to the index DB.
+  private boolean dirty = true;
+
   //Gleamed from JHAT. The same for 32/64 bit.
   private final static int THIS_OVERHEAD = 25;
 
@@ -93,11 +97,25 @@
     count = 0;
     isDefined = true;
     undefinedSize = 0;
+    dirty = true;
   }
 
   /**
    * {@inheritDoc}
    */
+  public void setDirty(boolean dirty) {
+    this.dirty = dirty;
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public boolean isDirty() {
+    return dirty;
+  }
+  /**
+   * {@inheritDoc}
+   */
   public boolean isDefined() {
     return isDefined;
   }
@@ -239,9 +257,11 @@
       if(dbUndefined) {
         isDefined=false;
         importIdSet.setUndefined();
+        undefinedSize = Long.MAX_VALUE;
       } else if(!importIdSet.isDefined()) {
         isDefined=false;
         incrLimitCount=true;
+        undefinedSize = Long.MAX_VALUE;
       } else {
         array = JebFormat.intArrayFromDatabaseBytes(dBbytes);
         if(array.length + importIdSet.size() > limit) {
@@ -249,6 +269,7 @@
           incrLimitCount=true;
           count = 0;
           importIdSet.setUndefined();
+          undefinedSize = Long.MAX_VALUE;
         } else {
           count = array.length;
           addAll((IntegerImportIDSet) importIdSet);

--
Gitblit v1.10.0