浏览代码

HUE-3709 [editor] Close queries and not the full sessions on page exit

Romain Rigaux 9 年之前
父节点
当前提交
be49616
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      desktop/libs/notebook/src/notebook/api.py

+ 9 - 1
desktop/libs/notebook/src/notebook/api.py

@@ -377,7 +377,7 @@ def close_notebook(request):
 
   notebook = json.loads(request.POST.get('notebook', '{}'))
 
-  for session in notebook['sessions']:
+  for session in [_s for _s in notebook['sessions'] if _s['type'] in ('scala', 'spark', 'pyspark', 'sparkr')]:
     try:
       response['result'].append(get_api(request, session).close_session(session))
     except QueryExpired:
@@ -385,6 +385,14 @@ def close_notebook(request):
     except Exception, e:
       LOG.exception('Error closing session %s' % str(e))
 
+  for snippet in [_s for _s in notebook['snippets'] if _s['type'] in ('hive', 'impala')]:
+    try:
+      response['result'] = get_api(request, snippet).close_statement(snippet)
+    except QueryExpired:
+      pass
+    except Exception, e:
+      LOG.exception('Error closing statement %s' % str(e))
+
   response['status'] = 0
   response['message'] = _('Notebook closed successfully')