我需要将 GCGraceSeconds 设置为 0,因为我只有一个节点,但我找不到可以为此设置值的位置。是否可以从 astyanax 设置或在某些设置文件中设置?
最佳答案
在较新版本的 cassandra 中,您实际上在每个列族的基础上设置 gc_grace_seconds
作为架构的一部分。据我所知,Astyanax 目前不支持设置该属性。 ColumnFamilyDefinition
类中没有对应的方法。
如果您愿意,可以使用 cassandra-cli 工具在任何现有列族上设置属性。
此外,添加对 Astyanax 的支持看起来并不难。我相信他们会接受拉取请求。
更新
Astyanax(暂时)现在支持此设置。参见 ColumnFamilyDefinition .这可以在 astyanax 列族创建中设置,如下所示:
OperationResult<SchemaChangeResult> opres = keyspace.createColumnFamily(cf, ImmutableMap.<String, Object> builder()
.put("comparator", "UTF8Type")
.put("key_validation_class", "UTF8Type")
.put("gc_grace_seconds", 60*60*24) // gc grace seconds of one day
.build()
);
关于java - 如何使用 astyanax 在 Cassandra 中设置 GCGraceSeconds?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11169022/