Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-2981

Provide Hadoop read access to Counter Columns.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 0.8.3
    • None
    • None

    Description

      o.a.c.Hadoop.ColumnFamilyRecordReader does not test for counter columns, which are different objects in the ColumnOrSuperColumn struct. Currently it raises an error as it thinks it's a super column

      2011-07-26 17:23:34,376 ERROR CliDriver (SessionState.java:printError(343)) - Failed with exception java.io.IOException:java.lang.NullPointerException
      java.io.IOException: java.lang.NullPointerException
      	at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:341)
      	at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:133)
      	at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:1114)
      	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:187)
      	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:241)
      	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:456)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
      Caused by: java.lang.NullPointerException
      	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.unthriftifySuper(ColumnFamilyRecordReader.java:303)
      	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.unthriftify(ColumnFamilyRecordReader.java:297)
      	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.computeNext(ColumnFamilyRecordReader.java:288)
      	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader$RowIterator.computeNext(ColumnFamilyRecordReader.java:177)
      	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
      	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
      	at org.apache.cassandra.hadoop.ColumnFamilyRecordReader.nextKeyValue(ColumnFamilyRecordReader.java:136)
      	at org.apache.hadoop.hive.cassandra.input.HiveCassandraStandardColumnInputFormat$2.next(HiveCassandraStandardColumnInputFormat.java:153)
      	at org.apache.hadoop.hive.cassandra.input.HiveCassandraStandardColumnInputFormat$2.next(HiveCassandraStandardColumnInputFormat.java:111)
      	at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:326)
      	... 10 more
      

      My plan is to return o.a.c.db.CounterColumn objects just like the o.a.c.db.Column and SuperColumn that are returned.

      Attachments

        Activity

          People

            amorton Aaron Morton
            amorton Aaron Morton
            Aaron Morton
            Jonathan Ellis
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: