SOLR-5907: The hdfs write cache can cause a reader to see a corrupted state. It now defaults to off, and if you were using solr.hdfs.blockcache.write.enabled explicitly, you should set it to false.

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1581174 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Mark Robert Miller 2014-03-25 01:27:38 +00:00
parent 6de62086ad
commit 563ebdbdf0
2 changed files with 13 additions and 2 deletions

View File

@ -322,6 +322,13 @@ Bug Fixes
* SOLR-5734: We should use System.nanoTime rather than System.currentTimeMillis * SOLR-5734: We should use System.nanoTime rather than System.currentTimeMillis
when calculating elapsed time. (Mark Miller, Ramkumar Aiyengar) when calculating elapsed time. (Mark Miller, Ramkumar Aiyengar)
<<<<<<< .mine
* SOLR-5907: The hdfs write cache can cause a reader to see a corrupted state.
It now defaults to off, and if you were using solr.hdfs.blockcache.write.enabled
explicitly, you should set it to false.
(Mark Miller)
=======
* SOLR-5760: ConcurrentUpdateSolrServer has a blockUntilFinished call when * SOLR-5760: ConcurrentUpdateSolrServer has a blockUntilFinished call when
streamDeletes is true that should be tucked into the if statement below it. streamDeletes is true that should be tucked into the if statement below it.
(Mark Miller, Gregory Chanan) (Mark Miller, Gregory Chanan)
@ -329,6 +336,7 @@ Bug Fixes
* SOLR-5761: HttpSolrServer has a few fields that can be set via setters but * SOLR-5761: HttpSolrServer has a few fields that can be set via setters but
are not volatile. (Mark Miller, Gregory Chanan) are not volatile. (Mark Miller, Gregory Chanan)
>>>>>>> .r1581173
================== 4.7.0 ================== ================== 4.7.0 ==================
Versions of Major Components Versions of Major Components

View File

@ -106,9 +106,12 @@ public class HdfsDirectoryFactory extends CachingDirectoryFactory {
boolean blockCacheEnabled = params.getBool(BLOCKCACHE_ENABLED, true); boolean blockCacheEnabled = params.getBool(BLOCKCACHE_ENABLED, true);
boolean blockCacheGlobal = params.getBool(BLOCKCACHE_GLOBAL, false); // default to false for back compat boolean blockCacheGlobal = params.getBool(BLOCKCACHE_GLOBAL, false); // default to false for back compat
boolean blockCacheReadEnabled = params.getBool(BLOCKCACHE_READ_ENABLED, boolean blockCacheReadEnabled = params.getBool(BLOCKCACHE_READ_ENABLED, true);
true);
boolean blockCacheWriteEnabled = params.getBool(BLOCKCACHE_WRITE_ENABLED, true); boolean blockCacheWriteEnabled = params.getBool(BLOCKCACHE_WRITE_ENABLED, true);
if (blockCacheWriteEnabled) {
LOG.warn("Using " + BLOCKCACHE_WRITE_ENABLED + " is currently buggy and can result in readers seeing a corrupted view of the index.");
}
Directory dir = null; Directory dir = null;
if (blockCacheEnabled && dirContext != DirContext.META_DATA) { if (blockCacheEnabled && dirContext != DirContext.META_DATA) {