[
https://issues.apache.org/jira/browse/HIVE-4220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phabricator updated HIVE-4220:
------------------------------
Attachment: HIVE-4220.D9669.1.patch
navis requested code review of "HIVE-4220 [jira] TimestampWritable.toString
throws array index exception sometimes".
Reviewers: JIRA
HIVE-4220 TimestampWritable.toString throws array index exception sometimes
org.apache.hive.service.cli.HiveSQLException: java.io.IOException:
java.lang.ArrayIndexOutOfBoundsException: 45
at
org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:215)
at
org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:170)
at
org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:288)
at
org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:348)
at
org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1553)
at
org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1538)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: 45
at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:194)
at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1449)
at
org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:193)
... 11 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 45
at
sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:436)
at
java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2081)
at
java.util.GregorianCalendar.computeFields(GregorianCalendar.java:1996)
at java.util.Calendar.setTimeInMillis(Calendar.java:1110)
at java.util.Calendar.setTime(Calendar.java:1076)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:875)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:868)
at java.text.DateFormat.format(DateFormat.java:316)
at
org.apache.hadoop.hive.serde2.io.TimestampWritable.toString(TimestampWritable.java:327)
at
org.apache.hadoop.hive.serde2.lazy.LazyTimestamp.writeUTF8(LazyTimestamp.java:95)
at
org.apache.hadoop.hive.serde2.lazy.LazyUtils.writePrimitiveUTF8(LazyUtils.java:234)
at
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.serialize(LazySimpleSerDe.java:427)
at
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.serializeField(LazySimpleSerDe.java:381)
at
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.serialize(LazySimpleSerDe.java:365)
at
org.apache.hadoop.hive.ql.exec.ListSinkOperator.processOp(ListSinkOperator.java:96)
at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:487)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:821)
at
org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:487)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:821)
at
org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:90)
at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:487)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:474)
at
org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:468)
at
org.apache.hadoop.hive.ql.exec.FetchTask.fetchAndPush(FetchTask.java:222)
at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:188)
... 13 more
data formatter in TimestampWritable is declared static and shared but it's not
thread-safe.
TEST PLAN
EMPTY
REVISION DETAIL
https://reviews.facebook.net/D9669
AFFECTED FILES
serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java
MANAGE HERALD RULES
https://reviews.facebook.net/herald/view/differential/
WHY DID I GET THIS EMAIL?
https://reviews.facebook.net/herald/transcript/23067/
To: JIRA, navis
> TimestampWritable.toString throws array index exception sometimes
> -----------------------------------------------------------------
>
> Key: HIVE-4220
> URL: https://issues.apache.org/jira/browse/HIVE-4220
> Project: Hive
> Issue Type: Bug
> Reporter: Navis
> Assignee: Navis
> Attachments: HIVE-4220.D9669.1.patch
>
>
> {noformat}
> org.apache.hive.service.cli.HiveSQLException: java.io.IOException:
> java.lang.ArrayIndexOutOfBoundsException: 45
> at
> org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:215)
> at
> org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:170)
> at
> org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:288)
> at
> org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:348)
> at
> org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1553)
> at
> org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1538)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> at
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: 45
> at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:194)
> at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1449)
> at
> org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:193)
> ... 11 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 45
> at
> sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:436)
> at
> java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2081)
> at
> java.util.GregorianCalendar.computeFields(GregorianCalendar.java:1996)
> at java.util.Calendar.setTimeInMillis(Calendar.java:1110)
> at java.util.Calendar.setTime(Calendar.java:1076)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:875)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:868)
> at java.text.DateFormat.format(DateFormat.java:316)
> at
> org.apache.hadoop.hive.serde2.io.TimestampWritable.toString(TimestampWritable.java:327)
> at
> org.apache.hadoop.hive.serde2.lazy.LazyTimestamp.writeUTF8(LazyTimestamp.java:95)
> at
> org.apache.hadoop.hive.serde2.lazy.LazyUtils.writePrimitiveUTF8(LazyUtils.java:234)
> at
> org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.serialize(LazySimpleSerDe.java:427)
> at
> org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.serializeField(LazySimpleSerDe.java:381)
> at
> org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.serialize(LazySimpleSerDe.java:365)
> at
> org.apache.hadoop.hive.ql.exec.ListSinkOperator.processOp(ListSinkOperator.java:96)
> at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:487)
> at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:821)
> at
> org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84)
> at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:487)
> at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:821)
> at
> org.apache.hadoop.hive.ql.exec.TableScanOperator.processOp(TableScanOperator.java:90)
> at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:487)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:474)
> at
> org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:468)
> at
> org.apache.hadoop.hive.ql.exec.FetchTask.fetchAndPush(FetchTask.java:222)
> at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:188)
> ... 13 more
> {noformat}
> data formatter in TimestampWritable is declared static and shared but it's
> not thread-safe.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira