Prefix tree splits do not match SKS
Bug #1263575 reported by
Casey Marshall
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
hockeypuck |
Fix Committed
|
Critical
|
Casey Marshall |
Bug Description
The Hockeypuck prefix tree does not split the same given elements in the same way as SKS -- different child nodes are assigned different elements. This causes Hockeypuck reconciliation to fail to converge with SKS when resolving most differences.
Hockeypuck integration tests have added capability to snapshot the prefix tree splitting pattern and distribution of elements to a JSON format that can be easily audited to debug the difference between conflux & SKS.
conflux unit tests have been added to test prefix tree splits against SKS prefix tree snapshots.
To post a comment you must log in.
This is fixed in conflux. Bitstrings were being reversed when they didn't need to be, and the child node ordering has been corrected. Unit tests now check for correct node splitting and element allocation.
There were also some issues in Hockeypuck that prevented convergence -- needed to include all the unsupported packets in the hashquery & hget responses, since they are used to calculate the same hashes as SKS.