eBay / HomeObject

Replicated BLOB Store built upon HomeStore
Apache License 2.0
6 stars 15 forks source link

Data Mismatch in read verify #222

Closed Besroy closed 3 weeks ago

Besroy commented 3 weeks ago

From SM-long-running-test side, we encountered failures during the data read_verify process on two separate occasions: Hash Mismatch: The issue occurred once where one follower experienced a hash mismatch. Invalid Header: Another instance where a different follower encountered an invalid header. Additional Details: For more comprehensive information and context regarding these failures, please refer to the documentation provided in the following link: Google Docs

JacksonYao287 commented 3 weeks ago

I prefer adding checksum in PushData proto , which will ensure the data correctness at homestore level.

homestore is a common data plane which is now used by nublox and nuobject and will probably be used by other distributed storage system in the future. as a common data plane , it should take the responsibility to transfer data between the peers and ensure the correctness of data, it`s one of the fundamental functionality, just like TCP.

so IMO, in the sender side , checksum should be put in the proto , and in the receiver side, it should verify the data with the checksum. if not match, fetch it immediately. meanwhile , if we want, we can add a configuration to disable this and hand over the verification to upper layer.

Besroy commented 3 weeks ago

Thanks! I move this issue to homestore_issue