[ https://issues.apache.org/jira/browse/YARN-2936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14252213#comment-14252213 ]
Varun Saxena commented on YARN-2936: ------------------------------------ [~zjshen], [~jianhe], kindly review. Findbugs to be handled by YARN-2937 to YARN-2940. Test failure unrelated and all these tests are passing in my local setup. > YARNDelegationTokenIdentifier doesn't set proto.builder now > ----------------------------------------------------------- > > Key: YARN-2936 > URL: https://issues.apache.org/jira/browse/YARN-2936 > Project: Hadoop YARN > Issue Type: Bug > Reporter: Zhijie Shen > Assignee: Varun Saxena > Attachments: YARN-2936.001.patch > > > After YARN-2743, the setters are removed from YARNDelegationTokenIdentifier, > such that when constructing a object which extends > YARNDelegationTokenIdentifier, proto.builder is not set at all. Later on, > when we call getProto() of it, we will just get an empty proto object. > It seems to do no harm to the production code path, as we will always call > getBytes() before using proto to persist the DT in the state store, when we > generating the password. > I think the setter is removed to avoid duplicating setting the fields why > getBytes() is called. However, YARNDelegationTokenIdentifier doesn't work > properly alone. YARNDelegationTokenIdentifier is tightly coupled with the > logic in secretManager. It's vulnerable if something is changed at > secretManager. For example, in the test case of YARN-2837, I spent time to > figure out we need to execute getBytes() first to make sure the testing DTs > can be properly put into the state store. -- This message was sent by Atlassian JIRA (v6.3.4#6332)