[
https://issues.apache.org/jira/browse/YARN-4675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15834758#comment-15834758
]
Varun Saxena commented on YARN-4675:
------------------------------------
# There is a bit of connection related duplicate code in TimelineClientImpl and
TimelineClientV2Impl#serviceInit. I think we can turn TimelineClientHelper into
a service (or a standalone class whose instance can be created) which can be
initialized and stopped (to do the cleanup). We can encapsulate all Jersey
client related stuff and connection retry logic in this class. If timeline
client implementations want to access something from this class, we can provide
relevant getters. I think this would be more cleaner.
# There are a lot of variables in both TimelineClientImpl and
TimelineClientV2Impl which need not be class member variables as they are not
referred to only during initialization.
# I agree in principle with the comment above i.e. to reduce the visibility of
TimelineClient*Impl constructor. I think we can move the classes to same
package as TimelineClient and TimelineV2Client. As TimelineClientImpl is
annotated as Private, this should be fine, backward compatibility wise as well.
# In MRAppMaster#RunningAppContext, the comment over getTimelineClient method
isn't suitable.
# ApplicationMaster Line 302, timelineV2Client need not be made visible for
testing.
# We will reuse TimelineClientConnectionRetry for V2 as well so I think its
fine to move it.
# TimelineV2Client, Line 35, we should say @see TimelineV2Client instead of
TimelineClient
# In TimelineClient we had the below javadoc which has been removed in the
patch. It was wrongly placed over contextAppId before. But the javadoc need not
be removed. It should be placed over method createTimelineClient.
{code}
49 /**
50 * Create a timeline client. The current UGI when the user initialize
the
51 * client will be used to do the put and the delegation token
operations. The
52 * current user may use {@link UserGroupInformation#doAs} another
user to
53 * construct and initialize a timeline client if the following
operations are
54 * supposed to be conducted by that user.
55 */
{code}
# TimelineClient Line 42, it should be @see TimelineClient. In the preceding
line, maybe no need of space between time and line.
> Reorganize TimeClientImpl into TimeClientV1Impl and TimeClientV2Impl
> --------------------------------------------------------------------
>
> Key: YARN-4675
> URL: https://issues.apache.org/jira/browse/YARN-4675
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: timelineserver
> Reporter: Naganarasimha G R
> Assignee: Naganarasimha G R
> Labels: YARN-5355, yarn-5355-merge-blocker
> Attachments: YARN-4675.v2.002.patch, YARN-4675.v2.003.patch,
> YARN-4675.v2.004.patch, YARN-4675-YARN-2928.v1.001.patch
>
>
> We need to reorganize TimeClientImpl into TimeClientV1Impl ,
> TimeClientV2Impl and if required a base class, so that its clear which part
> of the code belongs to which version and thus better maintainable.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]