Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-1448

A CoordActionUpdateXCommand gets queued for all workflows even if they were not launched by a coordinator



    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1.0
    • Component/s: None
    • Labels:


      Once a workflow (that wasn't started by a coordinator) ends, there's almost always a warning/error logged that looks like this:

      2013-07-09 16:16:54,711  WARN CoordActionUpdateXCommand:542 - USER[rkanter] GROUP[-] TOKEN[] APP[pig-wf] JOB[0000000-130709161625948-oozie-rkan-W] ACTION[-] E1100: Command precondition does not hold before execution, [, coord action is null], Error Code: E1100

      The error is harmless, but it tends to confuse users who think that something went wrong. It also means that we have an extra unnecessary command in the queue for every workflow that wasn't started by a coordinator.

      In SignalXCommand, there is a line like this:

      new CoordActionUpdateXCommand(wfJob).call();    //Note: Called even if wf is not necessarily instantiated by coordinator

      The comment is part of the original code, and makes me think that this was done on purpose or perhaps when there wasn't a good way to check if a workflow was started by a coordinator?

      I think we can fix this by simply checking if the parent of wfJob is a coordinator.


        1. OOZIE-1448.patch
          26 kB
          Robert Kanter
        2. OOZIE-1448.patch
          24 kB
          Robert Kanter
        3. OOZIE-1448.patch
          24 kB
          Robert Kanter
        4. OOZIE-1448.patch
          6 kB
          Robert Kanter
        5. OOZIE-1448.patch
          1 kB
          Robert Kanter



            • Assignee:
              rkanter Robert Kanter
              rkanter Robert Kanter
            • Votes:
              0 Vote for this issue
              4 Start watching this issue


              • Created: