-
Notifications
You must be signed in to change notification settings - Fork 7.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZOOKEEPER-1364: Add orthogonal fault injection mechanism/framework #123
base: master
Are you sure you want to change the base?
Conversation
@yufeldman I really like your ZOOKEEPER-2549 patch, but I think it would be an awesome opportunity of introducing a much needed failure injection framework into ZooKeeper. So, I wrote this patch with your changes as example to see what is your opinion and if we could backport those changes to your PR or at least discuss the introduction of Byteman. IMHO, it would save a lot of changes due by ZK-2549, but I am really open to hear your opinion and concerns. Cheers! 😃 |
@eribeiro I am not sure that critical bug is the place to introduce injection framework to Zookeeper. Can't it be done as a separate JIRA? |
@yufeldman Sure, totally agree about this being a separate issue! 👍 My only concern is that IF we decide to introduce this injection framework into ZK after merging ZOOKEEPER-2549 then some of the mocking and reflection changes introduced by ZOOKEEPER-2549 for the purposes of testing become redundant, so basically we would have to undo parts of it (but not the bug fix, of course). See this PR for a concrete idea of what I am trying to say. But you raised a very important point: ZOOKEEPER-2549 is critical, and delaying its merging is gonna be bad for the project release, IMHO. So, I am all for you keep going your work (congrats, btw) and run this as a future issue. Or whatever the committers find more suitable. /cc @fpj @rgs1 @hanm @phunt |
Good initiative, @eribeiro! This will be a valuable addition to the project. Please keep driving this forward. Regarding dependency between ZOOKEEPER-2549 and ZOOKEEPER-1364, the mock stuff ZOOKEEPER-2549 introduced is localized so it shouldn't take a lot effort to replace that with what to be done in ZOOKEEPER-1364. Since ZOOKEEPER-2549 is in relative good shape to be merged in my opinion here is to get ZOOKEEPER-2549 in first then start iterating on ZOOKEEPER-1364. |
@eribeiro This is still a very important initiative to improve ZooKeeper testing. Are u still interested in working on this? |
ping @eribeiro @yufeldman |
Feel free unless @eribeiro has objections.
Thanks,Yuliya
On Thursday, December 26, 2019, 10:21:09 PM PST, maoling <[email protected]> wrote:
ping @eribeiro @yufeldman
Are you free to refresh this patch? If you don't reply me within ten days, I will pick it up. Of course, the new patch's commit message will also be signed by your name.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Refer to this link for build results (access rights to CI server needed): |
@maoling @yufeldman Sure, no problem you picking up this issue, maoling. :) This is a pretty nice opportunity to see this merged to ZK codebase. Please, count on me to any help/discussion about it, btw. Cheers! |
@eribeiro @yufeldman I take a close look at this issue today, I guess this issue had been fixed
don't have a hang phenomenon, the client got the following:
|
@maoling Are u working on this then? |
…ZooKeeper - **Byteman** is a powerful tool to inject faults during runtime, especially for distributed system - In the future, we can also introduce it into our unit test infra, just as hadoop, cassandra did. [PR-123](#123) is a good starting. - more details in the [ZOOKEEPER-3601](https://issues.apache.org/jira/browse/ZOOKEEPER-3601) Author: maoling <[email protected]> Reviewers: Andor Molnar <[email protected]> Closes #1135 from maoling/ZOOKEEPER-3601
…ZooKeeper - **Byteman** is a powerful tool to inject faults during runtime, especially for distributed system - In the future, we can also introduce it into our unit test infra, just as hadoop, cassandra did. [PR-123](apache#123) is a good starting. - more details in the [ZOOKEEPER-3601](https://issues.apache.org/jira/browse/ZOOKEEPER-3601) Author: maoling <[email protected]> Reviewers: Andor Molnar <[email protected]> Closes apache#1135 from maoling/ZOOKEEPER-3601
…ZooKeeper (#150) - **Byteman** is a powerful tool to inject faults during runtime, especially for distributed system - In the future, we can also introduce it into our unit test infra, just as hadoop, cassandra did. [PR-123](apache#123) is a good starting. - more details in the [ZOOKEEPER-3601](https://issues.apache.org/jira/browse/ZOOKEEPER-3601) Author: maoling <[email protected]> Reviewers: Andor Molnar <[email protected]> Closes apache#1135 from maoling/ZOOKEEPER-3601 Co-authored-by: maoling <[email protected]>
Add Byteman (http://byteman.jboss.org/) as a dependency to ZooKeeper project to enable the dynamic injection of failures.