Bläddra i källkod

HUE-5304 [solr] Fix leaking of non specified Zookeeper ensemble and root

Romain Rigaux 8 år sedan
förälder
incheckning
db2b406a9a
2 ändrade filer med 16 tillägg och 12 borttagningar
  1. 3 4
      desktop/libs/indexer/src/indexer/conf.py
  2. 13 8
      desktop/libs/indexer/src/indexer/tests.py

+ 3 - 4
desktop/libs/indexer/src/indexer/conf.py

@@ -22,16 +22,15 @@ from urlparse import urlparse
 from django.utils.translation import ugettext_lazy as _t
 
 from desktop.lib.conf import Config
-from libsolr.conf import SOLR_ZK_PATH
-from libzookeeper.conf import ENSEMBLE
+from libsolr import conf as libsolr_conf
+from libzookeeper import conf as libzookeeper_conf
 
 
 LOG = logging.getLogger(__name__)
 
 
 def get_solr_ensemble():  
-  return '%s%s' % (ENSEMBLE.get(), SOLR_ZK_PATH.get())
-  #return '%s%s' % ('localhost:9983', '')
+  return '%s%s' % (libzookeeper_conf.ENSEMBLE.get(), libsolr_conf.SOLR_ZK_PATH.get())
 
 
 def solrctl():

+ 13 - 8
desktop/libs/indexer/src/indexer/tests.py

@@ -26,26 +26,31 @@ from django.core.urlresolvers import reverse
 from desktop.lib.django_test_util import make_logged_in_client
 from desktop.lib.test_utils import add_to_group, grant_access
 from hadoop.pseudo_hdfs4 import is_live_cluster, get_db_prefix
-from libzookeeper.conf import ENSEMBLE
+from libsolr import conf as libsolr_conf
+from libzookeeper import conf as libzookeeper_conf
 
 from indexer.controller import get_solr_ensemble, CollectionManagerController
 
 
 def test_get_ensemble():
 
-  clear = ENSEMBLE.set_for_testing('zoo:2181')
+  clears = []
+  clears.append(libzookeeper_conf.ENSEMBLE.set_for_testing('zoo:2181'))
+  clears.append(libsolr_conf.SOLR_ZK_PATH.set_for_testing('/solr'))
   try:
     assert_equal('zoo:2181/solr', get_solr_ensemble())
   finally:
-    clear()
+    for clear in clears:
+      clear()
 
-
-  clear = ENSEMBLE.set_for_testing('zoo:2181,zoo2:2181')
+  clears = []
+  clears.append(libzookeeper_conf.ENSEMBLE.set_for_testing('zoo:2181,zoo2:2181'))
+  clears.append(libsolr_conf.SOLR_ZK_PATH.set_for_testing('/solr2'))
   try:
-    assert_equal('zoo:2181,zoo2:2181/solr', get_solr_ensemble())
+    assert_equal('zoo:2181,zoo2:2181/solr2', get_solr_ensemble())
   finally:
-    clear()
-
+    for clear in clears:
+      clear()
 
 
 class TestIndexerWithSolr: