You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2016/12/30 15:57:09 UTC
[33/50] [abbrv] lucene-solr:jira/solr-9854: SOLR-9899:
StandardDirectoryFactory should use optimizations for all FilterDirectorys
not just NRTCachingDirectory.
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/262049fc
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/262049fc
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/262049fc
Branch: refs/heads/jira/solr-9854
Commit: 262049fc8f60a166f0eed0aef5d7ddd1e7c90bc7
Parents: 96ed221
Author: markrmiller <ma...@apache.org>
Authored: Wed Dec 28 17:42:41 2016 -0500
Committer: markrmiller <ma...@apache.org>
Committed: Wed Dec 28 18:52:20 2016 -0500
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +++
.../java/org/apache/solr/core/DirectoryFactory.java | 11 +++++++++++
.../apache/solr/core/StandardDirectoryFactory.java | 15 ---------------
3 files changed, 14 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/262049fc/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index c3cac28..501527a 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -343,6 +343,9 @@ Other Changes
* SOLR-9448: providing a test to workaround a differently named uniqueKey field (Mikhail Khludnev)
+* 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/262049fc/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/262049fc/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 d418137..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,18 +141,6 @@ public class StandardDirectoryFactory extends CachingDirectoryFactory {
super.move(fromDir, toDir, fileName, ioContext);
}
-
- // special hack to work with NRTCachingDirectory
- private Directory getBaseDir(Directory dir) {
- Directory baseDir;
- if (dir instanceof NRTCachingDirectory) {
- baseDir = ((NRTCachingDirectory)dir).getDelegate();
- } else {
- baseDir = dir;
- }
-
- return baseDir;
- }
// perform an atomic rename if possible
public void renameWithOverwrite(Directory dir, String fileName, String toName) throws IOException {