The linearstore now implements a 32-bit checksum in the record tail to check data integrity of the xid and data sections of the record. These have not been implemented (the value 0x0 is hardwired currently) and need some developement effort.
Upstream bug: https://issues.apache.org/jira/browse/QPID-5358
Fixed in r.1547601
See upstream bug (comment 1) for further comments.
Could you please describe implemeted checksum, like where it is written, for which items is computed, etc. ?
The checksum is calculated for the entire record except the record tail, ie header, xid (if present) and data (if present).
The checksum uses the Adler-32 algorithm, and is implemented in the store in linearstore/jrounal/Checksum.h, cpp.
There is a Python equivalent in zlib which I use in the linearstore file analyzer, and can be used as follows:
return slib.adler32(data) & 0xffffffff
and will return identical results to the c++ version for the same data.
This was checked on RHEL 6.5 i386 & x86_64 with packages:
Since this was a check / review setting qe_test_coverage-