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

Steve Loughran commented on HADOOP-11042:
-----------------------------------------

-sorry for not replying about this; I think I'd missed the patch in my inbox.

Looks good. I was a bit worried about the refactoring but it makes sense -and 
the way the contract tests are designed, FS-specific subclasses will pick up 
the changes without any changes needed to their code (I'll do a test run of the 
s3 and openstack clients just to make sure there before it gets its +1.

# can you switch to using FSExceptionMessages constants for your exception 
text? With the same text everywhere we can simplify documentation and maybe 
even add wiki links in future. 
# testRenameFileBeingAppended()` tries to rename a file that is being written 
to. The patched version doesn't. (to be fair, the expected outcome of that 
operation isn't defined AFAIK). It may be easiest to leave that as is and in 
the subclass, just skip it (ie {{Assume.assumeTrue(false)}})

> CryptoInputStream throwing wrong exception class on errors
> ----------------------------------------------------------
>
>                 Key: HADOOP-11042
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11042
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>            Reporter: Steve Loughran
>            Assignee: Yi Liu
>         Attachments: HADOOP-11042.001.patch
>
>
> Having had a quick look at the {{CryptoInputStream}} class, it's not in sync 
> with all the other filesystem's exception logic, as specified in 
> {{src/site/markdown/filesystem/fsdatainputstream.md}}
> Operations MUST throw an {{IOException}} on out of bounds reads, ideally 
> {{EOFException}} :
> # {{read(byte[] b, int off, int len)}} 
> # {{seek(long pos) }}
> # {{seekToNewSource}}
> The tests you want to extend to verify expected behaviour are in 
> {{AbstractContractOpenTest}} and {{AbstractContractSeekTest}}
> also, the {{HasEnhancedByteBufferAccess}} implementations may want to think 
> about using {{checkStream()}} before acting on a potentially closed stream.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to