Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Incomplete
-
2.0.2
-
None
-
None
Description
The documentation for the configuration spark.shuffle.io.preferDirectBufs states that it will force all allocations from Netty to be on-heap but this currently does not happen. The reason is that preferDirect parameter of Netty's PooledByteBufAllocator doesn't completely eliminate use of off heap by Netty. In order to completely stop netty from using off heap memory, we need to set the following system properties:
- io.netty.noUnsafe=true
- io.netty.threadLocalDirectBufferSize=0
The proposal is to set properties (using System.setProperties) when the executor starts (before any of the Netty classes load) or document these properties to hint users on how to completely eliminate Netty' off heap footprint.