[
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)