diff options
author | Miklos Szegedi <miklos.szegedi@cloudera.com> | 2018-05-23 14:32:31 -0700 |
---|---|---|
committer | Miklos Szegedi <miklos.szegedi@cloudera.com> | 2018-05-24 15:36:35 -0700 |
commit | b0f7b0dfd5475f722b23e9c1c9d20665d79cea10 (patch) | |
tree | 3dd95968f65e4e6dd5f4e36d9e38b41fc6c83713 /hadoop-common-project | |
parent | 731abae55716a3023f145dce3bed2ef81ccb81a1 (diff) |
YARN-8310. Handle old NMTokenIdentifier, AMRMTokenIdentifier, and ContainerTokenIdentifier formats. Contributed by Robert Kanter.
Diffstat (limited to 'hadoop-common-project')
-rw-r--r-- | hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java index a4339e64aa..326020c342 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/IOUtils.java @@ -445,4 +445,24 @@ public class IOUtils { throw ioe; } } + + /** + * Reads a DataInput until EOF and returns a byte array. Make sure not to + * pass in an infinite DataInput or this will never return. + * + * @param in A DataInput + * @return a byte array containing the data from the DataInput + * @throws IOException on I/O error, other than EOF + */ + public static byte[] readFullyToByteArray(DataInput in) throws IOException { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + try { + while (true) { + baos.write(in.readByte()); + } + } catch (EOFException eof) { + // finished reading, do nothing + } + return baos.toByteArray(); + } } |