cloudera / hue

Open source SQL Query Assistant service for Databases/Warehouses
https://cloudera.com
Apache License 2.0
1.16k stars 365 forks source link

HUE-2962 [desktop] - 'Config' object has no attribute 'get' #354

Closed syepes closed 8 years ago

syepes commented 8 years ago

Hello @spaztic1215

I am trying to upgrade to that last version of Hue and I think the commit 8c88233 (HUE-2962 [desktop] Add configuration property definition for HS2) introduced an error in the "connectors/hiveserver2.py" when it tries to read the Hive configuration.

I am running without Impala (app_blacklist=impala,security,search,rdbms,zookeeper)

Have you experienced this?

Traceback (most recent call last):
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 1215, in communicate
    req.respond()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 576, in respond
    self._respond()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 588, in _respond
    response = self.wsgi_app(self.environ, self.start_response)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/wsgi.py", line 206, in __call__
    response = self.get_response(request)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 194, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 236, in handle_uncaught_exception
    return callback(request, **param_dict)
  File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 331, in serve_500_error
    return render("500.mako", request, {'traceback': traceback.extract_tb(exc_info[2])})
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 227, in render
    **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 148, in _render_to_response
    return django_mako.render_to_response(template, *args, **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 125, in render_to_response
    return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 114, in render_to_string_normal
    result = template.render(**data_dict)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 443, in render
    return runtime._render(self, self.callable_, args, data)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 786, in _render
    **_kwargs_for_callable(callable_, data))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 818, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 844, in _exec_template
    callable_(context, *args, **kwargs)
  File "/tmp/tmpkguRIt/desktop/500.mako.py", line 40, in render_body
    __M_writer(unicode( commonheader(_('500 - Server error'), "", user) ))
  File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 409, in commonheader
    'is_ldap_setup': 'desktop.auth.backend.LdapBackend' in desktop.conf.AUTH.BACKEND.get()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 112, in render_to_string_normal
    template = lookup.get_template(template_name)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 89, in get_template
    return real_loader.get_template(uri)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 245, in get_template
    return self._load(srcfile, uri)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 311, in _load
    **self.template_args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 321, in __init__
    module = self._compile_from_file(path, filename)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 379, in _compile_from_file
    module = compat.load_module(self.module_id, path)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/compat.py", line 55, in load_module
    return imp.load_source(module_id, path, fp)
  File "/tmp/tmpkguRIt/desktop/common_header.mako.py", line 25, in <module>
    home_url = url('desktop.views.home')
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 131, in url
    return reverse(view_name, args=args, kwargs=view_args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 536, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 403, in _reverse_with_prefix
    self._populate()
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 303, in _populate
    lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 230, in callback
    self._callback = get_callable(self._callback_str)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/functional.py", line 32, in wrapper
    result = func(*args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 97, in get_callable
    mod = import_module(mod_name)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/usr/local/hue.prod/desktop/core/src/desktop/configuration/api.py", line 29, in <module>
    from notebook.connectors.hiveserver2 import HiveConfiguration, ImpalaConfiguration
  File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 77, in <module>
    class HiveConfiguration(object):
  File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 103, in HiveConfiguration
    "options": [config.lower() for config in hive_settings.get()]
AttributeError: 'Config' object has no attribute 'get'
spaztic1215 commented 8 years ago

Opened JIRA https://issues.cloudera.org/browse/HUE-3702 and review https://review.cloudera.org/r/7413/

spaztic1215 commented 8 years ago

Fixed as of https://github.com/cloudera/hue/commit/be034c8d8d870f5e969b4b2d74c866dc163f7a01

syepes commented 8 years ago

@spaztic1215 Thanks for the fix, but I am still getting the error when Hue starts:

Traceback (most recent call last):
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 1215, in communicate
    req.respond()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 576, in respond
    self._respond()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 588, in _respond
    response = self.wsgi_app(self.environ, self.start_response)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/wsgi.py", line 206, in __call__
    response = self.get_response(request)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 194, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 236, in handle_uncaught_exception
    return callback(request, **param_dict)
  File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 331, in serve_500_error
    return render("500.mako", request, {'traceback': traceback.extract_tb(exc_info[2])})
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 227, in render
    **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 148, in _render_to_response
    return django_mako.render_to_response(template, *args, **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 125, in render_to_response
    return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 114, in render_to_string_normal
    result = template.render(**data_dict)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 443, in render
    return runtime._render(self, self.callable_, args, data)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 786, in _render
    **_kwargs_for_callable(callable_, data))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 818, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 844, in _exec_template
    callable_(context, *args, **kwargs)
  File "/tmp/tmpLrckeL/desktop/500.mako.py", line 40, in render_body
    __M_writer(unicode( commonheader(_('500 - Server error'), "", user) ))
  File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 409, in commonheader
    'is_ldap_setup': 'desktop.auth.backend.LdapBackend' in desktop.conf.AUTH.BACKEND.get()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 112, in render_to_string_normal
    template = lookup.get_template(template_name)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 89, in get_template
    return real_loader.get_template(uri)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 245, in get_template
    return self._load(srcfile, uri)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 311, in _load
    **self.template_args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 321, in __init__
    module = self._compile_from_file(path, filename)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 379, in _compile_from_file
    module = compat.load_module(self.module_id, path)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/compat.py", line 55, in load_module
    return imp.load_source(module_id, path, fp)
  File "/tmp/tmpLrckeL/desktop/common_header.mako.py", line 25, in <module>
    home_url = url('desktop.views.home')
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 131, in url
    return reverse(view_name, args=args, kwargs=view_args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 536, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 403, in _reverse_with_prefix
    self._populate()
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 303, in _populate
    lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 230, in callback
    self._callback = get_callable(self._callback_str)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/functional.py", line 32, in wrapper
    result = func(*args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 97, in get_callable
    mod = import_module(mod_name)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/usr/local/hue.prod/desktop/core/src/desktop/configuration/api.py", line 29, in <module>
    from notebook.connectors.hiveserver2 import HiveConfiguration, ImpalaConfiguration
  File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 79, in <module>
    class HiveConfiguration(object):
  File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 105, in HiveConfiguration
    "options": [config.lower() for config in hive_settings.get()]
AttributeError: 'Config' object has no attribute 'get'
spaztic1215 commented 8 years ago

Hmm, I can't reproduce on master with the same app_blacklist you have. hive_settings shouldn't raise an error if beeswax isn't blacklisted (and even then it shouldn't cause this issue). Can you open a hue shell (./build/env/bin/hue shell) and do:

from beeswax.conf import CONFIG_WHITELIST as hive_settings type(hive_settings)

What is the type of hive_settings?

syepes commented 8 years ago

This is the output:

# build/env/bin/hue shell
Python 2.7.11 (default, Dec  7 2015, 11:22:37) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from beeswax.conf import CONFIG_WHITELIST as hive_settings
>>> type(hive_settings)
<class 'desktop.lib.conf.BoundConfig'>
>>> 
spaztic1215 commented 8 years ago

Cool! Yeah that should work then, this is the get() method for BoundConfig: https://github.com/cloudera/hue/blob/master/desktop/core/src/desktop/lib/conf.py#L144

Did you restart Hue after pulling down the changes?

syepes commented 8 years ago

Actually I did a full re-installation of hue (make prod, make instal...) and then start it.

spaztic1215 commented 8 years ago

In the hue shell, what happens when you try to do a from impala import views ?

romainr commented 8 years ago

I can repro it too, just do like him

app_blacklist=impala,security,search,rdbms,zookeeper

and open the Hive editor, I see a red error

spaztic1215 commented 8 years ago

@romainr that seems to be a different issue, related to the SolrAPI:

Traceback (most recent call last):
  File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/decorators.py", line 78, in decorator
    return func(*args, **kwargs)
  File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/api.py", line 54, in create_session
    response['session'] = get_api(request, session).create_session(lang=session['type'], properties=properties)
  File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/connectors/base.py", line 89, in get_api
    from notebook.connectors.solr import SolrApi
  File "/Users/jennykim/Dev/hue/desktop/libs/notebook/src/notebook/connectors/solr.py", line 25, in <module>
    from libsolr.api import SolrApi as NativeSolrApi
  File "/Users/jennykim/Dev/hue/desktop/libs/libsolr/src/libsolr/api.py", line 48, in <module>
    class SolrApi(object):
  File "/Users/jennykim/Dev/hue/desktop/libs/libsolr/src/libsolr/api.py", line 52, in SolrApi
    def __init__(self, solr_url, user, security_enabled=SECURITY_ENABLED.get(), ssl_cert_ca_verify=SSL_CERT_CA_VERIFY.get()):
AttributeError: 'Config' object has no attribute 'get'
syepes commented 8 years ago

@shiraz123 - In my case the error appears even before the login screen loads

h

romainr commented 8 years ago

Pushed https://github.com/cloudera/hue/commit/fcfd2c024caf26c9adcef6d4bfaa6aeb060b7343

romainr commented 8 years ago

And https://review.cloudera.org/r/7450/

syepes commented 8 years ago

Hello @romainr @spaztic1215

I have just installed from scratch the last master 178a2e0 an I am still getting a similar error, but now I get a new log error "Impala app is not enabled"

app_blacklist=impala,security,search,rdbms,zookeeper

Traceback (most recent call last):
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 1215, in communicate
    req.respond()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 576, in respond
    self._respond()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/wsgiserver.py", line 588, in _respond
    response = self.wsgi_app(self.environ, self.start_response)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/wsgi.py", line 206, in __call__
    response = self.get_response(request)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 194, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 236, in handle_uncaught_exception
    return callback(request, **param_dict)
  File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 331, in serve_500_error
    return render("500.mako", request, {'traceback': traceback.extract_tb(exc_info[2])})
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 227, in render
    **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_util.py", line 148, in _render_to_response
    return django_mako.render_to_response(template, *args, **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 125, in render_to_response
    return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 114, in render_to_string_normal
    result = template.render(**data_dict)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 443, in render
    return runtime._render(self, self.callable_, args, data)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 786, in _render
    **_kwargs_for_callable(callable_, data))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 818, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/runtime.py", line 844, in _exec_template
    callable_(context, *args, **kwargs)
  File "/tmp/tmpaRwPI0/desktop/500.mako.py", line 40, in render_body
    __M_writer(unicode( commonheader(_('500 - Server error'), "", user) ))
  File "/usr/local/hue.prod/desktop/core/src/desktop/views.py", line 409, in commonheader
    'is_ldap_setup': 'desktop.auth.backend.LdapBackend' in desktop.conf.AUTH.BACKEND.get()
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 112, in render_to_string_normal
    template = lookup.get_template(template_name)
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 89, in get_template
    return real_loader.get_template(uri)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 245, in get_template
    return self._load(srcfile, uri)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/lookup.py", line 311, in _load
    **self.template_args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 321, in __init__
    module = self._compile_from_file(path, filename)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/template.py", line 379, in _compile_from_file
    module = compat.load_module(self.module_id, path)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Mako-0.8.1-py2.7.egg/mako/compat.py", line 55, in load_module
    return imp.load_source(module_id, path, fp)
  File "/tmp/tmpaRwPI0/desktop/common_header.mako.py", line 25, in <module>
    home_url = url('desktop.views.home')
  File "/usr/local/hue.prod/desktop/core/src/desktop/lib/django_mako.py", line 131, in url
    return reverse(view_name, args=args, kwargs=view_args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 536, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 403, in _reverse_with_prefix
    self._populate()
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 303, in _populate
    lookups.appendlist(pattern.callback, (bits, p_pattern, pattern.default_args))
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 230, in callback
    self._callback = get_callable(self._callback_str)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/functional.py", line 32, in wrapper
    result = func(*args)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/urlresolvers.py", line 97, in get_callable
    mod = import_module(mod_name)
  File "/usr/local/hue.prod/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/usr/local/hue.prod/desktop/core/src/desktop/configuration/api.py", line 29, in <module>
    from notebook.connectors.hiveserver2 import HiveConfiguration, ImpalaConfiguration
  File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 78, in <module>
    class HiveConfiguration(object):
  File "/usr/local/hue.prod/desktop/libs/notebook/src/notebook/connectors/hiveserver2.py", line 104, in HiveConfiguration
    "options": [config.lower() for config in hive_settings.get()]
AttributeError: 'Config' object has no attribute 'get'

[03/May/2016 08:26:04 +0200] hiveserver2  WARNING  Impala app is not enabled
romainr commented 8 years ago

@spaztic1215 probably one more check to add!

spaztic1215 commented 8 years ago

@syepes I can't seem to reproduce that error with your same blacklist config, so can you try editing your hiveserver2.py file by switching lines 55 and 56, specifically changing this:

from impala.conf import CONFIG_WHITELIST as impala_settings
from impala import views   # Force checking if Impala is enabled

to

from impala import views   # Force checking if Impala is enabled
from impala.conf import CONFIG_WHITELIST as impala_settings
syepes commented 8 years ago

@spaztic1215 I have tested switching the lines 55/56 and after restarting Hue I am still getting the same error.

Update: If I run Hue with this app_blacklist I can reproduce the issue:

app_blacklist=beeswax,impala,security,search,rdbms,zookeeper

But now its working with:

app_blacklist=impala,security,search,rdbms,zookeeper

spaztic1215 commented 8 years ago

Ah, yes. 😄 blacklisting beeswax will do it. OK, will do a force check for that too.

spaztic1215 commented 8 years ago

@syepes Unfortunately right now we can't easily support blacklisting beeswax bc we're transitioning our editors to be truly backend agnostic. Until then (probably Hue 4) we require that beeswax is enabled.

romainr commented 8 years ago

@syepes, is the idea to have a Spark notebook only?