[ https://issues.apache.org/jira/browse/TEZ-4609?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ayush Saxena resolved TEZ-4609. ------------------------------- Fix Version/s: 0.10.5 Resolution: Fixed > JDK-17: Fix ByteBuffer mark incompatibility in PipelinedSorter > -------------------------------------------------------------- > > Key: TEZ-4609 > URL: https://issues.apache.org/jira/browse/TEZ-4609 > Project: Apache Tez > Issue Type: Sub-task > Reporter: Ayush Saxena > Assignee: Ayush Saxena > Priority: Major > Fix For: 0.10.5 > > Time Spent: 50m > Remaining Estimate: 0h > > While running with JDK-17 > {noformat} > Iteration 0 failed with diagnostics: [Vertex failed, vertexName=Tokenizer, > vertexId=vertex_1742803884062_0001_1_00, diagnostics=[Task failed, > taskId=task_1742803884062_0001_1_00_000000, diagnostics=[TaskAttempt 0 > failed, info=[Error: Node: ayushsaxena/127.0.0.1 : Encountered an Error while > executing task: > attempt_1742803884062_0001_1_00_000000_0:java.lang.NoSuchMethodError: > java.nio.ByteBuffer.mark()Ljava/nio/ByteBuffer; > at > org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter$SortSpan.<init>(PipelinedSorter.java:949) > at > org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter.<init>(PipelinedSorter.java:230) > at > org.apache.tez.runtime.library.output.OrderedPartitionedKVOutput.start(OrderedPartitionedKVOutput.java:151) > at > org.apache.tez.runtime.library.processor.SimpleProcessor.preOp(SimpleProcessor.java:87) > at > org.apache.tez.runtime.library.processor.SimpleProcessor.run(SimpleProcessor.java:60) > at > org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:381) > at > org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:86) > at > org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:72) > 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:1953) > at > org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:72) > at > org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:42) > at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36) > {noformat} > > *Reason:* > The ByteBuffer.mark() method returns ByteBuffer itself in Java 8, but > starting with JDK 9+, it returns a more specific subclass (like > HeapByteBuffer or DirectByteBuffer), which is incompatible with method > signatures expecting ByteBuffer. > When running the same code in JDK 17, this mismatch triggers a > _NoSuchMethodError_ due to binary incompatibility. -- This message was sent by Atlassian Jira (v8.20.10#820010)