问题标签 [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 投票
1 回答
1506 浏览

cassandra - Cassandra 恒定墓碑压实表

我有几个 Cassandra 表,在这些表上不断运行墓碑压缩,我相信这是 Cassandra 进程 CPU 使用率高的原因。

我的设置包括:

在其中一张表中,我每分钟都向其中写入数据。由于设置了 TTL,整组行也会每分钟过期。

  • 是否由于低tombstone_thresholdtombstone_compaction_interval导致持续压缩?

  • 有人可以详细解释tombstone_thresholdtombstone_compaction_interval。Cassandra 文档并没有很好地解释它。

0 投票
2 回答
20408 浏览

cassandra - 将空值插入 cassandra

我有一些字段要存储到 Cassandra 中,但其中一些字段在任何给定点都可能为空。由于其中有很多,如果我在将每个代码添加到 INSERT 之前不检查每个代码是否为空,它会使代码更具可读性。

这样做有什么坏处吗?

编辑!!

我找到了一张 jira 票。但我无法理解票证最终实施了什么解决方案。 https://issues.apache.org/jira/browse/CASSANDRA-7304

0 投票
1 回答
675 浏览

c++ - 在gdb中如何通过库(so)的地址获取信息

该进程已崩溃并生成了坟墓(墓碑)。它是由信号触发的6(SIGABRT)。回溯很浅:

在堆栈中,找到有关可疑库的跟踪,并在线程中,通过映射传输地址。使用工具 address2line 获取有关符号的更多信息。虽然符号可能在 .data 部分。输出如下:

然后我想通过gdb在运行时从库(so)中通过事故点附近的地址获取信息。是否可行?如果是,该怎么做?

0 投票
1 回答
217 浏览

cassandra - cassandra blobs、墓碑和空间回收

我试图了解删除后在 Cassandra 中回收空间的速度有多快。我找到了许多描述墓碑的文章,以及当您进行范围查询时可能产生的问题,Cassandra 必须扫描大量墓碑行以找到更稀缺的活动行。而且我知道您不能将 gc_grace_seconds 设置得太低,否则如果节点脱机并在墓碑从其余机器上消失后又回来,您将弹出僵尸记录。这一切都说得通。

但是,如果将墓碑放置在上,则应该可以回收其余行数据的空间。

所以我的问题是,对于这张桌子:

如果我在此表中插入然后删除一些记录,并注意不要遇到上述墓碑+范围问题以及其他地方的详细情况,那么这些 blob 的空间何时会被回收?

在我的情况下,blob 可能大于推荐的大小(我相信 1mb),但它们不应该大于 ~15mb,我认为这仍然是可行的。但是,如果所有这些 blob 保留 10 天(默认 gc_grace_seconds 值)与只有键保留 10 天,那么空间差异会很大。

当我查看时,我找不到任何地方描述的这个特定方面。

0 投票
3 回答
2471 浏览

cassandra - 如果表被删除,SSTables 永远不会在磁盘上删除

如果表被删除,SSTables 永远不会在磁盘上被删除。

我有一张表,其墓碑计数> 100000,因此我的读取查询引发了墓碑错误。然后我删除了表,但这并没有删除 SSTable 文件。我重新创建了表,然后运行了我的选择查询,我再次看到了墓碑错误。我不明白为什么旧的墓碑错误又出现了?另外,SSTable 什么时候会在磁盘上被删除?

0 投票
1 回答
647 浏览

cassandra - Cassandra 空单元格!= 墓碑单元格计数

我们正在使用 Cassandra

我们有大约 > 600000 行,我们在该行的大多数单元格中插入了 NULL。我们运行一个查询,它扫描 8000 行,日期为昨天、今天、明天。但是,当我启用跟踪时,我发现只有:

我知道在 Cassandra 中插入 NULL 会为这些单元格创建墓碑,但为什么即使查询返回 8k 条记录且每条记录都包含多个 NULL,我也只能看到这么少的墓碑?有什么可以解释的吗?这些记录的 TTL 默认为 30 天,因此这个 8k 的结果集由于 TTL 而不能有墓碑。

编辑 1

我的架构是:

我通过以下方式保存到 Cassandra

我可以通过已插入 NULLs 的 CQL 看到。

查询我正在追踪

也许压实已经移除了大部分墓碑?还有其他解释吗? 编辑 2 如果有一种方法可以汇总并立即查看墓碑及其原因,以便进行查询?就像一张桌子的墓碑转储?

0 投票
1 回答
331 浏览

android - android系统应用程序(特权)可以读取或复制/data/tombstones吗

我将我的应用程序作为 system-priv 并与我的 AOSP 代码一起构建。现在我的应用程序需要将 /data/tombstones 下的 tombstone 文件夹复制到 /sdcard。

提前致谢

0 投票
1 回答
374 浏览

apache-spark - Cassandra 中频繁截断的问题和 24 小时 ttl 创建大型墓碑

我们有ttl24 小时或 1 天的下表。我们有 4 个cassandra 3.0 node cluster,将spark在此表上进行处理。一旦处理完毕,它将截断表中的所有数据,并插入新的一批数据。这将是一个持续的过程。

我看到的问题是,我们越来越多,因为数据在完成处理tombstones后每天都被频繁截断。spark

如果我设置gc_grace_seconds为默认,会有更多tombstones。如果我减少gc_grace_seconds到 1 天会有问题吗?即使我每天对那张桌子进行维修也足够了。

我应该如何解决这个问题,我知道频繁删除是一种反模式Cassandra,还有其他方法可以解决这个问题吗?

谢谢你

0 投票
0 回答
119 浏览

android - 转储墓碑时出错

我正在使用调试器来处理 android 转储,但我遇到了一些错误。有什么问题?

shell@K80M:/ $ debuggerd 2974 发送请求转储任务 2974。错误转储墓碑。

0 投票
0 回答
19 浏览

select - 有没有办法强制 cassandra 选择行,即使它超过了最大墓碑设置?

我正在使用 Cassandra 3.11,我有一张包含很多墓碑的表格。这是正常的,因为我需要定期(每天一次)更新大量数据。有些数据永远不会改变,但有更新。因此,在某些维护期间,我偶尔会读取许多墓碑。我的一条选择语句经常会返回失败状态,原因是达到了最大数量的墓碑。

有没有办法强制 cassandra 执行一个特定的选择语句,即使达到最大墓碑?对于我的维护程序,这将非常有用。我想类似于“允许过滤”的东西......