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

[fluent-job] Create error handler ACTION only if needed

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.1.0
    • Component/s: fluent-job
    • Labels:
      None

      Description

      The Shell and MultipleShellActions example of the Fluent Job API generates multiple actions with the same name (email-on-error) which gives E0705 error code.

      For MultipleShellActions the generated XML:

      Workflow job definition generated from API jar: 
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <workflow:workflow-app xmlns:email="uri:oozie:email-action:0.2" xmlns:workflow="uri:oozie:workflow:1.0" xmlns:shell="uri:oozie:shell-action:1.0" name="shell-example">
          <workflow:start to="parent"/>
          <workflow:kill name="kill">
              <workflow:message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</workflow:message>
          </workflow:kill>
          <workflow:action name="email-on-error">
              <email:email>
                  <email:to>somebody@apache.org</email:to>
                  <email:subject>Workflow error</email:subject>
                  <email:body>Shell action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</email:body>
              </email:email>
              <workflow:ok to="kill"/>
              <workflow:error to="kill"/>
          </workflow:action>
          <workflow:action name="parent">
              ...
          </workflow:action>
          <workflow:decision name="decision1">
             ...
          </workflow:decision>
          <workflow:action name="email-on-error">
              ...
          </workflow:action>
          <workflow:action name="happy-path-0">
              ...
          </workflow:action>
          <workflow:decision name="decision2">
              ...
          </workflow:action>
          ...
      

      The error message:

      bin/oozie job -oozie http://localhost:11000/oozie -runjar fluenttest.jar -config job.properties -verbose
      ...
      Error: E0705 : E0705: Nnode already defined, node [email-on-error]
      

      The Shell example also creates an XML with multiple email-on-error actions.

        Attachments

        1. OOZIE-3340.002.patch
          6 kB
          Andras Piros
        2. OOZIE-3340-001.patch
          2 kB
          Kinga Marton

          Issue Links

            Activity

              People

              • Assignee:
                kmarton Kinga Marton
                Reporter:
                asalamon74 Andras Salamon
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: