Bug 1052727
Summary: | Linearstore: Checksums not implemented in record tail | ||
---|---|---|---|
Product: | Red Hat Enterprise MRG | Reporter: | Kim van der Riet <kim.vdriet> |
Component: | qpid-cpp | Assignee: | Kim van der Riet <kim.vdriet> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Zdenek Kraus <zkraus> |
Severity: | unspecified | Docs Contact: | |
Priority: | medium | ||
Version: | Development | CC: | esammons, iboverma, jross, kim.vdriet, zkraus |
Target Milestone: | 3.0 | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | qpid-cpp-0.22-33 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-01-21 12:54:57 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 709325 |
Description
Kim van der Riet
2014-01-13 23:22:24 UTC
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: import zlib def adler32(data): 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: perl-qpid-0.22-7.el6 python-qpid-0.22-11.el6 python-qpid-qmf-0.22-27.el6 qpid-cpp-client-0.22-35.el6 qpid-cpp-client-devel-0.22-35.el6 qpid-cpp-client-devel-docs-0.22-35.el6 qpid-cpp-debuginfo-0.22-35.el6 qpid-cpp-server-0.22-35.el6 qpid-cpp-server-devel-0.22-35.el6 qpid-cpp-server-ha-0.22-35.el6 qpid-cpp-server-linearstore-0.22-35.el6 qpid-cpp-server-xml-0.22-35.el6 qpid-java-client-0.22-6.el6 qpid-java-common-0.22-6.el6 qpid-java-example-0.22-6.el6 qpid-jca-0.22-2.el6 qpid-jca-xarecovery-0.22-2.el6 qpid-proton-c-0.6-1.el6 qpid-proton-c-devel-0.6-1.el6 qpid-proton-debuginfo-0.6-1.el6 qpid-qmf-0.22-27.el6 qpid-qmf-debuginfo-0.22-27.el6 qpid-snmpd-1.0.0-15.el6 qpid-snmpd-debuginfo-1.0.0-15.el6 qpid-tools-0.22-8.el6 ruby-qpid-qmf-0.22-27.el6 -> VERIFIED Since this was a check / review setting qe_test_coverage- |