Java 缺少刚刚插入到cassandra柱族中的柱
我们的测试集群不断出现问题Java 缺少刚刚插入到cassandra柱族中的柱,java,cassandra,astyanax,Java,Cassandra,Astyanax,我们的测试集群不断出现问题 卡桑德拉配置: 卡桑德拉版本:2.2.12 节点数:6,种子节点数3,无种子节点数3 复制因子1(当然,对于产品,我们将使用3) 出现问题的表配置: CREATE TABLE "STATISTICS" ( key timeuuid, column1 blob, column2 blob, column3 blob, column4 blob, value blob, PRIMARY KEY (key, col
- 卡桑德拉版本:2.2.12
- 节点数:6,种子节点数3,无种子节点数3
- 复制因子1(当然,对于产品,我们将使用3)
CREATE TABLE "STATISTICS" (
key timeuuid,
column1 blob,
column2 blob,
column3 blob,
column4 blob,
value blob,
PRIMARY KEY (key, column1, column2, column3, column4)
) WITH COMPACT STORAGE
AND CLUSTERING ORDER BY (column1 ASC, column2 ASC, column3 ASC, column4 ASC)
AND caching = {
'keys':'ALL', 'rows_per_partition':'100'
}
AND compaction = {
'class': 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
};
- java8
- 卡桑德拉司机:astyanax
- 应用程序节点计数:4
UUID uuid = <some uuid>;
short shortV = <some short>;
int intVal = <some int>;
String strVal = <some string>;
ColumnFamily<UUID, Composite> statisticsCF = ColumnFamily.newColumnFamily(
"STATISTICS",
UUIDSerializer.get(),
CompositeSerializer.get()
);
MutationBatch mb = keyspace.prepareMutationBatch();
ColumnListMutation<Composite> clm = mb.withRow(statisticsCF, uuid);
clm.putColumn(new Composite(shortV, intVal, strVal, null), true);
mb.execute();
结果-相同的列没有出现
然后我们重新启动了cassandra集群和列
更新3:
试图禁用cassandra缓存,方法是将“\u mb属性中的行缓存大小设置为0(在2Gb之前)
之后,问题就解决了
因此,probmlem可能位于OHCProvider中,OHCProvider用作默认缓存提供程序。能否提供应用程序节点执行的插入示例。他们正在更新哪些列以及更新顺序是什么?没有直接关系,但我不建议使用astyanax-它在很久以前就被放弃了,他们建议使用DataStax的驱动程序。@Jan在中查看我的更新question@AlexOtt是的,当然,我们计划迁移到CQL
pssh -h cnodes.txt /path-to-cassandra/bin/nodetool flush
row_cache_size_in_mb: 0