[ https://issues.apache.org/jira/browse/YARN-4604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15106338#comment-15106338 ]
Varun Saxena commented on YARN-4604: ------------------------------------ Copying over my comment from YARN-4596. bq. It should at least let the client side know which entities have been posted to the timeline server, and which ones haven't. *None of the entities will get posted to backend store.* *BadRequestException* is thrown during entity preprocessing phase. Not during store put. We first collect all the applicable entities which can be posted and then only call {{TimelineStore#put}}. We are not calling put from within the loop. Refer to {{TimelineDataManager#doPostEntities}}. It can although be argued that we can post entities which can be and send a put error(new error type) for the entity which has no entity id or entity type. But if we do not have entity id or type, how will client recognize which specific entity has failed from put error ? Maybe they can cache entities which they have sent and then re-look at entities they attempted to post and find out which ones had entity id and entity type missing. But will client be doing so ? Current clients would be looking at entity id and type to find out which entities failed and why. Entity ID and type are key pieces of information in ATSv1. If client is not sending them, it indicates some problem in the client side code. I think current code can be kept as it is because this will be consistent with {{TimelineClient}} side code too where none of the entities will be posted if entity id or type is missing in even one of them. Thoughts ? > TimelineDataManager should return gracefully when one entity's id or type is > empty > ---------------------------------------------------------------------------------- > > Key: YARN-4604 > URL: https://issues.apache.org/jira/browse/YARN-4604 > Project: Hadoop YARN > Issue Type: Bug > Reporter: Li Lu > Assignee: Li Lu > > As discussed in YARN-4596, when the timeline data manager hit one entity > whose id and/or type fields are empty, it should not directly throw > exception. It should at least let the client side know which entities have > been posted to the timeline server, and which ones haven't. -- This message was sent by Atlassian JIRA (v6.3.4#6332)