在cassandra中存储记录(存储的记录的一半),如果我的磁盘已满并且没有空间,会发生什么?如果抛出任何异常,该异常是什么?
第二种情况是,如果我在磁盘已满时创建新的密钥空间怎么办?如果抛出任何异常,该异常是什么?
小智 6
这取决于您写入的键空间是否使用durable_writes = true或false创建(true是默认值).
如果它是前者并且您的commitlog磁盘已满,则在写入commitlog时将抛出IOException(但不会作为响应的一部分返回),并且请求将超时.
如果是后者并且您的数据磁盘已满,您将获得成功的响应.但是,无法刷新到磁盘的memtable将继续增大,直到整个节点耗尽RAM并终止.
在第二种情况下,尝试写入commitlog或尝试将新架构刷新到磁盘时会抛出异常,具体取决于哪个驱动器已满.在这两种情况下,请求都会超时.
即将推出的Cassandra 1.2(目前处于测试阶段)可以改善对此类案例的处理 - 阅读Cassandra 1.2中的处理磁盘故障以获取详细信息.
| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |