{"record":{"id":"e75ba09e3e99791f","repo":"apache/hadoop","slug":"fail-to-extract-data-fields-properly-from-tail","errorCode":null,"errorMessage":"Fail to extract data fields properly from ${tail}","messagePattern":"Fail to extract data fields properly from (.+?)","errorType":"exception","errorClass":"DataFieldNotFoundException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-resourceestimator/src/main/java/org/apache/hadoop/resourceestimator/translator/impl/RmSingleLineParser.java","lineNumber":109,"sourceCode":"    // tail\n    if (!jobEventMatcher.find()) { // this line of log does not contain targeted\n      // events\n      return;\n    }\n\n    // now we have the match, let's do some parsing\n    final long date = PARSERUTIL.stringToUnixTimestamp(splits[1]);\n    final String tail = splits[4].split(\"\\\\s+\", 4)[3]; // use the tail of the\n    // tail only\n    switch (jobEventMatcher.group(1)) {\n    case \"Submit Application Request\": {\n      /** Submit job. */\n      final Matcher appIdMatch = SUBMISSION_PATTERN.matcher(tail);\n      if (appIdMatch.find()) {\n        final String appId = appIdMatch.group(1);\n        jobMetas.put(appId, new JobMetaData(date));\n      } else {\n        throw new DataFieldNotFoundException(tail);\n      }\n      break;\n    }\n    case \"AM Allocated Container\": {\n      /** Allocate container. */\n      final Matcher containerEventMatcher =\n          CONTAINER_EVENT_PATTERN.matcher(tail);\n      if (containerEventMatcher.find()) {\n        final String appId = containerEventMatcher.group(1);\n        final String containerId = containerEventMatcher.group(2);\n        final JobMetaData appMeta = jobMetas.get(appId);\n        if (appMeta != null) {\n          appMeta.setContainerStart(containerId, date);\n        }\n      } else {\n        throw new DataFieldNotFoundException(tail);\n      }\n      break;","sourceCodeStart":91,"sourceCodeEnd":127,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-resourceestimator/src/main/java/org/apache/hadoop/resourceestimator/translator/impl/RmSingleLineParser.java#L91-L127","documentation":"Error \"Fail to extract data fields properly from ${tail}\" thrown in apache/hadoop.","triggerScenarios":"A ResourceManager log line does not match the expected single-line format, so the required data fields cannot be extracted.","commonSituations":"See trigger scenarios.","solutions":["Verify the RM log line format matches what RmSingleLineParser expects; the log may be from a different Hadoop version."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-23T01:17:44.959Z"}