Prechádzať zdrojové kódy

HUE-7834 [search] Facet download when no fields are selected fails

Romain Rigaux 8 rokov pred
rodič
commit
33e96e1

+ 0 - 2
apps/impala/src/impala/api.py

@@ -52,7 +52,6 @@ def invalidate(request):
   return JsonResponse(response)
 
 
-
 @require_POST
 @error_handler
 def refresh_table(request, database, table):
@@ -109,4 +108,3 @@ def get_runtime_profile(request, query_history_id):
     response['profile'] = profile
 
   return JsonResponse(response)
-

+ 1 - 1
apps/impala/src/impala/dashboard_api.py

@@ -32,4 +32,4 @@ class ImpalaDashboardApi(SQLDashboardApi):
 
   @classmethod
   def _supports_percentile(cls):
-    return False
+    return False

+ 1 - 1
apps/impala/src/impala/server.py

@@ -230,4 +230,4 @@ class ImpalaDaemonApi(object):
     try:
       return json.loads(resp)
     except ValueError, e:
-      raise ImpalaDaemonApiException('ImpalaDaemonApi kill did not return valid JSON: %s' % e)
+      raise ImpalaDaemonApiException('ImpalaDaemonApi kill did not return valid JSON: %s' % e)

+ 7 - 6
apps/jobbrowser/src/jobbrowser/tests.py

@@ -590,6 +590,7 @@ class TestResourceManagerHaNoHadoop:
 
 
 class TestImpalaApi(object):
+
   def setUp(self):
     api = MockImpalaQueryApi('http://url.com')
     self.api = QueryApi(None, impala_api=api)
@@ -604,17 +605,17 @@ class TestImpalaApi(object):
   def test_app(self):
     response = self.api.app('4d497267f34ff17d:817bdfb500000000')
     for key, value in {'status': u'FINISHED', 'name': u'select * from customers',
-     'duration': 3369000.0, 'progress': 66.6667, 'user': u'admin', 'type': 'queries',
-     'id': '4d497267f34ff17d:817bdfb500000000', 'submitted': u'2017-10-25 15:38:12.872825000', 'apiStatus': 'SUCCEEDED', 'doc_url': 'http://url.com/query_plan?query_id=4d497267f34ff17d:817bdfb500000000'}.iteritems():
+      'duration': 3369000.0, 'progress': 66.6667, 'user': u'admin', 'type': 'queries',
+      'id': '4d497267f34ff17d:817bdfb500000000', 'submitted': u'2017-10-25 15:38:12.872825000', 'apiStatus': 'SUCCEEDED', 'doc_url': 'http://url.com/query_plan?query_id=4d497267f34ff17d:817bdfb500000000'}.iteritems():
       assert_equal(response.get(key), value)
 
     response = self.api.app('8a46a8865624698f:b80b211500000000')
 
     for key, value in {'status': u'FINISHED',
-     'name': u'SELECT sample_07.description, sample_07.salary FROM   sample...', 'duration': 3355000.0, 'progress': 100.0, 'user': u'admin',
-     'type': 'queries', 'id': '8a46a8865624698f:b80b211500000000', 'submitted': u'2017-10-25 15:38:26.637010000',
-     'apiStatus': 'SUCCEEDED', 'doc_url': 'http://url.com/query_plan?query_id=8a46a8865624698f:b80b211500000000'}.iteritems():
-     assert_equal(response.get(key), value)
+      'name': u'SELECT sample_07.description, sample_07.salary FROM   sample...', 'duration': 3355000.0, 'progress': 100.0, 'user': u'admin',
+      'type': 'queries', 'id': '8a46a8865624698f:b80b211500000000', 'submitted': u'2017-10-25 15:38:26.637010000',
+      'apiStatus': 'SUCCEEDED', 'doc_url': 'http://url.com/query_plan?query_id=8a46a8865624698f:b80b211500000000'}.iteritems():
+      assert_equal(response.get(key), value)
 
 
 class TestSparkNoHadoop(object):

+ 2 - 0
desktop/libs/dashboard/src/dashboard/api.py

@@ -287,6 +287,8 @@ def download(request):
     if facet:
       response['response']['docs'] = response['normalized_facets'][0]['docs']
       collection = facet
+      if not collection['template']['fieldsSelected']:
+        facet['fields'] = facet['template']['fieldsAttributes']
     else:
       collection = json.loads(request.POST.get('collection', '{}'))