incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lucas Nodine <lucasnod...@gmail.com>
Subject Re: batch_mutate silently failing in Cassandra
Date Tue, 07 Sep 2010 20:00:39 GMT
Jonathan,

I have done it successfully with insert, but I have not tried it with
mutate.  I'll give that a try tonight.

Thanks
On Tue, Sep 7, 2010 at 2:54 PM, Jonathan Ellis <jbellis@gmail.com> wrote:

> I would try to get a single hard-coded column to insert, before doing
> something more complex.
>
> You can also enable debug logging on the server and see if that
> matches what you want the client to be doing.
>
> On Tue, Sep 7, 2010 at 9:11 AM, Lucas Nodine <lucasnodine@gmail.com>
> wrote:
> > Hello all,
> >
> > I have posted the following to Stackoverflow, but thought that I would
> also
> > try the list.  If you have any suggestions, please let me know
> >
> > I am working with Cassandra 0.6.5 using the thrift interface. I am trying
> to
> > use the batch_mutate method call, however, when I execute it, I receive
> no
> > error message. This leads me to believe it worked. When I check using the
> > CLI, there is nothing there. Is there something wrong with my code or
> format
> > of the mutation_map that anyone can see? Any ideas?
> >
> > Thanks in advance,
> >
> > LN
> >
> > public void Update(string keyspace, Common.NetworkPackage.MetaAsset ma)
> > {
> >   Dictionary<string, Dictionary<string, List<Mutation>>> package;
> >   Dictionary<string, List<Mutation>> packageEntry;
> >   Dictionary<string, object>.Enumerator en;
> >   List<Mutation> mutList;
> >   Mutation mut;
> >   DateTime now = DateTime.Now;
> >
> >   if(!ma.Fields.ContainsKey("$guid"))
> >     throw new ArgumentException("The field $guid is not present");
> >
> >   mutList = new List<Mutation>();
> >   en = ma.Fields.GetEnumerator();
> >
> >   while(en.MoveNext())
> >   {
> >     if (en.Current.Value == null)
> >       continue;
> >     mut = new Mutation();
> >     mut.Column_or_supercolumn = new ColumnOrSuperColumn();
> >     mut.Column_or_supercolumn.Column = new Column();
> >     mut.Column_or_supercolumn.Column.Name<http://mut.column_or_supercolumn.column.name/>=
_utf8.GetBytes(en.Current.Key);
> >
> >     if (en.Current.Value == null)
> >       mut.Column_or_supercolumn.Column.Value = null;
> >     else
> >       mut.Column_or_supercolumn.Column.Value = ToBytes(en.Current.Value);
> >
> >     mut.Column_or_supercolumn.Column.Timestamp =
> Utilities.Timestamp(now);
> >
> >     mutList.Add(mut);
> >   }
> >
> >   packageEntry = new Dictionary<string, List<Mutation>>();
> >   packageEntry.Add("MetaAsset", mutList);
> >
> >   package = new Dictionary<string, Dictionary<string, List<Mutation>>>();
> >   package.Add((string)ma.Fields["$guid"], packageEntry);
> >
> >   Console.WriteLine(Utilities.ExportBulkMutate("LawOffice", package));
> >
> >   _client.batch_mutate(keyspace, package, ConsistencyLevel.QUORUM);
> > }
> >
> > The above code produces (columns are name:value @ timestamp, value
> consists
> > of a type:and a representation of the actual value):
> >
> > LawOffice : {
> >  Row=08469fba50f448be8943614abd059d10 : {
> >    CF=MetaAsset : {
> >     $guid : String:08469fba50f448be8943614abd059d10 @ 93
> >     $creator : String:Lucas @ 93
> >     $previousversion : String:00000000000000000000000000000000 @ 93
> >     $nextversion : String:00000000000000000000000000000000 @ 93
> >     $etag : String:0 @ 93
> >     $length : Int32:123456789 @ 93
> >     $extension : String:.odt @ 93
> >     $created : DateTime:90 @ 93
> >     $modified : DateTime:90 @ 93
> >     $lastaccess : DateTime:90 @ 93
> >     $title : String:Title @ 93
> >     $tags : List`1:tag1,tag2,tag3 @ 93
> >    }
> >  }
> > }
> >
> >
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
>

Mime
View raw message