[ https://issues.apache.org/jira/browse/HADOOP-4652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12694351#action_12694351 ]
Chris Douglas commented on HADOOP-4652: --------------------------------------- This will be an excellent addition. Just a few questions/comments/nits: * RAGZIPException doesn't seem necessary. In the current patch its only special use is commented out in AccessPointController. Would IOException be sufficient? * TestRAGZIPInputFormat crashed using an old version of zlib: {noformat} [junit] Running org.apache.hadoop.mapred.TestRAGZIPInputFormat [junit] # [junit] # An unexpected error has been detected by Java Runtime Environment: [junit] # [junit] # SIGSEGV (0xb) at pc=0x0000002a95f01d4d, pid=2055, tid=1076017504 [junit] # [junit] # Java VM: Java HotSpot(TM) 64-Bit Server VM (11.0-b15 mixed mode linux-amd64) [junit] # Problematic frame: [junit] # V [libjvm.so+0x33cd4d] [junit] # [junit] # An error report file with more information is saved as: [junit] # /snip/hadoop/hs_err_pid2055.log [junit] # [junit] # If you would like to submit a bug report, please visit: [junit] # http://java.sun.com/webapps/bugreport/crash.jsp [junit] # [junit] Running org.apache.hadoop.mapred.TestRAGZIPInputFormat [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec [junit] Test org.apache.hadoop.mapred.TestRAGZIPInputFormat FAILED (crashed) {noformat} It would be better if this could read the zlib version and throw an exception if it attempts to use unsupported features (assuming this is the cause of the crash). * The RAGZIP\* classes (and classes added to lib) probably belong in a new package, mapred.lib.zip or something similar. * It's worth mentioning that much of the mapred package is deprecated; it's worth considering how this might be written using the classes in the o.a.h.mapreduce package (HADOOP-1230). Not as part of this patch, of course, but in the future. * HADOOP-5406 seems to only affect the Compressor, and this only uses ZlibDecompressor::setDictionary; it doesn't affect this patch, right? * AccessPointController::existMetaFileOfSameSpanSize seems to have no callers and is probably too tolerant of exceptions. Even after reading the javadoc, I'm still unsure of its purpose. * Why do the TestRAGZIPInputFormat tests ignore NullPointerException? * ZlibDecompressor:426 should call {{init(AUTODETECT_GZIP_ZLIB)}} instead of {{init(47)}} > RAgzip: multiple map tasks for a large gzipped file > --------------------------------------------------- > > Key: HADOOP-4652 > URL: https://issues.apache.org/jira/browse/HADOOP-4652 > Project: Hadoop Core > Issue Type: Improvement > Components: io, mapred, native > Affects Versions: 0.18.3, 0.19.0 > Reporter: Daehyun Kim > Assignee: Daehyun Kim > Priority: Minor > Attachments: HADOOP-4652-v2.patch, HADOOP-4652-v3.patch, > HADOOP-4652.path > > > Currently, the hadoop processes gzipped files with only one map. > We have made a patch that enables multiple map tasks for one large gzipped > file. We call the patch RAgzip. > To process multiple map tasks for gzipped file, you may use RAgzip by just > changing InputFormat to RAGZIPInputFormat. > The option used in RAGZIPInputFormat can be found at the javadoc of > RAGZIPInputFormat part. > RAgzip uses zlib's inflatePrime function which supports random access on a > gzipped file. > Since the inflatePrime is supported from the version of 1.2.2.4, it requires > zlib 1.2.2.4 or higher. (We tested on zlib 1.2.3) > RAgzip requires the preprocessing step that creates an access point (.ap) > file, which is like the index of the gzipped file chunks. > The access point(.ap) file is located in same path of the gzipped file. > If there is a "/user/hadoop/test.gz", the .ap file is created with > "/user/hadoop/test.gz.ap". -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.