[ 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