From 05875933ae6929bc8e53f366ce116f2fc431fd46 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Fri, 27 Jul 2007 21:06:35 +0000
Subject: [PATCH] These set of changes implement VLV and filter capability to OpenDS:

---
 opends/src/server/org/opends/server/backends/jeb/ImportJob.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/ImportJob.java b/opends/src/server/org/opends/server/backends/jeb/ImportJob.java
index b06c2c2..67cc08e 100644
--- a/opends/src/server/org/opends/server/backends/jeb/ImportJob.java
+++ b/opends/src/server/org/opends/server/backends/jeb/ImportJob.java
@@ -359,6 +359,9 @@
 
       ArrayList<IndexMergeThread> mergers = new ArrayList<IndexMergeThread>();
 
+      ArrayList<VLVIndexMergeThread> vlvIndexMergeThreads =
+        new ArrayList<VLVIndexMergeThread>();
+
       // Create merge threads for each base DN.
       for (ImportContext importContext : importMap.values())
       {
@@ -420,6 +423,14 @@
           }
         }
 
+        for(VLVIndex vlvIndex : entryContainer.getVLVIndexes())
+        {
+          VLVIndexMergeThread vlvIndexMergeThread =
+              new VLVIndexMergeThread(config, ldifImportConfig, vlvIndex);
+          vlvIndexMergeThread.setUncaughtExceptionHandler(this);
+          vlvIndexMergeThreads.add(vlvIndexMergeThread);
+        }
+
         // Id2Children index.
         Index id2Children = entryContainer.getID2Children();
         IndexMergeThread indexMergeThread =
@@ -444,6 +455,10 @@
       {
         imt.start();
       }
+      for (VLVIndexMergeThread imt : vlvIndexMergeThreads)
+      {
+        imt.start();
+      }
 
       // Wait for the threads to finish.
       for (IndexMergeThread imt : mergers)
@@ -460,6 +475,21 @@
           }
         }
       }
+      // Wait for the threads to finish.
+      for (VLVIndexMergeThread imt : vlvIndexMergeThreads)
+      {
+        try
+        {
+          imt.join();
+        }
+        catch (InterruptedException e)
+        {
+          if (debugEnabled())
+          {
+            TRACER.debugCaught(DebugLogLevel.ERROR, e);
+          }
+        }
+      }
 
       long mergeEndTime = System.currentTimeMillis();
 
@@ -977,7 +1007,7 @@
     threads.remove(t);
     int msgID = MSGID_JEB_IMPORT_THREAD_EXCEPTION;
     String msg = getMessage(msgID, t.getName(),
-                            StaticUtils.stackTraceToSingleLineString(e));
+                        StaticUtils.stackTraceToSingleLineString(e.getCause()));
     logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_ERROR, msg,
              msgID);
   }

--
Gitblit v1.10.0