Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.2.1
-
None
-
None
-
None
Description
we try to alter a column for bigint to double.
Altering was succeed.
when we query from the same table,wo got errors as follow
2016-12-14 17:53:53.660 [main] ERROR com.mogujie.hdata.core.HData - java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 32
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.mogujie.hdata.core.HData.start(HData.java:189)
at com.mogujie.hdata.CliDriver.main(CliDriver.java:175)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 32
at org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryUtils.byteArrayToLong(LazyBinaryUtils.java:78)
at org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryDouble.init(LazyBinaryDouble.java:43)
at org.apache.hadoop.hive.serde2.columnar.ColumnarStructBase$FieldInfo.uncheckedGetField(ColumnarStructBase.java:111)
at org.apache.hadoop.hive.serde2.columnar.ColumnarStructBase.getField(ColumnarStructBase.java:172)
at org.apache.hadoop.hive.serde2.objectinspector.ColumnarStructObjectInspector.getStructFieldData(ColumnarStructObjectInspector.java:67)
at org.apache.hive.hcatalog.data.LazyHCatRecord.get(LazyHCatRecord.java:54)
at org.apache.hive.hcatalog.data.LazyHCatRecord.get(LazyHCatRecord.java:97)
at org.apache.hive.hcatalog.mapreduce.HCatRecordReader.nextKeyValue(HCatRecordReader.java:204)
at org.apache.hive.hcatalog.data.transfer.impl.HCatInputFormatReader$HCatRecordItr.hasNext(HCatInputFormatReader.java:107)
at com.mogujie.hdata.plugin.reader.hive.HiveReader.execute(HiveReader.java:91)
at com.mogujie.hdata.core.ReaderWorker.call(ReaderWorker.java:34)
at com.mogujie.hdata.core.ReaderWorker.call(ReaderWorker.java:16)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)