[ 
https://issues.apache.org/jira/browse/YARN-2837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14234801#comment-14234801
 ] 

Jian He commented on YARN-2837:
-------------------------------

Thanks Zhijie and Li, some comments on my side:

- Logic in {{Version loadedVersion = loadVersion();}} Consider this scenario: 
CURRENT_VERSION_INFO = 2.0; there’s no version info currently saved in 
store-store. {{loadVersion}} returns 1.0; It’ll throw inCompatible exception, 
even though it should not. 
- we can probably use protobuf to incorporate both tokenIdentifer and the 
renewDate to support better compatibility. e.g. RMDelegationTokenIdentifierData
{code}
      renewDate = in.readLong();
      tokenId.readFields(in);
{code}
- {{LeveldbTimelineStateStore#updateToken}}, it’s always adding new token, the 
old token still remain, we should remove the old token
- {{AbstractDelegationTokenSecretManager#delegationTokenSequenceNumber}} is not 
updated on recovery; the implementation seems using sequenceNumber as the key, 
we need to keep track of the latest sequenceNumber so that it can be recovered.
- the following looks ok , a simpler way might be to just concatenate two 
strings.
{code}
.add(TOKEN_MASTER_KEY_ENTRY_PREFIX).add(Integer.toString(keyId)){code}
- the following log is present in both 
{{TimelineDelegationTokenSecretManager#storeNewMasterKey}} and the underlying 
state-store implementation; only printing  in one place is enough. similar to 
other operations.
{code}
      if (LOG.isDebugEnabled()) {
        LOG.debug("Storing master key " + key.getKeyId());
      }
{code}
- FILENAME->DB_NAME; leveldb-state-store.ldb -> timeline-state-store.ldb
- default path for state store is the same as time-line store for application 
data. If apps posts massive data in store, will that also affect system data 
seek performance ? If so, we should have a different store path from the one 
for apps.  Or we could force user to configure the path properly and throw 
exception otherwise.

> Timeline server needs to recover the timeline DT when restarting
> ----------------------------------------------------------------
>
>                 Key: YARN-2837
>                 URL: https://issues.apache.org/jira/browse/YARN-2837
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: timelineserver
>            Reporter: Zhijie Shen
>            Assignee: Zhijie Shen
>            Priority: Blocker
>             Fix For: 2.7.0
>
>         Attachments: YARN-2837.1.patch, YARN-2837.2.patch, YARN-2837.3.patch
>
>
> Timeline server needs to recover the stateful information when restarting as 
> RM/NM/JHS does now. So far the stateful information only includes the 
> timeline DT. Without recovery, the timeline DT of the existing YARN apps is 
> not long valid, and cannot be renewed any more after the timeline server is 
> restarted.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to