[ 
https://issues.apache.org/jira/browse/HADOOP-10603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yi Liu updated HADOOP-10603:
----------------------------

    Attachment: HADOOP-10603.9.patch

Hi [~andrew.wang], I update the patch and merge test cases from HADOOP-10617.  
The test cases cover all functionality of crypto streams.
The new patch address all your and Charles’ comments, excluding following items 
(Not get enough time :-)), if I missed some, please correct me.
* Test for {{calculateIV}}
* Test for {{so I'd prefer to see a Precondition check and inBuf.remaining() == 
padding). Test case would be nice if I'm right about this.}}
* An ASCII art diagram showing how padding and the stream offset works would 
also be nice. Javadoc for the special padding handling would be nice.
* {quote}
      We need to return -1 on EOF for zero-byte reads, see HDFS-5762.
     {quote}
I see I handle this already? If the underlying stream return -1, we will return 
-1. I will add test case for this.
* Comment in skip about why we subtract then add outBuffer.remaining() would be 
good.

Please help to review. The new patch also includes some 
interfaces/implementation refining. Meanwhile, I will update for above items in 
next patch together with the new comments if you have. Thanks.

> Crypto input and output streams implementing Hadoop stream interfaces
> ---------------------------------------------------------------------
>
>                 Key: HADOOP-10603
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10603
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: security
>    Affects Versions: fs-encryption (HADOOP-10150 and HDFS-6134)
>            Reporter: Alejandro Abdelnur
>            Assignee: Yi Liu
>             Fix For: fs-encryption (HADOOP-10150 and HDFS-6134)
>
>         Attachments: CryptoInputStream.java, CryptoOutputStream.java, 
> HADOOP-10603.1.patch, HADOOP-10603.2.patch, HADOOP-10603.3.patch, 
> HADOOP-10603.4.patch, HADOOP-10603.5.patch, HADOOP-10603.6.patch, 
> HADOOP-10603.7.patch, HADOOP-10603.8.patch, HADOOP-10603.9.patch, 
> HADOOP-10603.patch
>
>
> A common set of Crypto Input/Output streams. They would be used by 
> CryptoFileSystem, HDFS encryption, MapReduce intermediate data and spills. 
> Note we cannot use the JDK Cipher Input/Output streams directly because we 
> need to support the additional interfaces that the Hadoop FileSystem streams 
> implement (Seekable, PositionedReadable, ByteBufferReadable, 
> HasFileDescriptor, CanSetDropBehind, CanSetReadahead, 
> HasEnhancedByteBufferAccess, Syncable, CanSetDropBehind).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to