diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ResourceMappings.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ResourceMappings.java index d673341b01c..c1c3b5d0aa7 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ResourceMappings.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/container/ResourceMappings.java @@ -18,11 +18,10 @@ package org.apache.hadoop.yarn.server.nodemanager.containermanager.container; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; +import org.apache.commons.lang3.SerializationException; +import org.apache.commons.lang3.SerializationUtils; + import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; @@ -30,8 +29,6 @@ import java.util.List; import java.util.Map; -import org.apache.commons.io.IOUtils; - /** * This class is used to store assigned resource to a single container by * resource types. @@ -91,16 +88,11 @@ public void updateAssignedResources(List list) { @SuppressWarnings("unchecked") public static AssignedResources fromBytes(byte[] bytes) throws IOException { - ObjectInputStream ois = null; - List resources; + final List resources; try { - ByteArrayInputStream bis = new ByteArrayInputStream(bytes); - ois = new ObjectInputStream(bis); - resources = (List) ois.readObject(); - } catch (ClassNotFoundException e) { + resources = SerializationUtils.deserialize(bytes); + } catch (SerializationException e) { throw new IOException(e); - } finally { - IOUtils.closeQuietly(ois); } AssignedResources ar = new AssignedResources(); ar.updateAssignedResources(resources); @@ -108,15 +100,11 @@ public static AssignedResources fromBytes(byte[] bytes) } public byte[] toBytes() throws IOException { - ObjectOutputStream oos = null; - byte[] bytes; + final byte[] bytes; try { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - oos = new ObjectOutputStream(bos); - oos.writeObject(resources); - bytes = bos.toByteArray(); - } finally { - IOUtils.closeQuietly(oos); + bytes = SerializationUtils.serialize((Serializable) resources); + } catch (SerializationException e) { + throw new IOException(e); } return bytes; }