竞争条件警告OpenTSDB

时间:2013-08-21 10:00:00

标签: hadoop hbase apache-zookeeper opentsdb

我在同时向openTSDB运行多个导入时收到竞争条件警告。以下是显示竞争条件的日志序列之一。

  

2013-08-21 14:34:24,745 INFO [main] UniqueId:为...创建ID   kind ='tagv'name ='25447'

     

2013-08-21 14:34:24,747 INFO [main] UniqueId:得到ID = 307 for   kind ='tagv'name ='25447'

     

2013-08-21 14:34:24,752 WARN [main] UniqueId:比赛条件:尝试过   将ID 307分配给tagv:25447,但CAS失败   PutRequest(table =“tsdb-uid”,key =“25447”,family =“id”,   qualifiers = [“tagv”],values = [“\ x00 \ x013”],   timestamp = 9223372036854775807,lockid = -1,durable = true,   bufferable = true,attempt = 0,region = null),表示此UID   必须由另一个TSD同时分配。所以ID 307是   泄漏。

我有以下问题:

  1. 既然是警告,那么记录是否真的被写入而不会被跳过?
  2. 最后它说,“ID 307被泄露了”,分配给记录的其他ID也是如此?
  3. 如何验证所述记录是否已写入名为'tsdb-uid'的HBase表中? (HBase shell命令,我尝试了一些但是徒劳无功)。

1 个答案:

答案 0 :(得分:4)

这只是意味着没有分配UID,但一切都很好。如果您担心tsdb-uid表的状态,可以运行tsdb uid fsck命令,它可能会报告某些UID已分配但尚未使用。

如果您偶尔看到该消息,则可以忽略该消息。如果你看到很多,那么唯一不希望的结果是你在UID空间中的燃烧速度比你应该的速度快,所以你可能会更快地耗尽UID(每个都有16777215个可能的UID:度量标准名称,标记名称,标签值)。