Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-4220

TimestampWritable.toString throws array index exception sometimes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • None
    • None

    Description

      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.

      Attachments

        1. HIVE-4220.D9669.1.patch
          2 kB
          Phabricator

        Issue Links

          Activity

            People

              navis Navis Ryu
              navis Navis Ryu
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: