Java 如何使用astyanax在Cassandra中设置GCGraceSeconds?

Java 如何使用astyanax在Cassandra中设置GCGraceSeconds?,java,cassandra,astyanax,Java,Cassandra,Astyanax,我需要将GCGraceSeconds设置为0,因为我只有一个节点,但我找不到可以将该值设置为该值的位置。是否可以从astyanax进行设置,或者在某些设置文件中进行设置?在conf/cassandra.yaml(cassandra配置文件)中进行设置 早期版本0.7:conf/storage-conf.xml 请记住:“将此值设置为足够大的值,以便您确信删除标记将在经过这么多秒时传播到所有副本,即使在硬件出现故障时也是如此。默认值为10天。” 默认值为:“864000”秒,或10天 在cassa

我需要将GCGraceSeconds设置为0,因为我只有一个节点,但我找不到可以将该值设置为该值的位置。是否可以从astyanax进行设置,或者在某些设置文件中进行设置?

在conf/cassandra.yaml(cassandra配置文件)中进行设置

早期版本0.7:conf/storage-conf.xml

请记住:“将此值设置为足够大的值,以便您确信删除标记将在经过这么多秒时传播到所有副本,即使在硬件出现故障时也是如此。默认值为10天。”


默认值为:“864000”秒,或10

在cassandra的最新版本中,您实际上在每列族的基础上设置了
gc\u grace\u seconds
,作为模式的一部分。据我所知,Astyanax目前不支持设置该属性。
ColumnFamilyDefinition
类中没有相应的方法

如果需要,可以使用cassandra cli工具在任何现有柱族上设置属性

此外,添加对Astyanax的支持看起来并不难。我肯定他们会接受拉车请求

更新

Astyanax(暂时)现在支持此设置。看见这可以在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()
);
OperationResult-opres=keyspace.createColumnFamily(cf,ImmutableMap.builder())
.put(“比较器”、“UTF8Type”)
.put(“键验证类”、“UTF8Type”)
.put(“gc_grace_seconds”,60*60*24)//一天的gc grace seconds
.build()
);

我对此感到厌倦,但它抛出异常rg.yaml.snakeyaml.error.YAMLException:无法为JavaBean=org.apache.cassandra.config创建property=gc\u gra\u seconds。Config@26c623af;实际上,它现在是每列族,所以您只需更新该列族的模式。但不知道如何使用Astyanax。链接断开。知道现在在哪里可以找到它吗?你想要“更新”之后的第二个链接。第一个链接已断开,但它链接到了ColumnFamilyDefinition的版本,该版本不允许设置gc grace。