[
https://issues.apache.org/jira/browse/YARN-1222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13814596#comment-13814596
]
Karthik Kambatla commented on YARN-1222:
----------------------------------------
bq. Thinking aloud, using HAServiceTarget in RMStateStore to
transitionToStandby() may not be the right solution.
My bad. I should have explained the choice. Post YARN-1318, I think
RMStateStore constructor should take RMContext. Then, we should be able to
replace the RPC approach with rmContext.getHAService.transitionToStandby().
bq. The store should inform the higher entity about the fenced state and not
take action on the higher entity by fencing it.
I think it is a trade-off between pushing higher-level concepts like HA down
versus spreading the logic of handling the FencedException across multiple
entities. If we push it all the way down to the store implementation
(ZKRMStateStore), we can get away with handling at one location. The other
extreme would be to handle it at every location where a store operation is
triggered. I think handling it in RMStateStore and not an implementation is a
good compromise. A completely different approach might to be keep
{{handleStoreFencedException()}} in {{ResourceManager}} and the store
implementation to call it when it realizes it got fenced. Thoughts?
> Make improvements in ZKRMStateStore for fencing
> -----------------------------------------------
>
> Key: YARN-1222
> URL: https://issues.apache.org/jira/browse/YARN-1222
> Project: Hadoop YARN
> Issue Type: Sub-task
> Reporter: Bikas Saha
> Assignee: Karthik Kambatla
> Attachments: yarn-1222-1.patch, yarn-1222-2.patch, yarn-1222-3.patch,
> yarn-1222-4.patch, yarn-1222-5.patch
>
>
> Using multi-operations for every ZK interaction.
> In every operation, automatically creating/deleting a lock znode that is the
> child of the root znode. This is to achieve fencing by modifying the
> create/delete permissions on the root znode.
--
This message was sent by Atlassian JIRA
(v6.1#6144)