2010-09-07 2 views
0

Я работаю с Cassandra 0.6.5, используя интерфейс бережливости. Я пытаюсь использовать вызов метода batch_mutate, однако, когда я его выполняю, я не получаю сообщение об ошибке. Это заставляет меня думать, что это сработало. Когда я проверяю использование CLI, там ничего нет. Что-то не так с моим кодом или форматом mutation_map, что каждый может видеть? Есть идеи?batch_mutate не работает в Cassandra

Спасибо заранее,

Л.Н.

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); 
} 

Приведенные выше код производит (столбцы имя: значение @ временная метка, значение состоит из типа: и представление фактического значения):

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

ответ

Смежные вопросы