首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡桑德拉:结果不正确的范围选择

卡桑德拉:结果不正确的范围选择
EN

Stack Overflow用户
提问于 2015-06-08 15:50:19
回答 1查看 142关注 0票数 3

我在cassandra中的范围选择有一个问题:它有一段时间不会返回所有数据。它是一个2.1.0集群。可从Apache获得二进制文件。

这是我的桌子:

代码语言:javascript
复制
CREATE TABLE metrics.main_cnt (
gran ascii,
ctx ascii,
io ascii,
eid uuid,
dt bigint,
apdex_s counter,
apdex_t counter,
"count" counter,
error counter,
time counter,
PRIMARY KEY ((gran, ctx, io, eid), dt))

该表中有许多行,如果我执行此查询:

代码语言:javascript
复制
SELECT * from main_cnt WHERE gran = 'min' AND ctx ='A' AND io = 'i' AND eid =4379eec6-ba09-4f70-8862-1c864595c371 and dt in (1420644000000, 1420640400000);

我知道结果是:

代码语言:javascript
复制
 gran | ctx | io | eid                                  | dt            | apdex_s | apdex_t | count | error | time
------+-----+----+--------------------------------------+---------------+---------+---------+-------+-------+--------
  min |   A |  i | 4379eec6-ba09-4f70-8862-1c864595c371 | 1420640400000 |     671 |       4 |   677 |     0 | 168253
  min |   A |  i | 4379eec6-ba09-4f70-8862-1c864595c371 | 1420644000000 |     554 |      10 |   566 |     0 | 192666

但是,如果我像这样使用a范围选择:

代码语言:javascript
复制
SELECT * from main_cnt WHERE gran = 'min' AND ctx ='A' AND io = 'i' AND eid =4379eec6-ba09-4f70-8862-1c864595c371 and dt >= 1420640400000 and dt <= 1420644000000;

我只得到一排:

代码语言:javascript
复制
 gran | ctx | io | eid                                  | dt            | apdex_s | apdex_t | count | error | time
------+-----+----+--------------------------------------+---------------+---------+---------+-------+-------+--------
  min |   A |  i | 4379eec6-ba09-4f70-8862-1c864595c371 | 1420640400000 |     671 |       4 |   677 |     0 | 168253

我也试图扩大范围,但没有更好的结果。这不是唯一的情况,但如果更改dt参数,有时会得到几行的正确结果。

一个节点工具的修复不能解决问题。

我在吉拉没有找到任何关于这个问题的票。有人知道这个问题吗?谢谢你的帮助。

编辑:更多信息:复制因子=3集群有8个或9个节点,大部分时间增量使用javaDriver2.1.5完成,并使用以下命令准备语句:UPDATE main_cnt SET time = time + ?, \"count\" = \"count\" + ?, error = error + ?, apdex_s = apdex_s + ?, apdex_t = apdex_t + ? WHERE gran = ? AND dt = ? AND ctx = ? AND eid = ? AND io = ?

正常选择的跟踪:不正确范围选择的trace1.log跟踪:trace2.log

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-26 12:39:05

不知道为什么,但在将集群升级到cassandra 2.1.8之后,问题就解决了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30713744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档