Closed hongchaodeng closed 9 years ago
I pulled down you code, and try to fix the issue. I notice there are still problems. children := t.framework.GetTopology().GetChildren(t.epoch) 199: if len(children) != 0 { t.framework.FlagChildMetaReady("ParamReady") } else {
the logic is wrong, it should be len(children) == 0 means if there is no children for this node, it should flag as child it is ready. but If we do this change, it start to hang again. I suspect before this, it dummySlave is never called really.
@xiaoyunwu Could you clarify the expected workflow and what functions in dummySlave should be called?
Hi, I wrote up the event flow of a path in a tree setup in the wiki:
https://github.com/go-distributed/meritop/wiki/Event-Flow-of-a-Spark-setup
Let me know if you still have questions.
Just an update on this: The logic is correct, but previously dummyData was trying to do json marshal but didn't expose public fields.
Fixed now.
Note that this PR will only fix the workflow and logical problem. It didn't implement complete set of regression test. Xiaoyun will be responsible to take it over and finish table driven testing.
lgtm
@xiang90
I will merge this and continue the work on more complex regression test :)
@xiang90 @xiaoyunwu
This patch will fix the stuck situation of regression framework test:
Limitation: Currently both meta and epoch will be watched from index 1. It means replay the entire history. Version support to resume work should be done later.