zoukankan      html  css  js  c++  java
  • Cassandra

    在delete一条数据后,再insert 相同内容的数据,结果看起来是成功的,但是当你去查找这个数据,却没有任何内容,整个过程并且没有任何异常提示。

    这往往发生在单元测试的时候,我们反复清理和写入数据,单元测试有时候成功,有时候失败。
    这对单元测试来说,简直就是噩梦。。。

    从论坛上收集的一些信息显示,这是由于墓碑引起的,SSTable是不可修改的,数据delete后被标记墓碑,同主键的数据再写入的时候,由于墓碑的存在,还是被认为是删除的,即使写入成功。

    如果是测试,truncate tablename可以解决这个问题,但是如果数据不能这样全部清理,就不知道要如何处理了。

    我自己在使用过程中这个问题的触发会更诡异一些,使用PHP驱动进行写入,使用CQLSH客户端进行删除,然后再用PHP写入时,数据写不进去。
    但是如果使用PHP进行删除和写入操作,则没有这个问题。

  • 相关阅读:
    随机数
    质数
    猜数
    失败
    判断质数
    2019.7.21记录
    9*9乘法表
    小人
    奔跑的字母

  • 原文地址:https://www.cnblogs.com/didda/p/4913284.html
Copyright © 2011-2022 走看看