You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Satish Subhashrao Saley (JIRA)" <ji...@apache.org> on 2016/06/06 16:29:20 UTC

[jira] [Created] (OOZIE-2561) Child job url in case of child job failure

Satish Subhashrao Saley created OOZIE-2561:
----------------------------------------------

             Summary: Child job url in case of child job failure
                 Key: OOZIE-2561
                 URL: https://issues.apache.org/jira/browse/OOZIE-2561
             Project: Oozie
          Issue Type: Bug
            Reporter: Satish Subhashrao Saley
            Assignee: Satish Subhashrao Saley


Currently we are putting child job ids in output.properties in 
{code}

protected static void writeExternalChildIDs(String logFile, Pattern[] patterns, String name) {
        // Harvesting and recording Hadoop Job IDs
        // See JavaActionExecutor#readExternalChildIDs for how they are read
        try {
            Properties jobIds = getHadoopJobIds(logFile, patterns);
            File file = new File(System.getProperty(LauncherMapper.ACTION_PREFIX
                    + LauncherMapper.ACTION_DATA_OUTPUT_PROPS));
            OutputStream os = new FileOutputStream(file);
            try {
                jobIds.store(os, "");
            }
            finally {
                os.close();
            }
            System.out.println(" Hadoop Job IDs executed by " + name + ": " + jobIds.getProperty(HADOOP_JOBS));
            System.out.println();
        }
        catch (Exception e) {
            System.out.println("WARN: Error getting Hadoop Job IDs executed by " + name);
            e.printStackTrace(System.out);
        }
    }
{code}
We read from this file only in case of success of Launcher Main

{code}
In JavaActionExecutor:
if (LauncherMapperHelper.isMainSuccessful(runningJob)) {
                        if (getCaptureOutput(action) && LauncherMapperHelper.hasOutputData(actionData)) {
                            context.setExecutionData(SUCCEEDED, PropertiesUtils.stringToProperties(actionData
                                    .get(LauncherMapper.ACTION_DATA_OUTPUT_PROPS)));
                            LOG.info(XLog.STD, "action produced output");
                        }
{code}

We should write child job its to oozie.action.externalChildIDs. We need changes in following
- HiveMain
- Hive2Main
- DistcpMain
- SparkMain
- SqoopMain




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)