Fix bug and further optimizations in availability distribution (#2104)
* Fix bug and further optimizations in availability distribution - There was a bug that resulted in only getting one candidate per block as the candidates were put into the hashmap with the relay block hash as key. The solution for this is to use the candidate hash and the relay block hash as key. - We stored received/sent messages with the candidate hash and chunk index as key. The candidate hash wasn't required in this case, as the messages are already stored per candidate. * Update node/core/bitfield-signing/src/lib.rs Co-authored-by: Robert Habermeier <firstname.lastname@example.org> * Remove the reverse map * major refactor of receipts & query_live * finish refactoring remove ancestory mapping, improve relay-parent cleanup & receipts-cache cleanup, add descriptor to `PerCandidate` * rename and rewrite query_pending_availability * add a bunch of consistency tests * Add some last changes * xy * fz * Make it compile again * Fix one test * Fix logging * Remove some buggy code * Make tests work again * Move stuff around * Remove dbg * Remove state from test_harness * More refactor and new test * New test and fixes * Move metric * Remove "duplicated code" * Fix tests * New test * Change break to continue * Update node/core/av-store/src/lib.rs * Update node/core/av-store/src/lib.rs * Update node/core/bitfield-signing/src/lib.rs Co-authored-by: Fedor Sakharov <email@example.com> * update guide to match live_candidates changes * add comment * fix bitfield signing Co-authored-by: Robert Habermeier <firstname.lastname@example.org> Co-authored-by: Bernhard Schuster <email@example.com> Co-authored-by: Fedor Sakharov <firstname.lastname@example.org>
This diff is collapsed.