cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Moores <mmoo...@real.com>
Subject ColumnFamilyRecordReader issue
Date Thu, 14 Oct 2010 22:49:27 GMT
My Hadoop TaskTracker is using the Cassandra CplumnFamilyInputFormat, and appears to be finding
records (the data is serialized below in the log output),
but the cassandra Column class is throwing a validation exception indicating "Required field
'clock' was not present!".

My Cassandra cluster version is 0.7-beta2 and i also loaded the same JAR in my hadoop configuration.

So does this point to my client side (hadoop task) possibly using the wrong cassandra version?


MapAttempt TASK_TYPE="MAP" TASKID="task_201010140951_0020_m_000006" TASK_ATTEMPT_ID="attempt_201010140951_0020_m_000006_3"
START_TIME="1287095149722" TRACKER_NAME="tracker_kv-app06\.dev\.real\.com:localhost\.localdomain/127\.0\.0\.1:54957"
HTTP_PORT="50060" .
MapAttempt TASK_TYPE="MAP" TASKID="task_201010140951_0020_m_000006" TASK_ATTEMPT_ID="attempt_201010140951_0020_m_000006_3"
TASK_STATUS="FAILED" FINISH_TIME="1287095154592" HOSTNAME="kv-app06\.dev\.real\.com" ERROR="java\.lang\.RuntimeException:
org\.apache\.thrift\.protocol\.TProtocolException: Required field 'clock' was not present!
Struct: Column(name:69 64, value:6D 65 73 73 61 67 65 2D 70 72 65 66 65 72 65 6E 63 65 73,
clock:null)
        at org\.apache\.cassandra\.hadoop\.ColumnFamilyRecordReader$RowIterator\.maybeInit(ColumnFamilyRecordReader\.java:266)
        at org\.apache\.cassandra\.hadoop\.ColumnFamilyRecordReader$RowIterator\.computeNext(ColumnFamilyRecordReader\.java:281)
        at org\.apache\.cassandra\.hadoop\.ColumnFamilyRecordReader$RowIterator\.computeNext(ColumnFamilyRecordReader\.java:178)
        at com\.google\.common\.collect\.AbstractIterator\.tryToComputeNext(AbstractIterator\.java:136)
        at com\.google\.common\.collect\.AbstractIterator\.hasNext(AbstractIterator\.java:131)
        at org\.apache\.cassandra\.hadoop\.ColumnFamilyRecordReader\.nextKeyValue(ColumnFamilyRecordReader\.java:137)
        at org\.apache\.hadoop\.mapred\.MapTask$NewTrackingRecordReader\.nextKeyValue(MapTask\.java:423)
        at org\.apache\.hadoop\.mapreduce\.MapContext\.nextKeyValue(MapContext\.java:67)
        at org\.apache\.hadoop\.mapreduce\.Mapper\.run(Mapper\.java:143)
        at org\.apache\.hadoop\.mapred\.MapTask\.runNewMapper(MapTask\.java:621)
        at org\.apache\.hadoop\.mapred\.MapTask\.run(MapTask\.java:305)
        at org\.apache\.hadoop\.mapred\.Child\.main(Child\.java:170)
Caused by: org\.apache\.thrift\.protocol\.TProtocolException: Required field 'clock' was not
present! Struct: Column(name:69 64, value:6D 65 73 73 61 67 65 2D 70 72 65 66 65 72 65 6E
63 65 73, clock:null)
        at org\.apache\.cassandra\.thrift\.Column\.validate(Column\.java:615)
        at org\.apache\.cassandra\.thrift\.Column\.read(Column\.java:527)
        at org\.apache\.cassandra\.thrift\.ColumnOrSuperColumn\.read(ColumnOrSuperColumn\.java:351)
        at org\.apache\.cassandra\.thrift\.KeySlice\.read(KeySlice\.java:391)
        at org\.apache\.cassandra\.thrift\.Cassandra$get_range_slices_result\.read(Cassandra\.java:11859)
        at org\.apache\.cassandra\.thrift\.Cassandra$Client\.recv_get_range_slices(Cassandra\.java:743)
        at org\.apache\.cassandra\.thrift\.Cassandra$Client\.get_range_slices(Cassandra\.java:715)
        at org\.apache\.cassandra\.hadoop\.ColumnFamilyRecordReader$RowIterator\.maybeInit(ColumnFamilyRecordReader\.java:244)
Mime
View raw message