Browse Source

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

Romain Rigaux 9 years ago
parent
commit
be49616
1 changed files with 9 additions and 1 deletions
  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', '{}'))
   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:
     try:
       response['result'].append(get_api(request, session).close_session(session))
       response['result'].append(get_api(request, session).close_session(session))
     except QueryExpired:
     except QueryExpired:
@@ -385,6 +385,14 @@ def close_notebook(request):
     except Exception, e:
     except Exception, e:
       LOG.exception('Error closing session %s' % str(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['status'] = 0
   response['message'] = _('Notebook closed successfully')
   response['message'] = _('Notebook closed successfully')