YARN-7320. Duplicate LiteralByteStrings in 
SystemCredentialsForAppsProto.credentialsForApp_ ([email protected] via 
rkanter)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/5da295a3
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/5da295a3
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/5da295a3

Branch: refs/heads/HDFS-9806
Commit: 5da295a34e39b507e8291073782e0576cd06896a
Parents: c904d60
Author: Robert Kanter <[email protected]>
Authored: Mon Oct 23 17:56:56 2017 -0700
Committer: Robert Kanter <[email protected]>
Committed: Mon Oct 23 17:56:56 2017 -0700

----------------------------------------------------------------------
 .../impl/pb/NodeHeartbeatResponsePBImpl.java             | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/5da295a3/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java
index bbd1294..ccc4191 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java
@@ -26,6 +26,10 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
+import com.google.common.collect.Interner;
+import com.google.common.collect.Interners;
+import com.google.protobuf.ByteString;
+
 import org.apache.hadoop.security.proto.SecurityProtos.TokenProto;
 import org.apache.hadoop.yarn.api.protocolrecords.SignalContainerRequest;
 import 
org.apache.hadoop.yarn.api.protocolrecords.impl.pb.SignalContainerRequestPBImpl;
@@ -84,6 +88,9 @@ public class NodeHeartbeatResponsePBImpl extends 
NodeHeartbeatResponse {
   private List<Container> containersToDecrease = null;
   private List<SignalContainerRequest> containersToSignal = null;
 
+  private static final Interner<ByteString> BYTE_STRING_INTERNER =
+      Interners.newWeakInterner();
+
   public NodeHeartbeatResponsePBImpl() {
     builder = NodeHeartbeatResponseProto.newBuilder();
   }
@@ -148,8 +155,8 @@ public class NodeHeartbeatResponsePBImpl extends 
NodeHeartbeatResponse {
     for (Map.Entry<ApplicationId, ByteBuffer> entry : 
systemCredentials.entrySet()) {
       
builder.addSystemCredentialsForApps(SystemCredentialsForAppsProto.newBuilder()
         .setAppId(convertToProtoFormat(entry.getKey()))
-        .setCredentialsForApp(ProtoUtils.convertToProtoFormat(
-            entry.getValue().duplicate())));
+        .setCredentialsForApp(BYTE_STRING_INTERNER.intern(
+            ProtoUtils.convertToProtoFormat(entry.getValue()))));
     }
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to