MINDEXER-95: Suboptimal indexing execution in updater

Project: http://git-wip-us.apache.org/repos/asf/maven-indexer/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-indexer/commit/c1938882
Tree: http://git-wip-us.apache.org/repos/asf/maven-indexer/tree/c1938882
Diff: http://git-wip-us.apache.org/repos/asf/maven-indexer/diff/c1938882

Branch: refs/heads/maven-indexer-5.x
Commit: c193888287ca04a7e6038dddf596b13124769180
Parents: 0f17245
Author: Tamas Cservenak <[email protected]>
Authored: Sat Oct 31 01:15:45 2015 +0100
Committer: Tamas Cservenak <[email protected]>
Committed: Sat Oct 31 01:15:45 2015 +0100

----------------------------------------------------------------------
 .../maven/index/context/NexusIndexWriter.java   | 25 +++++++++++++-------
 .../maven/index/updater/IndexDataReader.java    |  8 +++----
 2 files changed, 19 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-indexer/blob/c1938882/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java
----------------------------------------------------------------------
diff --git 
a/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java
 
b/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java
index bceb3c1..790c150 100644
--- 
a/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java
+++ 
b/indexer-core/src/main/java/org/apache/maven/index/context/NexusIndexWriter.java
@@ -25,6 +25,7 @@ import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.CorruptIndexException;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
+import org.apache.lucene.index.IndexWriterConfig.OpenMode;
 import org.apache.lucene.index.SerialMergeScheduler;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.LockObtainFailedException;
@@ -38,13 +39,23 @@ import org.apache.lucene.util.Version;
 public class NexusIndexWriter
     extends IndexWriter
 {
-    @Deprecated
+    public interface IndexWriterConfigFactory {
+        IndexWriterConfig create(Analyzer analyzer);
+    }
+
+    public static IndexWriterConfigFactory CONFIG_FACTORY = new 
IndexWriterConfigFactory() {
+        public IndexWriterConfig create(final Analyzer analyzer) {
+            IndexWriterConfig config = new IndexWriterConfig( 
Version.LUCENE_36, analyzer );
+            config.setRAMBufferSizeMB( 2.0 ); // old default
+            config.setMergeScheduler( new SerialMergeScheduler() ); // merging 
serially
+            return config;
+        }
+    };
+
     public NexusIndexWriter( final Directory directory, final Analyzer 
analyzer, boolean create )
         throws CorruptIndexException, LockObtainFailedException, IOException
     {
-        super( directory, analyzer, create, MaxFieldLength.LIMITED );
-
-        // setSimilarity( new NexusSimilarity() );
+        super(directory, CONFIG_FACTORY.create(analyzer).setOpenMode(create ? 
OpenMode.CREATE : OpenMode.APPEND));
     }
 
     public NexusIndexWriter( final Directory directory, final 
IndexWriterConfig config )
@@ -57,10 +68,6 @@ public class NexusIndexWriter
 
     public static IndexWriterConfig defaultConfig()
     {
-        final IndexWriterConfig config = new IndexWriterConfig( 
Version.LUCENE_36, new NexusAnalyzer() );
-        // default open mode is CreateOrAppend which suits us
-        config.setRAMBufferSizeMB( 2.0 ); // old default
-        config.setMergeScheduler( new SerialMergeScheduler() ); // merging 
serially
-        return config;
+        return CONFIG_FACTORY.create(new NexusAnalyzer());
     }
 }

http://git-wip-us.apache.org/repos/asf/maven-indexer/blob/c1938882/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java
----------------------------------------------------------------------
diff --git 
a/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java
 
b/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java
index 87f2153..70eaa84 100644
--- 
a/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java
+++ 
b/indexer-core/src/main/java/org/apache/maven/index/updater/IndexDataReader.java
@@ -46,11 +46,10 @@ public class IndexDataReader
 {
     private final DataInputStream dis;
 
-    public IndexDataReader( InputStream is )
+    public IndexDataReader( final InputStream is )
         throws IOException
     {
-        BufferedInputStream bis = new BufferedInputStream( is, 1024 * 8 );
-
+        BufferedInputStream bis = new BufferedInputStream(is, 1024 * 8);
         // MINDEXER-13
         // LightweightHttpWagon may have performed automatic decompression
         // Handle it transparently
@@ -59,7 +58,7 @@ public class IndexDataReader
         if ( bis.read() == 0x1f && bis.read() == 0x8b ) // 
GZIPInputStream.GZIP_MAGIC
         {
             bis.reset();
-            data = new GZIPInputStream( bis, 2 * 1024 );
+            data = new GZIPInputStream( bis, 1024 * 8 );
         }
         else
         {
@@ -95,7 +94,6 @@ public class IndexDataReader
         }
 
         w.commit();
-        w.optimize();
 
         IndexDataReadResult result = new IndexDataReadResult();
         result.setDocumentCount( n );

Reply via email to