问题标签 [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 回答
1389 浏览

visual-studio-2010 - 无法使用 TombstoneHelper 序列化错误“Newtonsoft.Json.Linq.JToken”

我遇到了一个问题,我的应用程序的某个页面无法从墓碑恢复。尝试访问该应用程序只会导致返回主屏幕。

在调试过程中,控制台记录了三行:

  • 类型的第一次机会异常System.Runtime.Serialization.InvalidDataContractException发生在System.Runtime.Serialization.dll
  • 类型的第一次机会异常System.Reflection.TargetInvocationException发生在mscorlib.dll
  • 类型的第一次机会异常System.Runtime.Serialization.InvalidDataContractException发生在System.Runtime.Serialization.dll

然后,我检查e.ExceptionObject.Message.ToString()并看到了这个错误:

"Type 'Newtonsoft.Json.Linq.JToken' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute."

我在该页面的cs代码中使用了一些JObjectsJTokens。我特别将列表框中的绑定值设置为这些值JObjects

然后在代码中:

对于墓碑,我只是这样做:

为了能够墓碑和生存,我应该做些不同的事情吗?

0 投票
2 回答
759 浏览

android - 随机重启手机(添加了墓碑)

我正在测试我广泛使用蓝牙天线的应用程序。有时我的手机会无缘无故地重启。我已经提取了我从手机中得到的最后一个墓碑。

你能帮我理解重启背后的原因吗?我觉得BT适配器有问题。

这是墓碑的顶部,如果您需要更多,我会添加其余部分。

我认为这部分也很重要:

所以 libdbus 发生了一些问题,但我不知道我的应用程序如何触发它。

0 投票
1 回答
1379 浏览

cassandra - 如何在 cassandra 1.2.6 中生成“墓碑压缩”

关于墓碑压实

我想知道为什么我不能在 cassandra1.2.6 中产生“墓碑压缩”。

[脚步]

  1. 在 cassandra-cli 中创建列族

    create keyspace keyspace1 with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy' and strategy_options = {replication_factor:3};

    use keyspace1;

    create column family cf1 with comparator=AsciiType and default_validation_class=AsciiType and key_validation_class=AsciiType and compaction_strategy_options={tombstone_compaction_interval: 1, tombstone_threshold: '0.1'} and gc_grace=600 and column_metadata=[ {column_name: column1, validation_class: LongType} ];

  2. 在 cassandra-cli 中输入一些带有 TTL 的数据,如下所示

    set cf1['key1']['column1']=100 with ttl = 1;
    set cf1['key2']['column1']=200 with ttl = 1;
    set cf1['key3']['column1']=300 with ttl = 1;
    set cf1['key4']['column1']=400 with ttl = 600;
    set cf1['key5']['column1']=500 with ttl = 600;
    set cf1['key6']['column1']=600 with ttl = 600;

  3. 执行“节点工具刷新”

  4. 使用 sstable2json 检查 Data.db

    {"key": "2412441","columns": [["column1","100",1373516242953000,"d"]]},
    {"key": "2412442","columns": [["column1","200",1373516242963000,"d"]]},
    {"key": "2412443","columns": [["column1","300",1373516242973000,"d"]]},
    {"key": "2412444","columns": [["column1","400",1373516242983000,"e",600,1373516300]]},
    {"key": "2412445","columns": [["column1","500",1373516242983000,"e",600,1373516300]]},
    {"key": "2412446","columns": [["column1","600",1373516242983000,"e",600,1373516300]]}

  5. 等待超过 1 小时.... Data.db 没有变化.... 没有产生墓碑压缩...

  6. 输入一些数据并再次执行 nodetool flush ......刚刚创建了新的 Data.db ......没有产生墓碑压缩......

我想尝试“墓碑压缩”。

0 投票
1 回答
407 浏览

cassandra - 可预测的 Cassandra 行删除

我们在 1.2.5 Cassandra 集群上有一个写入繁重的工作流程。由于磁盘空间有限,我们必须偶尔删除旧数据。当可用磁盘空间量下降到一定水平时,此删除开始。我们已经了解了墓碑的作用,即当 gc_grace 超时并且正在进行小压缩时它们被删除。所以我们设置了一个“耐心延迟”,当它到期时,我们可以再次检查磁盘上的可用空间。

但是我们需要一个更可预测的删除方案,因为我们不能依赖“小压缩也许有一天会运行”。这似乎不太具体,所以我们不知道什么时候应该再次检查磁盘上的可用空间。也许你可以提供一些想法。

0 投票
1 回答
176 浏览

cassandra - cassandra 中的独立压缩

我对 Cassandra 很陌生,所以如果你觉得这个问题不值得请原谅。

我正在尝试测试我的 cassandra(1.2.5) 集群的行为,因为我已将列 ttl 设置为 1 天。一天后,我能够确认数据不可用,但我想验证独立压缩正在发生,并在我使用默认 tombstone_threshold 即 20% 时清理墓碑占用的空间。

所以我的问题是 - 如何确保独立压缩正在发生?有没有办法知道在这个过程中释放了多少磁盘空间。是否有任何有关压缩类型和压缩完成的工作的日志?

0 投票
2 回答
3071 浏览

performance - 删除大量数据后,Cassandra 查找查询非常慢

目前,我有一个 cassandra 列族,其中包含大量数据,可以说超过 100,000 行。现在,我想删除此列族中的所有数据,但问题出现了:

删除所有数据后,我在这个列族中执行查找查询,cassandra 需要几十秒才能返回一个空的查询结果。而当原始数据较大时,时间成本会线性增加

它是由删除 cassandra 数据库中的数据时的墓碑功能引起的。在触发下一次 GC 之前,查找速度不会恢复正常。请参阅Cassandra 分布式删除

因为我的系统中经常使用这样的查询操作,所以我无法承受长达几秒钟的巨大延迟。

你能给我一个解决这个问题的方法吗?

0 投票
0 回答
870 浏览

android - 墓碑如何在 android-kernel 中工作

mkdir/tombstones/modem 是如何工作的?我有一部 htc 手机,我们的固件在不同的分区中,但是它如何从没有符号链接的分区中抓取它们?我在 3.4 中为我的设备移植了 3.4 内核(我们正式获得了 3.0.16),并且 qcks 不再通过 ttyhsl 支持我正在使用这种墓碑方式移植它的 rom..只是想知道它是如何工作的......官方 ramdisk 有这种格式的图像。

那么墓碑是如何工作的呢?我在这里有点困惑。

0 投票
2 回答
18013 浏览

cassandra - 达到墓碑限制时究竟会发生什么

根据 cassandra 的日志(见下文),由于存在太多,查询正在中止tombstones。发生这种情况是因为我每周清理(删除)行的计数器太低。这将“删除”数十万行(用tombstone. 标记它们)

如果在此表中,由于在清理过程中某个节点已关闭而重新出现已删除的行,这根本不是问题,因此我将gc grace time单个受影响表的时间设置为 10 小时(从默认的 10 天降低)所以墓碑行可以相对较快地永久删除。

无论如何,我必须设置tombstone_failure_threshold极高以避免以下异常。(一亿,从十万上升。)我的问题是,这有必要吗?我完全不知道哪种类型的查询会被中止;插入、选择、删除?

如果只是一些选择被中止,那没什么大不了的。但这是假设中止意味着“封顶”,因为查询过早停止并返回它在找到太多墓碑之前设法收集的任何实时数据。

好吧,问起来更简单;超过时会发生什么tombstone_failure_threshold

忘了说;运行 Cassandra 版本2.0.4

0 投票
2 回答
1535 浏览

cassandra - 在 Cassandra 中检索“墓碑”记录

我的问题很简单。是否可以以任何方式检索在期限到期(默认 10 天)tombstone之前标记的列。GCGraceSeconds如果是,那么确切的 CQL 查询是什么?

如果我要了解删除过程,则会在 MemTables 上标记墓碑,并且 SSTable 是不可变的等待压缩仍然有已删除的数据等待压缩。那么在压缩发生之前,有什么方法可以从 Memtable 或 SSTable 中读取墓碑数据?

在 CQLSH 命令提示符和 Cassandra 2.0 上使用 CQL 3.0。

0 投票
1 回答
1099 浏览

cassandra - Apache Cassandra:即使所有节点都已启动,提示也会不断创建

我有一个 5 节点的 apache cassandra 2.0.6 集群,具有 48 GB 内存和 2 TB 数据目录和 93 GB 容量的提交日志目录。cassandra 的 JVM 堆空间为 8 GB。我使用 JVisualVM Mbeans 插件来监控 cassandra 指标。即使所有节点都已启动,提示也会在所有节点中不断创建。并且随着在写入数据时创建提示,有时我面临墓碑压倒性异常,它正在中止查询。任何人都可以解释为什么会发生并为此提供补救措施。