【问题标题】:batch_mutate silently failing in Cassandrabatch_mutate 在 Cassandra 中静默失败
【发布时间】:2011-04-09 00:34:03
【问题描述】:

我正在使用节俭界面使用 Cassandra 0.6.5。我正在尝试使用 batch_mutate 方法调用,但是,当我执行它时,我没有收到任何错误消息。这让我相信它有效。当我使用 CLI 检查时,那里什么都没有。我的代码或任何人都可以看到的 mutation_map 格式有问题吗?有什么想法吗?

提前致谢,

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

上面的代码产生(列是name:value@timestamp,value由一个type:和一个实际值的表示组成):

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

【问题讨论】:

    标签: c# cassandra thrift


    【解决方案1】:

    这已被标记为错误,可以在https://issues.apache.org/jira/browse/CASSANDRA-1482关注

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-04
      • 2017-01-10
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多