【问题标题】:Race Condition Warning OpenTSDB竞争条件警告 OpenTSDB
【发布时间】:2013-08-21 10:00:00
【问题描述】:

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

2013-08-21 14:34:24,745 INFO [main] UniqueId:为 种类='tagv' 名称='25447'

2013-08-21 14:34:24,747 INFO [main] UniqueId:得到 ID=307 种类='tagv' 名称='25447'

2013-08-21 14:34:24,752 WARN [main] UniqueId:竞争条件:已尝试 将 ID 307 分配给 tagv:25447,但 CAS 失败 PutRequest(table="tsdb-uid", key="25447", family="id", 限定符=["tagv"],值=["\x00\x013"], 时间戳=9223372036854775807,lockid=-1,耐用=真, bufferable=true, attempt=0, region=null),表示这个UID 必须由另一个 TSD 同时分配。所以 ID 307 是 泄露了。

我有以下问题:

  1. 既然是警告,那是不是真的写了记录,没有跳过?
  2. 最后显示“ID 307 已泄露”,是否为记录分配了其他 ID?
  3. 如何验证该记录是否已写入 HBase 名为 'tsdb-uid' 的表中? (HBase shell 命令,我尝试了一些但没有成功)。

【问题讨论】:

    标签: hadoop hbase apache-zookeeper opentsdb


    【解决方案1】:

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

    如果您只是偶尔看到该消息,则可以忽略它。如果您经常看到它,那么唯一的不良后果是您消耗 UID 空间的速度比您应该的要快,因此您可能会更快用完 UID(每个都有 16777215 个可能的 UID:指标名称、标签名称,标签值)。

    【讨论】:

    • 谢谢伙计。这有点松了口气。我们对此有什么解决方案吗?一些配置什么的?至于我们,大约有 25% 的此类条目进入了竞赛条件。此外,当您说有 16777215 个可能的 UID 可用时,是针对每个标签的每个指标还是针对总值?
    • 总而言之,可以有 16777215 个指标,16777215 个标签名称,16777215 个标签值。我们正在寻找方法来减少这种情况发生的次数,同时仍然保持我们最初进行的优化导致这种情况发生。
    • 很高兴听到这个消息,如果您找到解决方案,请告诉我。再次感谢。
    猜你喜欢
    • 2022-01-23
    • 2018-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多