如果在Cassandra中写入记录时磁盘已满,会发生什么情况?
在cassandra中存储记录(存储的记录的一半)时,如果我的磁盘已满且没有空间,会发生什么?如果抛出任何异常,该异常是什么如果在Cassandra中写入记录时磁盘已满,会发生什么情况?,cassandra,Cassandra,在cassandra中存储记录(存储的记录的一半)时,如果我的磁盘已满且没有空间,会发生什么?如果抛出任何异常,该异常是什么 第二种情况是,如果在磁盘已满的情况下创建一个新的键空间怎么办?如果抛出任何异常,该异常是什么?我想您将得到一个超时异常。我只是在尝试将数据加载到磁盘空间不足的主机时遇到了这种情况。这取决于您正在写入的密钥空间是否是使用持久写入=true或false(默认值为true)创建的 如果是前者,并且您的commitlog磁盘已满,则在写入commitlog时将抛出IOExcept
第二种情况是,如果在磁盘已满的情况下创建一个新的键空间怎么办?如果抛出任何异常,该异常是什么?我想您将得到一个超时异常。我只是在尝试将数据加载到磁盘空间不足的主机时遇到了这种情况。这取决于您正在写入的密钥空间是否是使用持久写入=true或false(默认值为true)创建的 如果是前者,并且您的commitlog磁盘已满,则在写入commitlog时将抛出IOException(但不会作为响应的一部分返回),请求将超时 如果是后者,并且您的数据磁盘已满,您将获得成功的响应。但是memtable无法刷新到磁盘,它的大小将不断增长,直到整个节点耗尽RAM并终止 在第二种情况下,尝试写入commitlog或尝试将新架构刷新到磁盘时将引发异常,具体取决于哪个驱动器已满。在这两种情况下,请求都将超时
即将推出的Cassandra 1.2(目前处于测试阶段)改进了对此类情况的处理—请阅读详细信息。如果磁盘已满,则意味着它将停止执行。我试了很多次,每次它都停止执行。所以您的客户端api抛出连接拒绝异常