Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
In some environments unit tests are failing with the error below.
Exception in thread "WorkManager-1" Exception in thread "WorkManager-4" java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:658)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306)
at io.netty.buffer.PoolArenaL$DirectArena.newUnpooledChunk(PoolArenaL.java:387)
at io.netty.buffer.PoolArenaL.allocateHuge(PoolArenaL.java:152)
at io.netty.buffer.PoolArenaL.allocate(PoolArenaL.java:129)
at io.netty.buffer.PoolArenaL.allocate(PoolArenaL.java:95)
at io.netty.buffer.PooledByteBufAllocatorL.newDirectBuffer(PooledByteBufAllocatorL.java:236)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:132)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:123)
at org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.buffer(TopLevelAllocator.java:94)
at org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.buffer(TopLevelAllocator.java:101)
at org.apache.drill.exec.vector.VarBinaryVector.allocateNew(VarBinaryVector.java:234)
at org.apache.drill.exec.vector.allocator.VariableEstimatedVector.alloc(VariableEstimatedVector.java:33)
at org.apache.drill.exec.physical.impl.partitionsender.OutgoingRecordBatch.flush(OutgoingRecordBatch.java:151)
at org.apache.drill.exec.physical.impl.partitionsender.PartitionSenderRootExec.next(PartitionSenderRootExec.java:102)
at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Exception in thread "WorkManager-3" java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:658)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306)
at io.netty.buffer.PoolArenaL$DirectArena.newUnpooledChunk(PoolArenaL.java:387)
at io.netty.buffer.PoolArenaL.allocateHuge(PoolArenaL.java:152)
at io.netty.buffer.PoolArenaL.allocate(PoolArenaL.java:129)
at io.netty.buffer.PoolArenaL.allocate(PoolArenaL.java:95)
at io.netty.buffer.PooledByteBufAllocatorL.newDirectBuffer(PooledByteBufAllocatorL.java:236)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:132)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:123)
at org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.buffer(TopLevelAllocator.java:94)
at org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.buffer(TopLevelAllocator.java:101)
at org.apache.drill.exec.vector.VarBinaryVector.allocateNew(VarBinaryVector.java:234)
at org.apache.drill.exec.vector.allocator.VariableEstimatedVector.alloc(VariableEstimatedVector.java:33)
at org.apache.drill.exec.physical.impl.partitionsender.OutgoingRecordBatch.flush(OutgoingRecordBatch.java:151)
at org.apache.drill.exec.physical.impl.partitionsender.PartitionSenderRootExec.next(PartitionSenderRootExec.java:102)
at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
java.lang.OutOfMemoryError: Direct buffer memory
at java.nio.Bits.reserveMemory(Bits.java:658)
at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123)
at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:306)
at io.netty.buffer.PoolArenaL$DirectArena.newUnpooledChunk(PoolArenaL.java:387)
at io.netty.buffer.PoolArenaL.allocateHuge(PoolArenaL.java:152)
at io.netty.buffer.PoolArenaL.allocate(PoolArenaL.java:129)
at io.netty.buffer.PoolArenaL.allocate(PoolArenaL.java:95)
at io.netty.buffer.PooledByteBufAllocatorL.newDirectBuffer(PooledByteBufAllocatorL.java:236)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:132)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:123)
at org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.buffer(TopLevelAllocator.java:94)
at org.apache.drill.exec.memory.TopLevelAllocator$ChildAllocator.buffer(TopLevelAllocator.java:101)
at org.apache.drill.exec.vector.VarBinaryVector.allocateNew(VarBinaryVector.java:234)
at org.apache.drill.exec.vector.allocator.VariableEstimatedVector.alloc(VariableEstimatedVector.java:33)
at org.apache.drill.exec.physical.impl.partitionsender.OutgoingRecordBatch.flush(OutgoingRecordBatch.java:151)
at org.apache.drill.exec.physical.impl.partitionsender.PartitionSenderRootExec.next(PartitionSenderRootExec.java:102)
at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:83)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)