Эх сурвалжийг харах

[metastore] Avoid 500 on table page when missing a serde

Romain Rigaux 12 жил өмнө
parent
commit
f3db1e1

+ 0 - 2
apps/metastore/src/metastore/forms.py

@@ -18,8 +18,6 @@
 from django import forms
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
 
-import hive_metastore
-
 from desktop.lib.django_forms import simple_formset_factory, DependencyAwareForm
 from desktop.lib.django_forms import ChoiceOrOtherField, MultiForm, SubmitButton
 from filebrowser.forms import PathField

+ 6 - 3
apps/metastore/src/metastore/views.py

@@ -88,7 +88,7 @@ def drop_database(request):
     except Exception, ex:
       error_message, log = dbms.expand_exception(ex, db)
       error = _("Failed to remove %(databases)s.  Error: %(error)s") % {'databases': ','.join(databases), 'error': error_message}
-      raise PopupException(error, title=_("Beeswax Error"), detail=log)
+      raise PopupException(error, title=_("Hive Error"), detail=log)
   else:
     title = _("Do you really want to delete the database(s)?")
     return render('confirm.html', request, dict(url=request.path, title=title))
@@ -137,7 +137,10 @@ def describe_table(request, database, table):
   error_message = ''
   table_data = ''
 
-  table = db.get_table(database, table)
+  try:
+    table = db.get_table(database, table)
+  except Exception, e:
+    raise PopupException(_("Hive Error"), detail=e)
   partitions = None
   if table.partition_keys:
     partitions = db.get_partitions(database, table, max_parts=None)
@@ -181,7 +184,7 @@ def drop_table(request, database):
     except Exception, ex:
       error_message, log = dbms.expand_exception(ex, db)
       error = _("Failed to remove %(tables)s.  Error: %(error)s") % {'tables': ','.join(tables), 'error': error_message}
-      raise PopupException(error, title=_("Beeswax Error"), detail=log)
+      raise PopupException(error, title=_("Hive Error"), detail=log)
   else:
     title = _("Do you really want to delete the table(s)?")
     return render('confirm.html', request, dict(url=request.path, title=title))