1

考虑 Aerospike 中的一个场景:

data-in-memory 设置为 true 并且内存空间 < 磁盘空间

当内存被填满时会发生什么(达到 stop-writes-pct)。aerospike 是否停止一起接受写入?或者它将继续写入磁盘(如果磁盘空间可用)?

在多节点设置中,上述行为如何受到影响?

4

2 回答 2

4

当达到 stop-writes-pct 时,写入将开始完全失败。在内存中的数据配置中,任何原因(磁盘或内存已满)触发的停止写入都将受到两者的尊重。

此行为是针对每个节点的(因为 stop-writes-pct 与节点相关,而不与集群相关)。

在集群的情况下,如果它的节点具有停止写入的数据/分区的主副本,则该写入将失败。

如果命中停止写入的节点应该是副本分区节点,则允许对副本数据进行写入。

于 2015-03-02T12:12:58.207 回答
0

单节点

  1. 如果在内存中达到stop-writes-pct,它将导致写入失败。
  2. 如果在磁盘中达到stop-writes-pct,它将导致写入失败。

Aerospike 集群

  1. 如果在 Master 中达到stop-writes-pct,它将导致写入失败。
  2. 如果在 Replica 中达到stop-writes-pct,它也会因为write.commit_level默认为all而失败。
于 2015-05-06T06:30:28.717 回答