Repository: hadoop Updated Branches: refs/heads/branch-2.7 a47d8283b -> ef99e5ed8
YARN-6310. OutputStreams in AggregatedLogFormat.LogWriter can be left open upon exceptions. Contributed by Haibo Chen (cherry picked from commit deb9f569465bb760e661e60a313dad1605635236) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/ef99e5ed Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/ef99e5ed Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/ef99e5ed Branch: refs/heads/branch-2.7 Commit: ef99e5ed899c2bffb43a8144f873807244937775 Parents: a47d828 Author: Jason Lowe <[email protected]> Authored: Fri Mar 10 11:11:25 2017 -0600 Committer: Jason Lowe <[email protected]> Committed: Fri Mar 10 11:11:25 2017 -0600 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 ++ .../logaggregation/AggregatedLogFormat.java | 52 ++++++++++---------- 2 files changed, 29 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/ef99e5ed/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index f07cf5a..5f68a43 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -70,6 +70,9 @@ Release 2.7.4 - UNRELEASED YARN-3269. Yarn.nodemanager.remote-app-log-dir could not be configured to fully qualified path. (Xuan Gong via junping_du) + YARN-6310. OutputStreams in AggregatedLogFormat.LogWriter can be left + open upon exceptions (Haibo Chen via jlowe) + Release 2.7.3 - 2016-08-25 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/ef99e5ed/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java index 57f655b..6552934 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/logaggregation/AggregatedLogFormat.java @@ -407,34 +407,34 @@ public class AggregatedLogFormat { } private void writeVersion() throws IOException { - DataOutputStream out = this.writer.prepareAppendKey(-1); - VERSION_KEY.write(out); - out.close(); - out = this.writer.prepareAppendValue(-1); - out.writeInt(VERSION); - out.close(); + try (DataOutputStream out = this.writer.prepareAppendKey(-1)) { + VERSION_KEY.write(out); + } + try (DataOutputStream out = this.writer.prepareAppendValue(-1)) { + out.writeInt(VERSION); + } } public void writeApplicationOwner(String user) throws IOException { - DataOutputStream out = this.writer.prepareAppendKey(-1); - APPLICATION_OWNER_KEY.write(out); - out.close(); - out = this.writer.prepareAppendValue(-1); - out.writeUTF(user); - out.close(); + try (DataOutputStream out = this.writer.prepareAppendKey(-1)) { + APPLICATION_OWNER_KEY.write(out); + } + try (DataOutputStream out = this.writer.prepareAppendValue(-1)) { + out.writeUTF(user); + } } public void writeApplicationACLs(Map<ApplicationAccessType, String> appAcls) throws IOException { - DataOutputStream out = this.writer.prepareAppendKey(-1); - APPLICATION_ACL_KEY.write(out); - out.close(); - out = this.writer.prepareAppendValue(-1); - for (Entry<ApplicationAccessType, String> entry : appAcls.entrySet()) { - out.writeUTF(entry.getKey().toString()); - out.writeUTF(entry.getValue()); + try (DataOutputStream out = this.writer.prepareAppendKey(-1)) { + APPLICATION_ACL_KEY.write(out); + } + try (DataOutputStream out = this.writer.prepareAppendValue(-1)) { + for (Entry<ApplicationAccessType, String> entry : appAcls.entrySet()) { + out.writeUTF(entry.getKey().toString()); + out.writeUTF(entry.getValue()); + } } - out.close(); } public void append(LogKey logKey, LogValue logValue) throws IOException { @@ -443,12 +443,12 @@ public class AggregatedLogFormat { if (pendingUploadFiles.size() == 0) { return; } - DataOutputStream out = this.writer.prepareAppendKey(-1); - logKey.write(out); - out.close(); - out = this.writer.prepareAppendValue(-1); - logValue.write(out, pendingUploadFiles); - out.close(); + try (DataOutputStream out = this.writer.prepareAppendKey(-1)) { + logKey.write(out); + } + try (DataOutputStream out = this.writer.prepareAppendValue(-1)) { + logValue.write(out, pendingUploadFiles); + } } public void close() { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
