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

Li Lu commented on YARN-2837:
-----------------------------

Hi [~zjshen], I reviewed your patch. Generally it looks good. I have the 
following comments:

1. If I understand this patch correctly, storing and loading timeline server 
status is asymmetric: stores happen each time 
TimelineDelegationTokenSecretManager's methods are called, while loads only 
happen when TimelineDelegationTokenSecretManagerService starts. This may look 
counterintuitive, but it makes sense because in this way the state store 
service can keep the status updated. One question is, are we planning to 
support more types of status information in the future? Though totally fine for 
now, having separate state store methods may not be a scalable approach if we 
want to support more status info (if we do not, I think it's fine). 

2. The name of MemoryTimelineServerStateStoreService.java looks weird. Other 
similar files are all named as \*TimelineServiceStateStoreService. Seems like a 
typo because the class inside is also named as \*TimelineService\*. (Names are 
too long to notice the difference?)

3. Line 244 of LeveldbTimelineServiceStateStoreService.java is too long. It has 
86 characters. 

4. From Line 291 of LeveldbTimelineServiceStateStoreService.java:
{code}
  /**
   * Creates a domain entity key with column name suffix, of the form
   * TOKEN_MASTER_KEY_ENTRY_PREFIX + sequence number.
   */
{code}
This is inconsistent with the actual case in the code. In the code it shows 
that the master key's key in Leveldb is its key id. 

5. I noticed you made the KeyBuilder class in LeveldbTimelineStore.java to be 
public, and then annotated it as {{@Private}}. Shall we further restrict its 
visibility to YARN only (by {{@LimitedPrivate}})? I think we just need 
KeyBuilder to be "public" to be used by 
LeveldbTimelineServiceStateStoreService, right? 

> 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
>         Attachments: YARN-2837.1.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