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

Reply via email to