-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Use case: verify manually that integrity verifier job wasn't a transient I/O failure.
Current manual process
Take CRC32 (IEEE) for the blob:
$ cd /mnt/varasto/<volume>/<volume>-varasto
$ ref="04c59c83f..."
$ fsPath=$(sto debug localfsblobstore-path "$ref") && python3 -c "import zlib; print(f'{zlib.crc32(open('.$fsPath','rb').read()) & 0xffffffff:08x}')" && echo "refBase64: " $(echo -n "$ref" | xxd -r -p | base64 -w0)
5c27176e
refBase64: BMWcg/a95lup...Compare this to the checksum from database:
$ grep BMWcg/a95lup... varasto-test.export
{"Ref":"BMWcg/a95lup...","EncryptionKeyID":"Atg9bvskec4","Volumes":[7,19],"VolumesPendingReplication":[],"Referenced":true,"IsCompressed":false,"Size":4194304,"SizeOnDisk":4194304,"Crc32":"XCcXbg=="}
$ echo -n XCcXbg==|base64 -d | xxd -p
5c27176eWe see that crc32 matches with what's in the database.
Automation
TODO: plan
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels