日志结束偏移(LEO)之前的日志是否仍然存在于磁盘中?

时间:2016-11-25 17:30:22

标签: apache-kafka

  

高水印计算为最小LEO(Log End Offset)   这个分区的所有ISR,它都会单调增长。

我的简单而愚蠢的问题是:日志结束偏移(LEO)之前的日志是否仍然存在于磁盘中?

enter image description here

1 个答案:

答案 0 :(得分:0)

根据我的理解,HW应与刷新的偏移没有直接关系。由于Linux的默认回写策略,刷新的偏移量应该是没有数据存储在磁盘上的点。

假设分区提交日志中有10条消息。由于所有这10条消息都已完全复制,因此硬件现在为10。后来制作人发出另外5条消息。现在LEO(日志结束偏移)是15,但是HW仍然是10,因为这些新创建的5条消息没有被所有关注者完全复制。但是请记住这个提交日志仍然在pagecache中,因此由于默认的回写,内核很可能没有将所有消息刷新到磁盘,因此刷新的偏移量可能在HW之前或之后。