[ https://issues.apache.org/jira/browse/YARN-2423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14340691#comment-14340691 ]
Robert Kanter commented on YARN-2423: ------------------------------------- If we're concerned that this Java API would change, wouldn't we have the same problem with the REST API? If we can make the REST API compatible, then the Java API would also be compatible and there's no problem; if we can't make the REST API compatible, then the Java API also wouldn't be compatible and we'd have a problem anyway. That said, based on the data model we've created for the new ATS vs what we have in the old ATS, I think making the APIs compatible is going to be very difficult. For instance, we have the very specific entities like Flow, User, Queue, etc, and while we can maybe emulate those with the generic ones in the old ATS, it would get very messy and users would still have to update their code to deal with those. The posting API would be even more problematic for 3rd party AMs; there's a lot of information that will be missing if we somehow get that to work. In the new ATS discussions, we keep saying how we should make it compatible with the old API, but I'm not sure how that's going to work. IMHO, it would be better if we just kept the old ATS and the new ATS separate. When the new ATS is ready to ship, we'd recommend switching to the new one, but the old one would still work with the old API (I suppose we'd have to leave it around for a while, deprecated, before removing it). As it is now, anyone using the current ATS has to write their own REST client and deal with the json on their own; while not super-difficult, it does make using the ATS harder. It would be easier for users who aren't planning on upgrading so quickly to a new Hadoop version with the new ATS, to have this Java API. In any event, I think we should make a final decision on whether or not to add this Java API so we can stop this from being in limbo. It's been basically done since October. > TimelineClient should wrap all GET APIs to facilitate Java users > ---------------------------------------------------------------- > > Key: YARN-2423 > URL: https://issues.apache.org/jira/browse/YARN-2423 > Project: Hadoop YARN > Issue Type: Sub-task > Reporter: Zhijie Shen > Assignee: Robert Kanter > Attachments: YARN-2423.004.patch, YARN-2423.005.patch, > YARN-2423.006.patch, YARN-2423.007.patch, YARN-2423.patch, YARN-2423.patch, > YARN-2423.patch > > > TimelineClient provides the Java method to put timeline entities. It's also > good to wrap over all GET APIs (both entity and domain), and deserialize the > json response into Java POJO objects. -- This message was sent by Atlassian JIRA (v6.3.4#6332)