Browse Source

HUE-7248 [adls] fix upload + error on upload cancel

jdesjean 8 years ago
parent
commit
493edf93f9

+ 10 - 0
desktop/core/src/desktop/static/desktop/ext/js/fileuploader.js

@@ -557,6 +557,7 @@ qq.FileUploader = function(o){
     this._button = this._createUploadButton(this._find(this._element, 'button'));
     this._button = this._createUploadButton(this._find(this._element, 'button'));
 
 
     this._bindCancelEvent();
     this._bindCancelEvent();
+    this._bindCancelAllEvent();
     this._setupDragDrop();
     this._setupDragDrop();
 };
 };
 
 
@@ -696,6 +697,15 @@ qq.extend(qq.FileUploader.prototype, {
                 qq.remove(item);
                 qq.remove(item);
             }
             }
         });
         });
+    },
+    _bindCancelAllEvent: function() {
+      var self = this,
+        list = this._listElement;
+      $('#uploadFileModal').on('hidden', function () {
+        for (var i = 0, l = list && list.childNodes.length; i < l; i++) {
+          self._handler.cancel(list.childNodes[i].qqFileId);
+        }
+      });
     }
     }
 });
 });
 
 

+ 2 - 0
desktop/libs/hadoop/src/hadoop/fs/upload.py

@@ -143,6 +143,7 @@ class HDFSfileUploadHandler(FileUploadHandler):
     self._destination = request.GET.get('dest', None) # GET param avoids infinite looping
     self._destination = request.GET.get('dest', None) # GET param avoids infinite looping
     self.request = request
     self.request = request
     fs = fsmanager.get_filesystem('default')
     fs = fsmanager.get_filesystem('default')
+    fs.setuser(request.user.username)
     FileUploadHandler.chunk_size = fs.get_upload_chuck_size(self._destination) if self._destination else UPLOAD_CHUNK_SIZE.get()
     FileUploadHandler.chunk_size = fs.get_upload_chuck_size(self._destination) if self._destination else UPLOAD_CHUNK_SIZE.get()
 
 
     LOG.debug("Chunk size = %d" % FileUploadHandler.chunk_size)
     LOG.debug("Chunk size = %d" % FileUploadHandler.chunk_size)
@@ -154,6 +155,7 @@ class HDFSfileUploadHandler(FileUploadHandler):
       try:
       try:
         fs_ref = self.request.REQUEST.get('fs', 'default')
         fs_ref = self.request.REQUEST.get('fs', 'default')
         self.request.fs = fsmanager.get_filesystem(fs_ref)
         self.request.fs = fsmanager.get_filesystem(fs_ref)
+        self.request.fs.setuser(self.request.user.username)
         self._file = HDFStemporaryUploadedFile(self.request, file_name, self._destination)
         self._file = HDFStemporaryUploadedFile(self.request, file_name, self._destination)
         LOG.debug('Upload attempt to %s' % (self._file.get_temp_path(),))
         LOG.debug('Upload attempt to %s' % (self._file.get_temp_path(),))
         self._activated = True
         self._activated = True

+ 1 - 2
desktop/libs/hadoop/src/hadoop/fs/webhdfs.py

@@ -34,7 +34,6 @@ from hadoop.fs import normpath as fs_normpath, SEEK_SET, SEEK_CUR, SEEK_END
 from hadoop.fs.hadoopfs import Hdfs
 from hadoop.fs.hadoopfs import Hdfs
 from hadoop.fs.exceptions import WebHdfsException
 from hadoop.fs.exceptions import WebHdfsException
 from hadoop.fs.webhdfs_types import WebHdfsStat, WebHdfsContentSummary
 from hadoop.fs.webhdfs_types import WebHdfsStat, WebHdfsContentSummary
-from hadoop.conf import UPLOAD_CHUNK_SIZE
 from hadoop.hdfs_site import get_nn_sentry_prefixes, get_umask_mode, get_supergroup
 from hadoop.hdfs_site import get_nn_sentry_prefixes, get_umask_mode, get_supergroup
 
 
 
 
@@ -663,7 +662,7 @@ class WebHdfs(Hdfs):
         raise ex
         raise ex
 
 
   def get_upload_chuck_size(self):
   def get_upload_chuck_size(self):
-    return UPLOAD_CHUNK_SIZE.get()
+    return hadoop.conf.UPLOAD_CHUNK_SIZE.get()
 
 
   def copyfile(self, src, dst, skip_header=False):
   def copyfile(self, src, dst, skip_header=False):
     sb = self._stats(src)
     sb = self._stats(src)