问题标签 [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.
android - Android 7.0:墓碑告诉信号 6 (SIGABRT)
我有一个大型 Android 应用程序,包括 C/C++ 库(通过 NDK/SWIG)。
在某些时候应用程序崩溃并且墓碑文件显示:
信号 6 (SIGABRT),代码 -6 (SI_TKILL),故障地址 --------
中止消息:“传递给空闲的无效地址 0xbc9b306d:未分配值”
不幸的是,它没有告诉我哪个变量位于地址 0xbc9b306d。如何发现?
限制:不幸的是,由于代码库的规模,我无法在 Android Studio 中设置断点。
BR,雷内
performance - 即使没有使用 where 子句选择 Cassandra 中的墓碑,也会减慢查询速度
如果我在一个集群中有一个包含 100'000 个已删除行的单个分区,然后在同一分区中有一个没有删除行的第二个集群,那么执行操作的性能SELECT * FROM example_table WHERE partition=that_partition AND cluster=the_second_cluster
会受到 the_first_cluster 中存在的墓碑的影响吗?
我期望如果使用 where 子句检索行集是恒定的,那么 Cassandra 将跳过所有墓碑到第二个集群,但我不明白 where 子句如何找到正确的行,所以我不'不知道是否是这种情况,我没有设法在网上找到任何可以启发我的东西。
cassandra - tombstone_failure_threshold 为每个表或整个 cassanandra 集群维护
tombstone_failure_threshold
默认值为 100000。但是这个值是针对每个表还是针对整个集群?我很困惑。如果一个表超过这个值,其他表中的范围查询也会被中止吗?请解释。
android - 使用外键和房间的墓碑
我在使用 Android 架构组件中的 Room 时遇到了一些问题。@ForeignKey
在我尝试在我的表中实现之前,所有结构都可以正常工作。如果我尝试插入新项目,则会出现墓碑。
任务实体
类别实体
任务契约
当我删除@ForeignKey
注释并将外部字段视为简单字段时,它可以工作。
我尝试过的事情:
- 将 Rx 替换
Flowable
为LiveData
- 替换为
.observeOn(Schedulers.io())
- 替换为
Completable.fromAction()
- 删除
Parcelize
,因为它处于实验阶段 - 删除
@ForeignKey
索引字段 - 在构造函数外声明外部字段
墓碑回溯
你有什么主意吗?
cassandra-3.0 - 墓碑影响 Cassandra 读取
我对墓碑影响 Cassandra 读取有点困惑。这是第一种情况:
有一个 Cassandra 表:
我在此表中插入两个条目:
然后我在这张表上使用 nodetool flush 并清楚地看到保存的两个值(使用 sstabledump)。
然后我更新第一条记录中的地址值:
我再次在此表上使用 nodetool flush 并看到为第一个条目地址列添加了一个墓碑。
好的,现在我通过以下方式读取这些值
在 sqlsh 中设置了 TRACING ON。我看到返回了 2 个最新条目,并带有以下调试输出:
读取 2 个活动行和 0 个墓碑单元
AFAIK 升级不构成墓碑,但是我可以看到读取了多个 SSTable 以返回结果。
一旦我删除了第一条记录 - 我可以在再次读取所有表值时在输出中看到以下内容:
读取 1 个活动行和 1 个墓碑单元
这就是我希望看到的。但是,当我对剩余记录执行此查询时:
我看到以下跟踪信息:
读取 1 个活动行和 0 个墓碑单元
问题是为什么只有在 WHERE 子句中没有指定列的情况下才会选择墓碑?
cassandra - 实际记录 TTL 一个月后,Cassandra 墓碑未删除
遇到 DSE 4.7 的问题。
即使在压缩、清理、rebuild_index 和修复之后,墓碑也不会被删除。记录有 15 天的 ttl。
sstablemetadata 输出表明有 90% 的墓碑
有任何想法吗?
稳定元数据输出
cassandra - 如何在旧的 SSTables 中删除 Cassandra 墓碑?
如果我启用了压缩,例如SizeTieredCompaction
,我SSTables
会被压缩直到达到一定的大小水平。当我“删除”一个SSTable
位于相当旧且在不久的将来不会再次压缩的分区中的旧条目时,何时删除?
想象一下,你删除了 100 个条目,它们都是一个非常旧的 SSTable 的一部分,它被压缩了几次,没有热数据并且已经相当大了。需要很长时间才能再次压实并移除墓碑,对吗?
cassandra - 什么时候在 Cassandra 中使用 SizeTieredCompaction 压缩 SSTables?
使用 SizeTieredCompaction,每个桶最多可以有 32 个 SSTable,而最冷的(比如 33 个)会被丢弃。
他们什么时候会再次被接走?
压实的是否再次考虑在一个新的更大的桶中?
cassandra - 墓碑是 cassandra 阵列中的问题吗?
我正在尝试调查使用 cassandra 数组对性能的影响。根据我的实验,cassandra 在插入或不增量更新数组(非冻结)时会生成墓碑。但是根据 cqlsh 跟踪输出,墓碑没有被读取,所以它们不应该对性能产生任何影响......?
PS:当使用冻结列表类型创建表时,不会创建墓碑
卡桑德拉版本:3.11.3
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 行。而且都是活动/现场记录,所以我不明白这些墓碑是从哪里来的?
此表具有集合列,并且在插入集合列时存在单元格墓碑。在显示的警告中,收集单元墓碑是否被计为墓碑单元?
做了一个小测试,看看收集的墓碑是否算作墓碑,似乎不是。所以想知道在我上面的查询中这些墓碑是从哪里来的。