Bläddra i källkod

HUE-1601 [oozie] Workflow editor shouldn't display deleted action in Import Action

Filter out workflows from Spark app
Fix race condition when installing all examples for the first time
Remove history scripts from default tag
Romain Rigaux 12 år sedan
förälder
incheckning
ebe18d3

+ 13 - 8
apps/oozie/src/oozie/views/api.py

@@ -15,25 +15,24 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-try:
-  import json
-except ImportError:
-  import simplejson as json
+import json
 import logging
 
 from django.http import HttpResponse
 from django.utils.translation import ugettext as _
 
 from desktop.lib.exceptions import StructuredException
+from desktop.models import Document
 
 from oozie.forms import WorkflowForm, NodeForm, design_form_by_type
-from oozie.models import Job, Workflow, Node, Start, End, Kill,\
+from oozie.models import Workflow, Node, Start, End, Kill,\
                          Link, Decision, Fork, DecisionEnd, Join,\
                          NODE_TYPES, ACTION_TYPES, _STD_PROPERTIES_JSON
 from oozie.decorators import check_job_access_permission, check_job_edition_permission
 from oozie.utils import model_to_dict, format_dict_field_values, format_field_value
 
 
+
 LOG = logging.getLogger(__name__)
 
 
@@ -352,14 +351,20 @@ def workflows(request):
   if request.method not in ['GET']:
     raise StructuredException(code="METHOD_NOT_ALLOWED_ERROR", message=_('Must be GET request.'), error_code=405)
 
-  workflows = request.GET.get('managed', 'false').lower() == 'true' and Workflow.objects.managed() or Workflow.objects.unmanaged()
-  workflows_accessible = filter(lambda x: Job.objects.can_read(request.user, x.id), workflows)
+  if request.GET.get('managed', 'false').lower() == 'false':
+    extra='jobsub'
+  else:
+    extra=''
+
+  workflow_docs = Document.objects.get_docs(request.user, Workflow, extra=extra)
+
   response = {
     'status': 0,
     'data': {
-      'workflows': [model_to_dict(workflow) for workflow in workflows_accessible]
+      'workflows': [model_to_dict(workflow.content_object) for workflow in workflow_docs]
     }
   }
+
   return HttpResponse(json.dumps(response), mimetype="application/json")
 
 

+ 1 - 1
apps/oozie/src/oozie/views/dashboard.py

@@ -682,7 +682,7 @@ def split_oozie_jobs(user, oozie_jobs):
   jobs_completed = []
 
   for job in oozie_jobs:
-    if job.appName != 'pig-app-hue-script':
+    if job.appName not in ('pig-app-hue-script', 'spark-app-hue-script'):
       if job.is_running():
         if job.type == 'Workflow':
           job = get_oozie(user).get_job(job.id)

+ 6 - 2
apps/useradmin/src/useradmin/models.py

@@ -287,8 +287,12 @@ def install_sample_user():
   try:
     user = auth_models.User.objects.get(username=SAMPLE_USERNAME)
   except auth_models.User.DoesNotExist:
-    user = auth_models.User.objects.create(username=SAMPLE_USERNAME, password='!', is_active=False, is_superuser=False, id=1100713, pk=1100713)
-    LOG.info('Installed a user called "%s"' % (SAMPLE_USERNAME,))
+    try:
+      user = auth_models.User.objects.create(username=SAMPLE_USERNAME, password='!', is_active=False, is_superuser=False, id=1100713, pk=1100713)
+      LOG.info('Installed a user called "%s"' % (SAMPLE_USERNAME,))
+    except Exception, e:
+      LOG.info('Sample user race condition: %s' % e)
+      user = auth_models.User.objects.get(username=SAMPLE_USERNAME)
 
   fs = cluster.get_hdfs()
   fs.do_as_user(SAMPLE_USERNAME, fs.create_home_dir)

+ 2 - 0
desktop/core/src/desktop/models.py

@@ -373,6 +373,8 @@ class Document(models.Model):
   def add_to_history(self):
     tag = DocumentTag.objects.get_history_tag(user=self.owner)
     self.tags.add(tag)
+    default_tag = DocumentTag.objects.get_default_tag(user=self.owner)
+    self.tags.remove(default_tag)
 
   def share_to_default(self):
     DocumentPermission.objects.share_to_default(self)