为什么“;get_slice";每次询问都返回不同的值

本文关键字:返回 get slice 为什么 quot | 更新日期: 2023-09-27 18:28:47

我正在测试范围切片,作为一个例子,我跟踪产品的价格,所以我的键是产品ID,列是日期,包含该日期的价格。

我使用TimeUUIDType比较器来对日期进行切片,以获得给定时期的报价。

这是我的模式:

{
    "ItemCode1": {
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        ...
    },
    "ItemCode2": {
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        "<timestamp>": { "name": "<timestamp>", "value": "<price>" },
        ...
    }
}

我的问题是,每次我查询Cassandra时,它都会给我一个稍微不同的列列表(多了1-2列或少了1-2列)。我使用具有ConsistencyLevel = ALL的切片范围的get_slice,甚至尝试修复ColumnFamily。

为什么“;get_slice";每次询问都返回不同的值

问题实际上来自客户端,因为我使用CassandraSharp的TimeUuidNameOrValue来定义切片边界。

但在内部,它生成了一个TimeUuid,所以我的边界有一个可变部分,因此产生了可变结果。