【HDFS】EC重构过程中的校验功能:DecodingValidator

一、动机

DecodingValidator是在HDFS-15759中引入的一个用于校验EC数据重构正确性的组件。

先说下引入DecodingValidator的动机,据很多已知的ISSUE(如HDFS-14768, HDFS-15186, HDFS-15240,这些目前都已经fix了)反馈,
EC在重构的时候可能会有各种各样的问题,导致数据错误,造成block corrupt。

直接抛异常的问题还好处理,重试或者bugfix就好了,最致命的是不报错,正常重构,但是数据内容不正确。这就很严重了。

这就是做DecodingValidator的动机。

二、基本原理及示例

基本原理:

第一步:使用解码后的输出作为新的输入再进行解码
第二步:将解码得到的结果与原始输入进行比较

示例说明:
以RS-6-3为例,假设原始数据块是 [d0, d1, d2, d3, d4, d5],校验块是 [p0, p1, p2]。
假设我们丢失了 d1 和 p1,使用 [d0, d2, d3, d4, d5, p0] 作为输入,解码得到了 [d1, p1] 作为输出。

还有 84% 的精彩内容
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
支付 ¥2.00 继续阅读

推荐阅读更多精彩内容