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}]}}}