ソースを参照

Index: Move compound format setting to `index.compound_format` (old setting still supported), closes #463.

kimchy 15 年 前
コミット
1feb43a0af

+ 6 - 2
modules/elasticsearch/src/main/java/org/elasticsearch/index/engine/robin/RobinEngine.java

@@ -63,10 +63,12 @@ public class RobinEngine extends AbstractIndexShardComponent implements Engine,
 
     private volatile ByteSizeValue indexingBufferSize;
 
-    private final TimeValue refreshInterval;
+    private final boolean compoundFormat;
 
     private final int termIndexInterval;
 
+    private final TimeValue refreshInterval;
+
     private final ReadWriteLock rwl = new ReentrantReadWriteLock();
 
     private final AtomicBoolean refreshMutex = new AtomicBoolean();
@@ -108,8 +110,9 @@ public class RobinEngine extends AbstractIndexShardComponent implements Engine,
         Preconditions.checkNotNull(translog, "Translog must be provided to the engine");
 
         this.indexingBufferSize = componentSettings.getAsBytesSize("indexing_buffer_size", new ByteSizeValue(64, ByteSizeUnit.MB));
+        this.termIndexInterval = indexSettings.getAsInt("index.term_index_interval", IndexWriter.DEFAULT_TERM_INDEX_INTERVAL);
+        this.compoundFormat = indexSettings.getAsBoolean("index.compound_format", indexSettings.getAsBoolean("index.merge.policy.use_compound_file", store == null ? false : store.suggestUseCompoundFile()));
         this.refreshInterval = componentSettings.getAsTime("refresh_interval", timeValueSeconds(1));
-        this.termIndexInterval = componentSettings.getAsInt("term_index_interval", IndexWriter.DEFAULT_TERM_INDEX_INTERVAL);
 
         this.store = store;
         this.deletionPolicy = deletionPolicy;
@@ -605,6 +608,7 @@ public class RobinEngine extends AbstractIndexShardComponent implements Engine,
             indexWriter.setSimilarity(similarityService.defaultIndexSimilarity());
             indexWriter.setRAMBufferSizeMB(indexingBufferSize.mbFrac());
             indexWriter.setTermIndexInterval(termIndexInterval);
