我在同时运行多个导入到opentsdb时收到一个竞争条件警告。下面是显示竞争条件的日志序列之一。
2013-08-21 14:34:24745信息[main]唯一id:为kind='tagv'name='25447'创建id
2013-08-21 14:34:24747信息[main]唯一id:got id=307表示kind='tagv'name='25447'
2013-08-21 14:34:24752警告[main]唯一id:比赛条件:尝试将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同时分配。所以307号身份证被泄露了。
我有以下问题:
既然这是一个警告,是不是记录实际上被写入而没有被跳过?
最后写着,“307号身份证被泄露了”,那么是不是有其他身份证被分配到了记录中?
如何验证所述记录是否已写入名为“tsdb uid”的hbase表中(hbase shell命令,我尝试了一些,但没有成功)。
1条答案
按热度按时间lmyy7pcs1#
这只意味着uid没有分配任何内容,但在其他方面一切正常。如果你担心你的家庭状况
tsdb-uid
表,你可以运行tsdb uid fsck
命令,它可能会报告某些UID已分配但未使用。如果你只是偶尔看到这个消息,你可以忽略它。如果您经常看到它,那么唯一不希望出现的结果是,您在uid空间中的烧录速度比您应该的快,因此您可能会更快地用完uid(每个uid有16777215个可能的uid:度量名称、标记名称、标记值)。