You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2017/01/03 19:40:05 UTC
lucene-solr:branch_6x: SOLR-9899: StandardDirectoryFactory should use
optimizations for all FilterDirectorys not just NRTCachingDirectory.
Repository: lucene-solr
Updated Branches:
refs/heads/branch_6x c6ea17186 -> 6caefcda8
SOLR-9899: StandardDirectoryFactory should use optimizations for all FilterDirectorys not just NRTCachingDirectory.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/6caefcda
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/6caefcda
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/6caefcda
Branch: refs/heads/branch_6x
Commit: 6caefcda8b9aefb1f107e629e1c00de7d9104ec4
Parents: c6ea171
Author: markrmiller <ma...@apache.org>
Authored: Tue Jan 3 14:39:57 2017 -0500
Committer: markrmiller <ma...@apache.org>
Committed: Tue Jan 3 14:39:57 2017 -0500
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +++
.../org/apache/solr/core/DirectoryFactory.java | 11 +++++++++++
.../apache/solr/core/StandardDirectoryFactory.java | 17 -----------------
3 files changed, 14 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6caefcda/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 0b3a38a..0429e17 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -305,6 +305,9 @@ Other Changes
* SOLR-9915: PeerSync alreadyInSync check is not backwards compatible and results in full replication during a rolling restart
(Tim Owen via noble)
+* SOLR-9899: StandardDirectoryFactory should use optimizations for all FilterDirectorys not just NRTCachingDirectory.
+ (Mark Miller)
+
================== 6.3.0 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6caefcda/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
index 396a30d..136a0a6 100644
--- a/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/DirectoryFactory.java
@@ -27,6 +27,7 @@ import java.util.Collections;
import org.apache.commons.io.FileUtils;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.FilterDirectory;
import org.apache.lucene.store.FlushInfo;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.LockFactory;
@@ -371,4 +372,14 @@ public abstract class DirectoryFactory implements NamedListInitializedPlugin,
public void initCoreContainer(CoreContainer cc) {
this.coreContainer = cc;
}
+
+ // special hack to work with FilterDirectory
+ protected Directory getBaseDir(Directory dir) {
+ Directory baseDir = dir;
+ while (baseDir instanceof FilterDirectory) {
+ baseDir = ((FilterDirectory)baseDir).getDelegate();
+ }
+
+ return baseDir;
+ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/6caefcda/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java b/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
index e3a7dd0..b24be14 100644
--- a/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
+++ b/solr/core/src/java/org/apache/solr/core/StandardDirectoryFactory.java
@@ -30,7 +30,6 @@ import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.IOContext;
import org.apache.lucene.store.LockFactory;
-import org.apache.lucene.store.NRTCachingDirectory;
import org.apache.lucene.store.NativeFSLockFactory;
import org.apache.lucene.store.NoLockFactory;
import org.apache.lucene.store.SimpleFSLockFactory;
@@ -116,8 +115,6 @@ public class StandardDirectoryFactory extends CachingDirectoryFactory {
* carefully - some Directory wrappers will
* cache files for example.
*
- * This implementation works with NRTCachingDirectory.
- *
* You should first {@link Directory#sync(java.util.Collection)} any file that will be
* moved or avoid cached files through settings.
*
@@ -144,20 +141,6 @@ public class StandardDirectoryFactory extends CachingDirectoryFactory {
super.move(fromDir, toDir, fileName, ioContext);
}
-
- // special hack to work with NRTCachingDirectory and MetricsDirectory
- private Directory getBaseDir(Directory dir) {
- Directory baseDir;
- if (dir instanceof NRTCachingDirectory) {
- baseDir = ((NRTCachingDirectory) dir).getDelegate();
- } else if (dir instanceof MetricsDirectoryFactory.MetricsDirectory) {
- baseDir = ((MetricsDirectoryFactory.MetricsDirectory)dir).getDelegate();
- } else {
- baseDir = dir;
- }
-
- return baseDir;
- }
// perform an atomic rename if possible
public void renameWithOverwrite(Directory dir, String fileName, String toName) throws IOException {