+            indexWriter.setUseCompoundFile(compoundFormat);
         } catch (IOException e) {
             safeClose(indexWriter);
             throw e;

+ 2 - 7
modules/elasticsearch/src/main/java/org/elasticsearch/index/merge/policy/BalancedSegmentMergePolicyProvider.java

@@ -40,7 +40,6 @@ public class BalancedSegmentMergePolicyProvider extends AbstractIndexShardCompon
     private final int maxMergeDocs;
     private final int numLargeSegments;
     private final int maxSmallSegments;
-    private final Boolean useCompoundFile;
 
     @Inject public BalancedSegmentMergePolicyProvider(Store store) {
         super(store.shardId(), store.indexSettings());
@@ -53,10 +52,8 @@ public class BalancedSegmentMergePolicyProvider extends AbstractIndexShardCompon
         this.numLargeSegments = componentSettings.getAsInt("num_large_segments", BalancedSegmentMergePolicy.DEFAULT_NUM_LARGE_SEGMENTS);
         this.maxSmallSegments = componentSettings.getAsInt("max_small_segments", 2 * LogMergePolicy.DEFAULT_MERGE_FACTOR);
 
-        this.useCompoundFile = componentSettings.getAsBoolean("use_compound_file", store == null || store.suggestUseCompoundFile());
-
-        logger.debug("Using [balanced] merge policy with merge_factor[{}], min_merge_size[{}], max_merge_size[{}], max_merge_docs[{}] use_compound_file[{}]",
-                mergeFactor, minMergeSize, maxMergeSize, maxMergeDocs, useCompoundFile);
+        logger.debug("Using [balanced] merge policy with merge_factor[{}], min_merge_size[{}], max_merge_size[{}], max_merge_docs[{}]",
+                mergeFactor, minMergeSize, maxMergeSize, maxMergeDocs);
     }
 
     @Override public BalancedSegmentMergePolicy newMergePolicy(IndexWriter indexWriter) {
@@ -65,8 +62,6 @@ public class BalancedSegmentMergePolicyProvider extends AbstractIndexShardCompon
         mergePolicy.setMaxMergeMB(maxMergeSize.mbFrac());
         mergePolicy.setMergeFactor(mergeFactor);
         mergePolicy.setMaxMergeDocs(maxMergeDocs);
-        mergePolicy.setUseCompoundFile(useCompoundFile);
-        mergePolicy.setUseCompoundDocStore(useCompoundFile);
 
         mergePolicy.setMaxSmallSegments(maxSmallSegments);
         mergePolicy.setNumLargeSegments(numLargeSegments);

+ 2 - 6
modules/elasticsearch/src/main/java/org/elasticsearch/index/merge/policy/LogByteSizeMergePolicyProvider.java

@@ -38,7 +38,6 @@ public class LogByteSizeMergePolicyProvider extends AbstractIndexShardComponent
     private final int mergeFactor;
     private final int maxMergeDocs;
     private final boolean calibrateSizeByDeletes;
-    private final Boolean useCompoundFile;
 
     @Inject public LogByteSizeMergePolicyProvider(Store store) {
         super(store.shardId(), store.indexSettings());
@@ -49,9 +48,8 @@ public class LogByteSizeMergePolicyProvider extends AbstractIndexShardComponent
         this.mergeFactor = componentSettings.getAsInt("merge_factor", LogByteSizeMergePolicy.DEFAULT_MERGE_FACTOR);
         this.maxMergeDocs = componentSettings.getAsInt("max_merge_docs", LogByteSizeMergePolicy.DEFAULT_MAX_MERGE_DOCS);
         this.calibrateSizeByDeletes = componentSettings.getAsBoolean("calibrate_size_by_deletes", true);
-        this.useCompoundFile = componentSettings.getAsBoolean("use_compound_file", store == null || store.suggestUseCompoundFile());
-        logger.debug("using [log_bytes_size] merge policy with merge_factor[{}], min_merge_size[{}], max_merge_size[{}], max_merge_docs[{}] use_compound_file[{}], calibrate_size_by_deletes[{}]",
-                mergeFactor, minMergeSize, maxMergeSize, maxMergeDocs, useCompoundFile, calibrateSizeByDeletes);
+        logger.debug("using [log_bytes_size] merge policy with merge_factor[{}], min_merge_size[{}], max_merge_size[{}], max_merge_docs[{}] calibrate_size_by_deletes[{}]",
+                mergeFactor, minMergeSize, maxMergeSize, maxMergeDocs, calibrateSizeByDeletes);
     }
 
     @Override public LogByteSizeMergePolicy newMergePolicy(IndexWriter indexWriter) {
@@ -60,8 +58,6 @@ public class LogByteSizeMergePolicyProvider extends AbstractIndexShardComponent
         mergePolicy.setMaxMergeMB(maxMergeSize.mbFrac());
         mergePolicy.setMergeFactor(mergeFactor);
         mergePolicy.setMaxMergeDocs(maxMergeDocs);
-        mergePolicy.setUseCompoundFile(useCompoundFile);
-        mergePolicy.setUseCompoundDocStore(useCompoundFile);
         mergePolicy.setCalibrateSizeByDeletes(calibrateSizeByDeletes);
         return mergePolicy;
     }

+ 2 - 6
modules/elasticsearch/src/main/java/org/elasticsearch/index/merge/policy/LogDocMergePolicyProvider.java

@@ -35,7 +35,6 @@ public class LogDocMergePolicyProvider extends AbstractIndexShardComponent imple
     private final int maxMergeDocs;
     private final int mergeFactor;
     private final boolean calibrateSizeByDeletes;
-    private final Boolean useCompoundFile;
 
     @Inject public LogDocMergePolicyProvider(Store store) {
         super(store.shardId(), store.indexSettings());
@@ -45,9 +44,8 @@ public class LogDocMergePolicyProvider extends AbstractIndexShardComponent imple
         this.maxMergeDocs = componentSettings.getAsInt("max_merge_docs", LogDocMergePolicy.DEFAULT_MAX_MERGE_DOCS);
         this.mergeFactor = componentSettings.getAsInt("merge_factor", LogDocMergePolicy.DEFAULT_MERGE_FACTOR);
         this.calibrateSizeByDeletes = componentSettings.getAsBoolean("calibrate_size_by_deletes", true);
-        this.useCompoundFile = componentSettings.getAsBoolean("use_compound_file", store == null || store.suggestUseCompoundFile());
-        logger.debug("using [log_doc] merge policy with merge_factor[{}] min_merge_docs[{}], max_merge_docs[{}], use_compound_file[{}], calibrate_size_by_deletes[{}]",
-                mergeFactor, minMergeDocs, maxMergeDocs, useCompoundFile, calibrateSizeByDeletes);
+        logger.debug("using [log_doc] merge policy with merge_factor[{}] min_merge_docs[{}], max_merge_docs[{}], calibrate_size_by_deletes[{}]",
+                mergeFactor, minMergeDocs, maxMergeDocs, calibrateSizeByDeletes);
     }
 
     @Override public LogDocMergePolicy newMergePolicy(IndexWriter indexWriter) {
@@ -55,8 +53,6 @@ public class LogDocMergePolicyProvider extends AbstractIndexShardComponent imple
         mergePolicy.setMinMergeDocs(minMergeDocs);
         mergePolicy.setMaxMergeDocs(maxMergeDocs);
         mergePolicy.setMergeFactor(mergeFactor);
-        mergePolicy.setUseCompoundFile(useCompoundFile);
-        mergePolicy.setUseCompoundDocStore(useCompoundFile);
         mergePolicy.setCalibrateSizeByDeletes(calibrateSizeByDeletes);
         return mergePolicy;
     }

+ 1 - 1
modules/elasticsearch/src/main/java/org/elasticsearch/index/store/fs/MmapFsStore.java

@@ -56,7 +56,7 @@ public class MmapFsStore extends FsStore {
         boolean suggestUseCompoundFile;
         Tuple<SwitchDirectory, Boolean> switchDirectory = buildSwitchDirectoryIfNeeded(fsDirectory, byteBufferCache);
         if (switchDirectory != null) {
-            suggestUseCompoundFile = true;
+            suggestUseCompoundFile = DEFAULT_SUGGEST_USE_COMPOUND_FILE;
             if (switchDirectory.v2() != null) {
                 suggestUseCompoundFile = switchDirectory.v2();
             }

+ 1 - 1
modules/elasticsearch/src/main/java/org/elasticsearch/index/store/fs/NioFsStore.java

@@ -56,7 +56,7 @@ public class NioFsStore extends FsStore {
         boolean suggestUseCompoundFile;
         Tuple<SwitchDirectory, Boolean> switchDirectory = buildSwitchDirectoryIfNeeded(fsDirectory, byteBufferCache);
         if (switchDirectory != null) {
-            suggestUseCompoundFile = true;
+            suggestUseCompoundFile = DEFAULT_SUGGEST_USE_COMPOUND_FILE;
             if (switchDirectory.v2() != null) {
                 suggestUseCompoundFile = switchDirectory.v2();
             }

+ 1 - 1
modules/elasticsearch/src/main/java/org/elasticsearch/index/store/fs/SimpleFsStore.java

@@ -56,7 +56,7 @@ public class SimpleFsStore extends FsStore {
         boolean suggestUseCompoundFile;
         Tuple<SwitchDirectory, Boolean> switchDirectory = buildSwitchDirectoryIfNeeded(fsDirectory, byteBufferCache);
         if (switchDirectory != null) {
-            suggestUseCompoundFile = true;
+            suggestUseCompoundFile = DEFAULT_SUGGEST_USE_COMPOUND_FILE;
             if (switchDirectory.v2() != null) {
                 suggestUseCompoundFile = switchDirectory.v2();
             }