Hive
  1. Hive
  2. HIVE-4220

TimestampWritable.toString throws array index exception sometimes

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      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.

        Issue Links

          Activity

          Navis created issue -
          Navis made changes -
          Field Original Value New Value
          Status Open [ 1 ] Patch Available [ 10002 ]
          Phabricator made changes -
          Attachment HIVE-4220.D9669.1.patch [ 12574981 ]
          Navis made changes -
          Link This issue duplicates HIVE-4516 [ HIVE-4516 ]
          Navis made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Resolution Duplicate [ 3 ]

            People

            • Assignee:
              Navis
              Reporter:
              Navis
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development