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 2015/10/01 20:16:45 UTC

svn commit: r1706302 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java

Author: markrmiller
Date: Thu Oct  1 18:16:45 2015
New Revision: 1706302

URL: http://svn.apache.org/viewvc?rev=1706302&view=rev
Log:
SOLR-8095: Allow disabling HDFS Locality Metrics and disable by default as it may have performance implications on rapidly changing indexes.

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
    lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1706302&r1=1706301&r2=1706302&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Thu Oct  1 18:16:45 2015
@@ -219,6 +219,8 @@ Bug Fixes
 
 * SOLR-8104: Config API does not work for spellchecker (noble)
 
+* SOLR-8095: Allow disabling HDFS Locality Metrics and disable by default as it may have performance
+  implications on rapidly changing indexes. (Mike Drob via Mark Miller)
 
 Optimizations
 ----------------------

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java?rev=1706302&r1=1706301&r2=1706302&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/core/HdfsDirectoryFactory.java Thu Oct  1 18:16:45 2015
@@ -81,7 +81,9 @@ public class HdfsDirectoryFactory extend
   public static final String NRTCACHINGDIRECTORY_MAXMERGESIZEMB = "solr.hdfs.nrtcachingdirectory.maxmergesizemb";
   public static final String NRTCACHINGDIRECTORY_MAXCACHEMB = "solr.hdfs.nrtcachingdirectory.maxcachedmb";
   public static final String NUMBEROFBLOCKSPERBANK = "solr.hdfs.blockcache.blocksperbank";
-  
+
+  public static final String LOCALITYMETRICS_ENABLED = "solr.hdfs.locality.metrics.enabled";
+
   public static final String KERBEROS_ENABLED = "solr.hdfs.security.kerberos.enabled";
   public static final String KERBEROS_KEYTAB = "solr.hdfs.security.kerberos.keytabfile";
   public static final String KERBEROS_PRINCIPAL = "solr.hdfs.security.kerberos.principal";
@@ -219,8 +221,9 @@ public class HdfsDirectoryFactory extend
       hdfsDir = new HdfsDirectory(new Path(path), lockFactory, conf);
       dir = hdfsDir;
     }
-    
-    LocalityHolder.reporter.registerDirectory(hdfsDir);
+    if (params.getBool(LOCALITYMETRICS_ENABLED, false)) {
+      LocalityHolder.reporter.registerDirectory(hdfsDir);
+    }
 
     boolean nrtCachingDirectory = getConfig(NRTCACHINGDIRECTORY_ENABLE, true);
     if (nrtCachingDirectory) {

Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java?rev=1706302&r1=1706301&r2=1706302&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/core/HdfsDirectoryFactoryTest.java Thu Oct  1 18:16:45 2015
@@ -187,6 +187,7 @@ public class HdfsDirectoryFactoryTest ex
     props.put(HdfsDirectoryFactory.HDFS_HOME, HdfsTestUtil.getURI(dfsCluster) + "/solr");
     props.put(HdfsDirectoryFactory.BLOCKCACHE_ENABLED, "false");
     props.put(HdfsDirectoryFactory.NRTCACHINGDIRECTORY_ENABLE, "false");
+    props.put(HdfsDirectoryFactory.LOCALITYMETRICS_ENABLED, "true");
     factory.init(new NamedList<>(props));
     
     Iterator<SolrInfoMBean> it = factory.offerMBeans().iterator();