zoukankan      html  css  js  c++  java
  • Cassandra

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

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

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

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

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

  • 相关阅读:
    谈谈Nullable<T>的类型转换问题
    MiniProfiler使用方法
    捕获变量
    web服务相关的问题或技巧
    对接mysql数据库遇见的一些问题
    委托
    导出到Excel
    斐波那契数列的运算时间
    .net framework摘抄与理解
    sql 语句
  • 原文地址:https://www.cnblogs.com/didda/p/4913284.html
Copyright © 2011-2022 走看看