[ 
https://issues.apache.org/jira/browse/HDFS-2136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13061432#comment-13061432
 ] 

Todd Lipcon commented on HDFS-2136:
-----------------------------------

Yea, that would be great. I think there are three possibilities:

1) use the AOP-based fault injection framework
2) use some static methods (see use of ErrorSimulator in the SecondaryNameNode 
and TransferFsImage classes)
3) refactor the code so that a mock could be injected

Personally, my preference is #2. I've found the AOP-based fault injection tests 
(#1) very difficult to develop and understand, as someone who only looks at 
aspectj code once every few months. They're also easy to forget about since 
they're in a different tree, they're slow to run, etc. #3 is probably ideal but 
I can't think of any refactors that wouldn't be really contrived. Thoughts?

> 1073: Fault injection for StorageDirectory failures during read/write of 
> FSImage/Edits files
> --------------------------------------------------------------------------------------------
>
>                 Key: HDFS-2136
>                 URL: https://issues.apache.org/jira/browse/HDFS-2136
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Matt Foley
>
> Both HDFS-1955 and HDFS-2135 have observed that it is difficult to unit test 
> such failures.  As a result, regression of HDFS-1955 was only found by 
> careful manual review (thanks, atm!).  Since 1073 is making broad changes to 
> the way these files are read and written, and appropriately putting effort 
> into correct error handling, I propose we make also make it possible to 
> auto-test that error handling.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to