|
[
Permlink
| « Hide
]
Konstantin Boudnik added a comment - 04/Jun/09 09:56 PM
I would like to propose the following initial requirements for Fault Injection (FI) solution for Hadoop:
Here's an overall proposition of the framework layout:
Some examples of new build/test execution interface: To weave (build-in) aspects in place:
To execute HDFS tests (turn everything off, but BlockReceiver faults, which set at 10% level):
My patch is pretty much ready and requires a couple of libraries to be added to the Hadoop project. These libraries aren't associated with any of Apache's projects: they are under Eclipse Software License and are distributed from their website.
I'm not sure what is the 'rule of thumb' to add the libraries to ivy configuration for Hadoop? Or shall they be added statically, e.g. into SVN repository? I assume that the latter is a bad idea generally, which leaves us with the former option. Can any of the watchers comment on this, please? >% ant run-test-hdfs -DallFaultProbability=0 -DBlockReceiverFaultProbability=10
The naming convention may be better to have something like fault.probability.*, fault.probability.datanode.BlockReceiver, etc. Thanks for the suggestion, Nicholas. I like your way (the prefixing with
fault.probability) better and I'm putting it into the patch right away. As for suffix of the name it'd be completely up to the aspects developers to It seems that none of current Maven repos have AspectJ1.6.4 in place. The latest version available is 1.5.4, which won't work because Hadoop is Java6 project.
Any idea how to add a latest version of a library to a Maven repository? we can file a jira with codehaus with the location of the aspectj jar file and its pom , so they can help us in uploading the latest version of aspectj to the mvn repository.
BTW I see different aspectj jar file in here .. some of them are at version-1.5.4 and some are at version 1.6.4 Could you please mention the name of the aspectj jar that you are lookin for? Great! Thanks for the pointer - I saw only 1.5.4 in there and somehow missed the latest version. It worked, so I will publish the patch shortly.
Fault Injection Framework How to and faults development guide
Very cool stuff! And the guide is very helpful. I have some questions from the user gide.
Can you pl explain the above line in detail, what it means, etc. Things like "pointcut", "withincode", are these aspectJ constructs? what is the intention of the above line? Thanks. Document is updated with additional explanations for the meaning of an aspect's specifics such as pointcut and all.
Thank you for the review, Dhruba! Yes, the guide is very useful for aop test development. We should check in the doc.
Dhruba, where should we put the doc? Any idea? I have created some aop tests in HDFS-483 for testing pipeline.
I'd imagine that we can check in test related documents and examples into src/docs/test so that would be generated into Hdfs' documentation by Forrest.
Also, it'd be great to have a set of examples to demonstrate different techniques of fault injection development for tests. Nicholas' HDFS-483 is a great start! > Dhruba, where should we put the doc? Any idea?
Docs typically go into src/docs. But we want the doc in an editable and open format. The pdf format is not editable. One option is to convert it into forrest xml and check it into src/docs/src/documentation/content/xdocs. The PDF format has been chosen for a convenience of future readers. I think your suggestion is valid - I'll open a separate JIRA for this and will take care about the conversion.
Yes, the doc should be converted to forrest and put in src/docs/src/documentation/content/xdocs
It has been already done - please see
I believe that all aspects of this JIRA were addressed by an appropriate subtasks. Thus, I propose to resolve this umbrella JIRA as 'Fixed'
> ... I propose to resolve this umbrella JIRA as 'Fixed'
+1 Closing this since all subtasks are fixed.
Editorial pass over all release notes prior to publication of 0.21.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||