You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Patrik Modesto <pa...@gmail.com> on 2011/10/20 11:14:56 UTC

after upgrade to 0.8.7: InvalidRequestException(why:Column timestamp is required)

Hi,

I've a 4 node cluster of cassandra 0.8.7 (upgraded just recently from
0.7.8). Upgrade went smothly, no problem with the data.

Problem are my MapReduce tasks. The all report:

java.io.IOException: InvalidRequestException(why:Column timestamp is required)
        at org.apache.cassandra.hadoop.ColumnFamilyRecordWriter$RangeClient.run(ColumnFamilyRecordWriter.java:310)
Caused by: InvalidRequestException(why:Column timestamp is required)
        at org.apache.cassandra.thrift.Cassandra$batch_mutate_result.read(Cassandra.java:19479)
        at org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:1035)
        at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:1009)
        at org.apache.cassandra.hadoop.ColumnFamilyRecordWriter$RangeClient.run(ColumnFamilyRecordWriter.java:302)

or

java.io.IOException: InvalidRequestException(why:Deletion timestamp is
not optional for non commutative column family PageData)
        at org.apache.cassandra.hadoop.ColumnFamilyRecordWriter$RangeClient.run(ColumnFamilyRecordWriter.java:310)
Caused by: InvalidRequestException(why:Deletion timestamp is not
optional for non commutative column family PageData)
        at org.apache.cassandra.thrift.Cassandra$batch_mutate_result.read(Cassandra.java:19479)
        at org.apache.cassandra.thrift.Cassandra$Client.recv_batch_mutate(Cassandra.java:1035)
        at org.apache.cassandra.thrift.Cassandra$Client.batch_mutate(Cassandra.java:1009)
        at org.apache.cassandra.hadoop.ColumnFamilyRecordWriter$RangeClient.run(ColumnFamilyRecordWriter.java:302)

I only changed dependency in pom.xml on cassaandra-all 0.8.7 and
replaced .avro. with .thift. where needed. No compilation error. The
tasks run well with cassandra 0.7.x here on test and on the production
cluster.

I see there is a change in cassandra.thrift but it's I'm not using it
in the java application.

Can anybody help?

Regards,
Patrik

Re: [SOLVED] Re: after upgrade to 0.8.7: InvalidRequestException(why:Column timestamp is required)

Posted by Edward Capriolo <ed...@gmail.com>.
I have noticed this too. Apparently it is a thrift code generation thing.

On Thu, Oct 20, 2011 at 5:33 AM, Patrik Modesto <pa...@gmail.com>wrote:

> As usually happen, I've found the problem just after I sent the
> question. I have to use setters for setting values to thrift.*
> classes.
>
> So instead of:
> Deletion d = new Deletion();
> d.timestamp = 11111;
>
> use:
> Deletion d = new Deletion();
> d.setTimestamp(11111);
>
> etc.
>
> Regards,
> Patrik
>

[SOLVED] Re: after upgrade to 0.8.7: InvalidRequestException(why:Column timestamp is required)

Posted by Patrik Modesto <pa...@gmail.com>.
As usually happen, I've found the problem just after I sent the
question. I have to use setters for setting values to thrift.*
classes.

So instead of:
Deletion d = new Deletion();
d.timestamp = 11111;

use:
Deletion d = new Deletion();
d.setTimestamp(11111);

etc.

Regards,
Patrik