-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71555/
-----------------------------------------------------------

Review request for hive, Laszlo Bodor, Ashutosh Chauhan, and Prasanth_J.


Bugs: HIVE-22097
    https://issues.apache.org/jira/browse/HIVE-22097


Repository: hive-git


Description
-------

The following exceptions come when running a query on Java 11:

java.lang.RuntimeException: java.lang.NoSuchFieldException: parentOffset
        at 
org.apache.hadoop.hive.ql.exec.SerializationUtilities$ArrayListSubListSerializer.<init>(SerializationUtilities.java:390)
        at 
org.apache.hadoop.hive.ql.exec.SerializationUtilities$1.create(SerializationUtilities.java:235)
        at 
org.apache.hive.com.esotericsoftware.kryo.pool.KryoPoolQueueImpl.borrow(KryoPoolQueueImpl.java:48)
        at 
org.apache.hadoop.hive.ql.exec.SerializationUtilities.borrowKryo(SerializationUtilities.java:280)
        at 
org.apache.hadoop.hive.ql.exec.Utilities.setBaseWork(Utilities.java:595)
        at 
org.apache.hadoop.hive.ql.exec.Utilities.setMapWork(Utilities.java:587)
        at 
org.apache.hadoop.hive.ql.exec.Utilities.setMapRedWork(Utilities.java:579)
        at 
org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:357)
        at 
org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask.java:159)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:212)
        at 
org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:103)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2317)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1969)
        at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1636)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1396)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1390)
        at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:162)
        at 
org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:223)
        at 
org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:242)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:189)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:408)
        at 
org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:838)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:777)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:696)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
Caused by: java.lang.NoSuchFieldException: parentOffset
        at java.base/java.lang.Class.getDeclaredField(Class.java:2412)
        at 
org.apache.hadoop.hive.ql.exec.SerializationUtilities$ArrayListSubListSerializer.<init>(SerializationUtilities.java:384)
        ... 29 more
    
The internal structure of ArrayList$SubList changed and our serializer fails. 
This serialzier comes from kryo-serializers package where they already updated 
the code. This patch does the some.


Diffs
-----

  ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 
e4d33e82168 


Diff: https://reviews.apache.org/r/71555/diff/1/


Testing
-------

Tested on a real cluster with Java 11.


Thanks,

Attila Magyar

Reply via email to