我在同时向 openTSDB 运行多个导入时收到竞争条件警告。以下是显示竞态条件的日志序列之一。
2013-08-21 14:34:24,745 INFO [main] UniqueId:为 kind='tagv' name='25447' 创建 ID
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: Race condition: 试图将 ID 307 分配给 tagv:25447,但 CAS 在 PutRequest(table="tsdb-uid", key="25447", family =“id”,限定符=[“tagv”],值=[“\x00\x013”],时间戳=9223372036854775807,lockid=-1,持久=真,可缓冲=真,尝试= 0,区域=空),这表明此 UID 必须已由另一个 TSD 同时分配。所以 ID 307 被泄露了。
我有以下问题:
- 既然是警告,那是不是记录是真的写了,没有跳过?
- 最后它说,“ID 307 已泄露”,那么是否为该记录分配了其他 ID?
- 如何验证该记录是否已写入 HBase 名为 'tsdb-uid' 的表中?(HBase shell 命令,我尝试了一些但徒劳无功)。