doulian4762 2014-04-16 15:15
浏览 31

Cassandra DB中的日期插入:非平凡的1h班次问题(后续)

This is a follow-up of this other original post.

ENVIRONMENT:

Cassandra running on OpenSuse (over its Java Virtual Machine).

Server set as timezone "Europe/Zurich".

The tests include this server only. No other servers involved.

TEST:

"BEGIN BATCH USING CONSISTENCY ONE insert into tsmeasures(id,'2015-01-01 00:00:00','2015-06-01 00:00:00') values ('2812621',1,2) APPLY BATCH"

RESULTS OBSERVED FROM PHP (on the same Cassandra sever):

"SELECT '2014-06-01'..'2015-12-01' FROM tsmeasures WHERE id IN(2812621)"
unpacked_value=1420066800, str_time='2015-01-01 00:00:00' <= OK
unpacked_value=1433113200, str_time='2015-06-01 01:00:00' <= NOT OK !

Thus the dates were interpreted as GMT+1.

SOLUTION:

In "cassandra_env.sh", add the option -Duser.timezone when running Java:

JVM_OPTS="$JVM_OPTS -Duser.timezone=Europe/Zurich"

REPEATING TEST AFTER THE FIX:

"BEGIN BATCH USING CONSISTENCY ONE insert into tsmeasures(id,'2015-01-01 00:00:00','2015-06-01 00:00:00') values ('2812621',1,2) APPLY BATCH"

NEW RESULTS OBSERVED FROM PHP AFTER THE FIX (on the same Cassandra sever):

"SELECT '2014-06-01'..'2015-12-01' FROM tsmeasures WHERE id IN(2812621)"
unpacked_value=1420066800, str_time='2015-01-01 00:00:00' <= OK
unpacked_value=1433113200, str_time='2015-06-01 00:00:00' <= OK

Dates interpreted as:

  • Central European Winter Time = GMT+1
  • Central European Summer Time = GMT+2
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
    • ¥15 unity连接Sqlserver
    • ¥15 图中这种约束条件lingo该怎么表示出来
    • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
    • ¥15 流式socket文件传输答疑
    • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
    • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题
    • ¥15 win10,这种情况怎么办
    • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
    • ¥100 在连接内网VPN时,如何同时保持互联网连接