Joep Rottinghuis created YARN-5170:
--------------------------------------

             Summary: Eliminate singleton converters and static method access
                 Key: YARN-5170
                 URL: https://issues.apache.org/jira/browse/YARN-5170
             Project: Hadoop YARN
          Issue Type: Sub-task
          Components: timelineserver
            Reporter: Joep Rottinghuis
            Assignee: Joep Rottinghuis


As part of YARN-5109 we introduced several KeyConverter classes.
To stay consistent with the existing LongConverter in the sample patch I 
created I made these other converter classes singleton as well.

In conversation with [~sjlee0] who has a general dislike of singletons, we 
discussed it is best to get rid of these singletons and make them simply 
instance variables.

There are other classes where the keys have static methods referring to a 
singleton converter.
Moreover, it turns out that due to code evolution we end up creating the same 
keys several times.
So general approach is to not re-instantiate rowkeys, converters when not 
needed.
I would like to create the byte[] rowKey in the RowKey classes their 
constructor, but that would leak an incomplete object to the converter.

There are a few method in TimelineStorageUtils that are used only once, or only 
by one class, as part of this refactor I'll move these to keep the "Utils" 
class as small as possible and keep them for truly generally used utils that 
don't really belong anywhere else.



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

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

Reply via email to