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

CqlPaging for hadoop fails when writetime(column_name) is set as one of the input columns

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Won't Fix
    • 2.0.10
    • None
    • ubuntu 12.04, hadoop 1.0.3, cassandra-1.2.13

    • Normal

    Description

      InvalidRequestException thrown when running a hadoop job with CqlPaging with writetime(column_name) set as one of the input columns.

      java.lang.RuntimeException
      at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:665)
      at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.<init>(CqlPagingRecordReader.java:301)
      at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader.initialize(CqlPagingRecordReader.java:167)
      at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:522)
      at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763)
      at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370)
      at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.Subject.doAs(Subject.java:415)
      at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
      at org.apache.hadoop.mapred.Child.main(Child.java:249)
      Caused by: InvalidRequestException(why:Undefined name WRITETIME(foo) in selection clause)
      at org.apache.cassandra.thrift.Cassandra$prepare_cql3_query_result.read(Cassandra.java:40395)
      at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
      at org.apache.cassandra.thrift.Cassandra$Client.recv_prepare_cql3_query(Cassandra.java:1660)
      at org.apache.cassandra.thrift.Cassandra$Client.prepare_cql3_query(Cassandra.java:1646)
      at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.prepareQuery(CqlPagingRecordReader.java:605)
      at org.apache.cassandra.hadoop.cql3.CqlPagingRecordReader$RowIterator.executeQuery(CqlPagingRecordReader.java:635)
      ... 10 more

      The hadoop config lines look as such:
      //read input from cassandra column family using CQL Input Format
      job.setInputFormatClass(CqlPagingInputFormat.class);
      ConfigHelper.setInputColumnFamily(job.getConfiguration(), KEYSPACE, INPUT_COLUMN_FAMILY);
      ConfigHelper.setInputRpcPort(job.getConfiguration(), "9160");
      ConfigHelper.setInputInitialAddress(job.getConfiguration(), HOST);
      ConfigHelper.setInputPartitioner(job.getConfiguration(), "RandomPartitioner");
      CqlConfigHelper.setInputColumns(job.getConfiguration(), "foo,WRITETIME(foo)");
      job.getConfiguration().set("cassandra.consistencylevel.read", READ_CONSISTENCY);
      CqlConfigHelper.setInputCQLPageRowSize(job.getConfiguration(), "3000");

      Attachments

        1. 6513_v1.txt
          1 kB
          Ala' Alkhaldi
        2. 6513-v2.txt
          3 kB
          Jonathan Ellis
        3. 6513-v3.txt
          0.8 kB
          Ala' Alkhaldi

        Issue Links

          Activity

            People

              ala.alkhaldi Ala' Alkhaldi
              sgosrani Sheetal Gosrani
              Ala' Alkhaldi
              Brandon Williams
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: