问题标签 [tombstone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
625 浏览

android - Android 7.0:墓碑告诉信号 6 (SIGABRT)

我有一个大型 Android 应用程序,包括 C/C++ 库(通过 NDK/SWIG)。

在某些时候应用程序崩溃并且墓碑文件显示:

信号 6 (SIGABRT),代码 -6 (SI_TKILL),故障地址 --------

中止消息:“传递给空闲的无效地址 0xbc9b306d:未分配值”

不幸的是,它没有告诉我哪个变量位于地址 0xbc9b306d。如何发现?

限制:不幸的是,由于代码库的规模,我无法在 Android Studio 中设置断点。

BR,雷内

0 投票
1 回答
1628 浏览

performance - 即使没有使用 where 子句选择 Cassandra 中的墓碑,也会减慢查询速度

如果我在一个集群中有一个包含 100'000 个已删除行的单个分区,然后在同一分区中有一个没有删除行的第二个集群,那么执行操作的性能SELECT * FROM example_table WHERE partition=that_partition AND cluster=the_second_cluster会受到 the_first_cluster 中存在的墓碑的影响吗?

我期望如果使用 where 子句检索行集是恒定的,那么 Cassandra 将跳过所有墓碑到第二个集群,但我不明白 where 子句如何找到正确的行,所以我不'不知道是否是这种情况,我没有设法在网上找到任何可以启发我的东西。

0 投票
1 回答
172 浏览

cassandra - tombstone_failure_threshold 为每个表或整个 cassanandra 集群维护

tombstone_failure_threshold默认值为 100000。但是这个值是针对每个表还是针对整个集群?我很困惑。如果一个表超过这个值,其他表中的范围查询也会被中止吗?请解释。

0 投票
1 回答
462 浏览

android - 使用外键和房间的墓碑

我在使用 Android 架构组件中的 Room 时遇到了一些问题。@ForeignKey在我尝试在我的表中实现之前,所有结构都可以正常工作。如果我尝试插入新项目,则会出现墓碑。

任务实体

类别实体

任务契约

当我删除@ForeignKey注释并将外部字段视为简单字段时,它可以工作。

我尝试过的事情:

  • 将 Rx 替换FlowableLiveData
  • 替换为.observeOn(Schedulers.io())
  • 替换为Completable.fromAction()
  • 删除Parcelize,因为它处于实验阶段
  • 删除@ForeignKey索引字段
  • 在构造函数外声明外部字段

墓碑回溯

你有什么主意吗?

0 投票
1 回答
608 浏览

cassandra-3.0 - 墓碑影响 Cassandra 读取

我对墓碑影响 Cassandra 读取有点困惑。这是第一种情况:

有一个 Cassandra 表:

我在此表中插入两个条目:

然后我在这张表上使用 nodetool flush 并清楚地看到保存的两个值(使用 sstabledump)。

然后我更新第一条记录中的地址值:

我再次在此表上使用 nodetool flush 并看到为第一个条目地址列添加了一个墓碑。

好的,现在我通过以下方式读取这些值

在 sqlsh 中设置了 TRACING ON。我看到返回了 2 个最新条目,并带有以下调试输出:

读取 2 个活动行和 0 个墓碑单元

AFAIK 升级不构成墓碑,但是我可以看到读取了多个 SSTable 以返回结果。

一旦我删除了第一条记录 - 我可以在再次读取所有表值时在输出中看到以下内容:

读取 1 个活动行和 1 个墓碑单元

这就是我希望看到的。但是,当我对剩余记录执行此查询时:

我看到以下跟踪信息:

读取 1 个活动行和 0 个墓碑单元

问题是为什么只有在 WHERE 子句中没有指定列的情况下才会选择墓碑?

0 投票
2 回答
826 浏览

cassandra - 实际记录 TTL 一个月后,Cassandra 墓碑未删除

遇到 DSE 4.7 的问题。

即使在压缩、清理、rebuild_index 和修复之后,墓碑也不会被删除。记录有 15 天的 ttl。

sstablemetadata 输出表明有 90% 的墓碑

有任何想法吗?

稳定元数据输出

0 投票
1 回答
272 浏览

cassandra - 如何在旧的 SSTables 中删除 Cassandra 墓碑?

如果我启用了压缩,例如SizeTieredCompaction,我SSTables会被压缩直到达到一定的大小水平。当我“删除”一个SSTable位于相当旧且在不久的将来不会再次压缩的分区中的旧条目时,何时删除?

想象一下,你删除了 100 个条目,它们都是一个非常旧的 SSTable 的一部分,它被压缩了几次,没有热数据并且已经相当大了。需要很长时间才能再次压实并移除墓碑,对吗?

0 投票
1 回答
52 浏览

cassandra - 什么时候在 Cassandra 中使用 SizeTieredCompaction 压缩 SSTables?

使用 SizeTieredCompaction,每个桶最多可以有 32 个 SSTable,而最冷的(比如 33 个)会被丢弃。

他们什么时候会再次被接走?

压实的是否再次考虑在一个新的更大的桶中?

0 投票
1 回答
155 浏览

cassandra - 墓碑是 cassandra 阵列中的问题吗?

我正在尝试调查使用 cassandra 数组对性能的影响。根据我的实验,cassandra 在插入或不增量更新数组(非冻结)时会生成墓碑。但是根据 cqlsh 跟踪输出,墓碑没有被读取,所以它们不应该对性能产生任何影响......?

PS:当使用冻结列表类型创建表时,不会创建墓碑

卡桑德拉版本:3.11.3

0 投票
1 回答
615 浏览

cassandra - 卡桑德拉墓碑跨越门槛

在日志中,我看到了墓碑警告阈值。

Read 411 live rows and 1644 tombstone cells for query SELECT * FROM ks.tbl WHERE key = XYZ LIMIT 5000 (see tombstone_warn_threshold)

这是 Cassandra 3.11.3,我看到这个表有 2 个 sstable,分区 XYZ 只存在于一个文件中。现在我使用 sstabledump 将此 sstable 转储到 json 中。我只提取了这个分区的数据,我看到里面只有 411 行。而且都是活动/现场记录,所以我不明白这些墓碑是从哪里来的?

此表具有集合列,并且在插入集合列时存在单元格墓碑。在显示的警告中,收集单元墓碑是否被计为墓碑单元?

做了一个小测试,看看收集的墓碑是否算作墓碑,似乎不是。所以想知道在我上面的查询中这些墓碑是从哪里来的。