问题标签 [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.
cassandra - Cassandra 恒定墓碑压实表
我有几个 Cassandra 表,在这些表上不断运行墓碑压缩,我相信这是 Cassandra 进程 CPU 使用率高的原因。
我的设置包括:
在其中一张表中,我每分钟都向其中写入数据。由于设置了 TTL,整组行也会每分钟过期。
是否由于低tombstone_threshold和tombstone_compaction_interval导致持续压缩?
有人可以详细解释tombstone_threshold和tombstone_compaction_interval。Cassandra 文档并没有很好地解释它。
cassandra - 将空值插入 cassandra
我有一些字段要存储到 Cassandra 中,但其中一些字段在任何给定点都可能为空。由于其中有很多,如果我在将每个代码添加到 INSERT 之前不检查每个代码是否为空,它会使代码更具可读性。
这样做有什么坏处吗?
编辑!!
我找到了一张 jira 票。但我无法理解票证最终实施了什么解决方案。 https://issues.apache.org/jira/browse/CASSANDRA-7304
c++ - 在gdb中如何通过库(so)的地址获取信息
该进程已崩溃并生成了坟墓(墓碑)。它是由信号触发的6(SIGABRT)
。回溯很浅:
在堆栈中,找到有关可疑库的跟踪,并在线程中,通过映射传输地址。使用工具 address2line 获取有关符号的更多信息。虽然符号可能在 .data 部分。输出如下:
然后我想通过gdb在运行时从库(so)中通过事故点附近的地址获取信息。是否可行?如果是,该怎么做?
cassandra - cassandra blobs、墓碑和空间回收
我试图了解删除后在 Cassandra 中回收空间的速度有多快。我找到了许多描述墓碑的文章,以及当您进行范围查询时可能产生的问题,Cassandra 必须扫描大量墓碑行以找到更稀缺的活动行。而且我知道您不能将 gc_grace_seconds 设置得太低,否则如果节点脱机并在墓碑从其余机器上消失后又回来,您将弹出僵尸记录。这一切都说得通。
但是,如果将墓碑放置在键上,则应该可以回收其余行数据的空间。
所以我的问题是,对于这张桌子:
如果我在此表中插入然后删除一些记录,并注意不要遇到上述墓碑+范围问题以及其他地方的详细情况,那么这些 blob 的空间何时会被回收?
在我的情况下,blob 可能大于推荐的大小(我相信 1mb),但它们不应该大于 ~15mb,我认为这仍然是可行的。但是,如果所有这些 blob 保留 10 天(默认 gc_grace_seconds 值)与只有键保留 10 天,那么空间差异会很大。
当我查看时,我找不到任何地方描述的这个特定方面。
cassandra - 如果表被删除,SSTables 永远不会在磁盘上删除
如果表被删除,SSTables 永远不会在磁盘上被删除。
我有一张表,其墓碑计数> 100000,因此我的读取查询引发了墓碑错误。然后我删除了表,但这并没有删除 SSTable 文件。我重新创建了表,然后运行了我的选择查询,我再次看到了墓碑错误。我不明白为什么旧的墓碑错误又出现了?另外,SSTable 什么时候会在磁盘上被删除?
cassandra - Cassandra 空单元格!= 墓碑单元格计数
我们正在使用 Cassandra
我们有大约 > 600000 行,我们在该行的大多数单元格中插入了 NULL。我们运行一个查询,它扫描 8000 行,日期为昨天、今天、明天。但是,当我启用跟踪时,我发现只有:
我知道在 Cassandra 中插入 NULL 会为这些单元格创建墓碑,但为什么即使查询返回 8k 条记录且每条记录都包含多个 NULL,我也只能看到这么少的墓碑?有什么可以解释的吗?这些记录的 TTL 默认为 30 天,因此这个 8k 的结果集由于 TTL 而不能有墓碑。
编辑 1
我的架构是:
我通过以下方式保存到 Cassandra
我可以通过已插入 NULLs 的 CQL 看到。
查询我正在追踪
也许压实已经移除了大部分墓碑?还有其他解释吗? 编辑 2 如果有一种方法可以汇总并立即查看墓碑及其原因,以便进行查询?就像一张桌子的墓碑转储?
android - android系统应用程序(特权)可以读取或复制/data/tombstones吗
我将我的应用程序作为 system-priv 并与我的 AOSP 代码一起构建。现在我的应用程序需要将 /data/tombstones 下的 tombstone 文件夹复制到 /sdcard。
提前致谢
apache-spark - Cassandra 中频繁截断的问题和 24 小时 ttl 创建大型墓碑
我们有ttl
24 小时或 1 天的下表。我们有 4 个cassandra 3.0 node cluster
,将spark
在此表上进行处理。一旦处理完毕,它将截断表中的所有数据,并插入新的一批数据。这将是一个持续的过程。
我看到的问题是,我们越来越多,因为数据在完成处理tombstones
后每天都被频繁截断。spark
如果我设置gc_grace_seconds
为默认,会有更多tombstones
。如果我减少gc_grace_seconds
到 1 天会有问题吗?即使我每天对那张桌子进行维修也足够了。
我应该如何解决这个问题,我知道频繁删除是一种反模式Cassandra
,还有其他方法可以解决这个问题吗?
谢谢你
android - 转储墓碑时出错
我正在使用调试器来处理 android 转储,但我遇到了一些错误。有什么问题?
shell@K80M:/ $ debuggerd 2974 发送请求转储任务 2974。错误转储墓碑。
select - 有没有办法强制 cassandra 选择行,即使它超过了最大墓碑设置?
我正在使用 Cassandra 3.11,我有一张包含很多墓碑的表格。这是正常的,因为我需要定期(每天一次)更新大量数据。有些数据永远不会改变,但有更新。因此,在某些维护期间,我偶尔会读取许多墓碑。我的一条选择语句经常会返回失败状态,原因是达到了最大数量的墓碑。
有没有办法强制 cassandra 执行一个特定的选择语句,即使达到最大墓碑?对于我的维护程序,这将非常有用。我想类似于“允许过滤”的东西......