Hello Team,

We are seeing, ArrowUtilSuite test fails with "NoSuchFieldError: chunkSize"
error.

java.lang.NoSuchFieldError: Class io.netty.buffer.PoolArena does not have
member field 'int chunkSize'.

And Netty library does not have field 'int chunkSize' in 4.1.72/74/82/84
even in higher versions too. But Arrow, versions 7.0.0 to 12.0.1, is still
referring to "chunkSize" field.


Error:
{{
error] Uncaught exception when running
org.apache.spark.sql.util.ArrowUtilsSuite: java.lang.NoSuchFieldError:
Class io.netty.buffer.PoolArena does not have member field 'int chunkSize'
[error] sbt.ForkMain$ForkError: java.lang.NoSuchFieldError: Class
io.netty.buffer.PoolArena does not have member field 'int chunkSize'
[error] at
io.netty.buffer.PooledByteBufAllocatorL$InnerAllocator.<init>(PooledByteBufAllocatorL.java:153)
[error] at
io.netty.buffer.PooledByteBufAllocatorL.<init>(PooledByteBufAllocatorL.java:49)
[error] at
org.apache.arrow.memory.NettyAllocationManager.<clinit>(NettyAllocationManager.java:51)
[error] at
org.apache.arrow.memory.DefaultAllocationManagerFactory.<clinit>(DefaultAllocationManagerFactory.java:26)
[error] at java.base/java.lang.Class.forName0(Native Method)
[error] at java.base/java.lang.Class.forName(Class.java:421)
[error] at java.base/java.lang.Class.forName(Class.java:412)
[error] at
org.apache.arrow.memory.DefaultAllocationManagerOption.getFactory(DefaultAllocationManagerOption.java:108)
}}


Source code in Arrow:
{{


try {
  Field f = PooledByteBufAllocator.class.getDeclaredField("directArenas");
  f.setAccessible(true);
  this.directArenas = (PoolArena<ByteBuffer>[]) f.get(this);
} catch (Exception e) {
  throw new RuntimeException("Failure while initializing allocator.
Unable to retrieve direct arenas field.", e);
}

this.chunkSize = *directArenas[0].chunkSize;*

if (memoryLogger.isTraceEnabled()) {
  statusThread = new MemoryStatusThread();
  statusThread.start();


}}


Is this known issue in Spark test suite ArrowUtilSuite?


-- 
Senthil kumar

Reply via email to