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

Ahmed Hussein commented on MAPREDUCE-7322:
------------------------------------------

Thanks [~Jim_Brennan] for the reviews.

h4. Unit test Failures:
 * TestConfTest failure is unrelated. It is caused by HADOOP-17571. I see that 
the failure is being discussed there

h4. List of Changes
 * [^MAPREDUCE-7322.009.patch]:
 ** Address checkstyle error by adding javadoc comment to {{package-info.java}}
 ** change log level in {{SpillCallBackPathsFinder}} to debug-level.
 * [^MAPREDUCE-7322.008.patch]:
 ** Address checkstyle errors: add {{package-info.java}}, fix lines more than 
80 characters.
 ** Address findbugs warning about ignored return from {{mkdirs}}.
 * [^MAPREDUCE-7322.007.patch]:
 ** Moved {{TestMRIntermediateDataEncryption}} to 
{{org.apache.hadoop.mapreduce.}}
 ** Change the implementation of {{TestMRIntermediateDataEncryption}} 
generating textInput, then counting the words. The configuration are set in a 
way to guarantee that Spilling is triggered.
 ** I had to disable multiple reducers case (a.k.a. {{"testMultipleReducers", 
2, 4, false}} ) because of the bug reported in MAPREDUCE-7325.
 ** I made some changes in {{RandomTextWriter}} to use {{ThreadLocalRandom}} 
and to expose the random sentence generator.
 ** Created {{org.apache.hadoop.mapreduce.security.SpillCallBackInjector}} 
injecting callbacks while spilling files.
 ** Instead of changing {{CryptoUtils}} - which can be tricky for backward 
compatibility and ecosystem- I preferred adding a new wrapper 
{{org.apache.hadoop.mapreduce.security.IntermediateEncryptedStream}}.
 ** capturing the Spilled files implied changing the calls in: {{MapTask}}, 
{{Merger}}, {{Fetcher}}, {{LocalFetcher}}, {{OnDiskMapOutput}}, 
{{BackupStore}}, {{MergeManagerImpl}}
 ** Added some utility methods in 
{{org.apache.hadoop.mapreduce.util.MRJobConfUtil}} to organize output folders: 
{{setLocalDirectoriesConfigForTesting}}, and 
{{initEncryptedIntermediateConfigsForTesting}}.
 ** Applied initializations to other unit tests related to intermediate data: 
{{TestMROpportunisticMaps}}, {{TestLocalJobSubmission}}, {{TestMerger}}, 
{{TestRecovery}}.
 ** Fixed a bug in the {{JarFinder}} where temporary file was not deleted in 
test-dir
 ** Fixed a bug in {{TestMerger}} which was closing the dfs before Yarn cluster.
 

> revisiting TestMRIntermediateDataEncryption 
> --------------------------------------------
>
>                 Key: MAPREDUCE-7322
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7322
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: job submission, security, test
>            Reporter: Ahmed Hussein
>            Assignee: Ahmed Hussein
>            Priority: Major
>              Labels: patch-available
>         Attachments: MAPREDUCE-7322.001.patch, MAPREDUCE-7322.002.patch, 
> MAPREDUCE-7322.003.patch, MAPREDUCE-7322.004.patch, MAPREDUCE-7322.005.patch, 
> MAPREDUCE-7322.006.patch, MAPREDUCE-7322.007.patch, MAPREDUCE-7322.008.patch, 
> MAPREDUCE-7322.009.patch
>
>
> I was reviewing {{TestMRIntermediateDataEncryption}}. The unit test has 
> actually little to do with encryption.
> I have the following conclusion:
> * Enabling/Disabling {{MRJobConfig.MR_ENCRYPTED_INTERMEDIATE_DATA}} does not 
> change the behavior of the unit test.
> * There are no spill files generated by either mappers/reducers
> * Wrapping I/O streams with Crypto never happens during the execution of the 
> unit test.
> Unless I misunderstand the purpose of that unit test, I suggest that it gets 
> re-implemented so that it validates encryption in spilled intermediate data.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org

Reply via email to