The full exception is:
** exception exit: {bad_return_value,{error,{function_clause,[{dict,size,
[{"Key1",
{<<"KeyValue">>,
[{mutation,{column,"property","value",2},undefined}]}}]},
{thrift_protocol,write,2},
{thrift_protocol,struct_write_loop,3},
{thrift_protocol,write,2},
{thrift_client,send_function_call,3},
{thrift_client,'-handle_call/3-fun-0-',3},
{thrift_client,catch_function_exceptions,2},
{thrift_client,handle_call,3}]}}}
7>
=ERROR REPORT==== 30-Apr-2010::15:13:42 ===
** Generic server <0.55.0> terminating
** Last message in was {call,batch_mutate,
["Keyspace1",
{"Key1",
{<<"KeyValue">>,
[{mutation,
{column,"property","value",2},
undefined}]}},
1]}
** When Server state == {state,cassandra_thrift,
{protocol,thrift_binary_protocol,
{binary_protocol,
{transport,thrift_buffered_transport,<0.58.0>},
true,true}},
0}
** Reason for termination ==
** {bad_return_value,
{error,
{function_clause,
[{dict,size,
[{"Key1",
{<<"KeyValue">>,
[{mutation,
{column,"property","value",2},
undefined}]}}]},
{thrift_protocol,write,2},
{thrift_protocol,struct_write_loop,3},
{thrift_protocol,write,2},
{thrift_client,send_function_call,3},
{thrift_client,'-handle_call/3-fun-0-',3},
{thrift_client,catch_function_exceptions,2},
{thrift_client,handle_call,3}]}}}
On Fri, Apr 30, 2010 at 3:21 PM, Jonathan Ellis <[email protected]> wrote:
> You could try asking on the user@ list, but it looks like erlang is
> eating an invalidrequestexception which is not very helpful.
>
> On Fri, Apr 30, 2010 at 8:16 AM, Zubair Quraishi <[email protected]> wrote:
>> I have the following code in Erlang to set a value and then add a
>> property. The first set works but the mutate fails. Can anyone
>> enlighten me?
>> Thanks
>>
>> {ok, C} = thrift_client:start_link("127.0.0.1",9160, cassandra_thrift),
>>
>> Key = "Key1",
>>
>> %
>> % set first property
>> %
>> thrift_client:call( C,
>> 'insert',
>> [ "Keyspace1",
>> Key,
>> #columnPath{column_family="KeyValue", column="value"},
>> "value1",
>> 1,
>> 1
>> ] ),
>>
>> %
>> % set second property ( fails! - why? )
>> %
>> MutationMap =
>> {
>> Key,
>> {
>> <<"KeyValue">>,
>> [
>> #mutation{
>> column_or_supercolumn = #column{ name = "property" , value =
>> "value" , timestamp = 2 }
>> }
>> ]
>> }
>> },
>> thrift_client:call( C,
>> 'batch_mutate',
>> [ "Keyspace1",
>> MutationMap,
>> 1
>> ] )
>>
>> : The error returned is :
>>
>> ** exception exit: {bad_return_value,{error,{function_clause,[{dict,size,
>> [{"Key1",
>>
>> {<<"KeyValue">>,
>>
>> [{mutation,{column,"property","value",2},undefined}]}}]},
>>
>> {thrift_protocol,write,2},
>>
>> {thrift_protocol,struct_write_loop,3},
>>
>> {thrift_protocol,write,2},
>>
>> {thrift_client,send_function_call,3},
>>
>> {thrift_client,'-handle_call/3-fun-0-',3},
>>
>> {thrift_client,catch_function_exceptions,2},
>>
>> {thrift_client,handle_call,3}]}}}
>>
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
>