[ https://issues.apache.org/jira/browse/TEZ-4234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17208189#comment-17208189 ]
Jonathan Turner Eagles commented on TEZ-4234: --------------------------------------------- +1. I think we may find more add-ons to this feature that will continue to gain performance. Perhaps rounding the allocation to (say 8bytes -> 64bits) or setting a minimum on buffer size or finding a more reasonable growth pattern to encourage reuse. > Compressor can cause IllegalArgumentException in Buffer.limit where limit > exceeds capacity > ------------------------------------------------------------------------------------------ > > Key: TEZ-4234 > URL: https://issues.apache.org/jira/browse/TEZ-4234 > Project: Apache Tez > Issue Type: Bug > Reporter: Jonathan Turner Eagles > Assignee: László Bodor > Priority: Blocker > Labels: 0.10_blocker > Fix For: 0.10.0 > > Attachments: TEZ-4234.01.patch, TEZ-4234.02.patch, TEZ-4234.03.patch, > TEZ-4234.repro.patch, TEZ-4234.wip.patch > > > {code} > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:275) > at > org.apache.hadoop.io.compress.lz4.Lz4Compressor.compress(Lz4Compressor.java:240) > at > org.apache.hadoop.io.compress.BlockCompressorStream.compress(BlockCompressorStream.java:149) > at > org.apache.hadoop.io.compress.BlockCompressorStream.write(BlockCompressorStream.java:131) > at > org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:58) > at java.io.DataOutputStream.write(DataOutputStream.java:107) > at > org.apache.tez.runtime.library.common.sort.impl.IFile$Writer.writeKVPair(IFile.java:423) > at > org.apache.tez.runtime.library.common.sort.impl.IFile$Writer.append(IFile.java:392) > at > org.apache.tez.runtime.library.common.sort.impl.dflt.DefaultSorter.spill(DefaultSorter.java:927) > at > org.apache.tez.runtime.library.common.sort.impl.dflt.DefaultSorter.sortAndSpill(DefaultSorter.java:865) > at > org.apache.tez.runtime.library.common.sort.impl.dflt.DefaultSorter.flush(DefaultSorter.java:729) > at > org.apache.tez.runtime.library.output.OrderedPartitionedKVOutput.close(OrderedPartitionedKVOutput.java:191) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.close(LogicalIOProcessorRuntimeTask.java:398) > at > org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:83) > at > org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:61) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:2035) > at > org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:61) > at > org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:37) > at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)