Turn up the logging to DEBUG level (in config/log4-server.properties) and check that you are sending what you think you are. 

Aaron

On 08 Sep, 2010,at 02: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 = _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 
   } 
 } 
}