Browse Source

HUE-5443 [metadata] Option to only load the last 10 query history for dev purposes

Romain Rigaux 9 years ago
parent
commit
3ac30730b7

+ 6 - 1
desktop/libs/metadata/src/metadata/optimizer_api.py

@@ -282,10 +282,15 @@ def top_columns(request):
 def upload_history(request):
   response = {'status': -1}
 
+  n = request.POST.get('n')
   query_type = 'hive'
 
+  history = Document2.objects.get_history(doc_type='query-%s' % query_type, user=request.user)
+  if n:
+    history = history[:n]
+
   queries = []
-  for doc in Document2.objects.get_history(doc_type='query-%s' % query_type, user=request.user):
+  for doc in history:
     query_data = Notebook(document=doc).get_data()
 
     try:

+ 5 - 4
desktop/libs/notebook/src/notebook/static/notebook/js/notebook.ko.js

@@ -1392,10 +1392,11 @@ var EditorViewModel = (function() {
       });
     };
 
-    self.loadQueryHistory = function () {
+    self.loadQueryHistory = function (n) {
       logGA('load_query_history');
 
       $.post("/metadata/api/optimizer/upload_history", {
+        n: n
       }, function(data) {
         if (data.status == 0) {
           $(document).trigger("info", "Queries uploaded successfully. Preparing them...");
@@ -1411,11 +1412,11 @@ var EditorViewModel = (function() {
         workloadId: workloadId,
       }, function(data) {
         if (data.status == 0) {
-          $(document).trigger("info", data.upload_status.status.state);
+          $(document).trigger("info", "Query processing: " + data.upload_status.status.state);
           if (['WAITING', 'IN_PROGRESS'].indexOf(data.upload_status.status.state) != -1) {
             window.setTimeout(function () {
-              self._getUploadStatus(workloadId);
-            }, 1000);
+              self.watchUploadStatus(workloadId);
+            }, 2000);
           }
         } else {
           $(document).trigger("error", data.message);

+ 5 - 0
desktop/libs/notebook/src/notebook/templates/editor_components.mako

@@ -2225,6 +2225,11 @@ ${ hueIcons.symbols() }
             <i class="fa fa-fw fa-cloud-upload"></i> ${_('Upload history')}
           </a>
         </li>
+        <li>
+          <a href="javascript:void(0)" data-bind="click: function() { loadQueryHistory(10); }" title="${ _('Load past query history in order to improve recommendations') }">
+            <i class="fa fa-fw fa-cloud-upload"></i> ${_('Upload last 10 history')}
+          </a>
+        </li>
         <!-- /ko -->
       </ul>
     </div>