You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Discuss a consistent policy for hash collisions #906
Discuss whether and how Phlex should handle hash collisions consistently. This follow-up does not need to block PR #704.
Context
phlex/core/producer_catalog.cpp uses 64-bit hashes while tracking product suffixes, creator names, and types during producer selection. add_to_tracker detects distinct values that have the same hash in some cases. Other code also relies on hashed values.
Decide whether collision detection, collision-safe equality, or acceptance of the existing risk is appropriate across the project.
Scope
Identify locations where hashes act as identity values or map keys in product selection and related logic.
Agree on a project-wide policy for hash collisions and document the trade-offs.
If changes are required, identify the affected code and tests.
Acceptance criteria
The maintainers document the hash-collision policy.
The discussion identifies any required follow-up work.
This issue was discussed on October 12, 2026 at a Phlex development meeting. The conclusion is that the body of code in question in phlex/core/producer_catalog.cpp (specifically the add_to_tracker(...) functionality) can be replaced with a simple std::set<identifier> solution, thereby avoiding the hash-collision issue.
Activity
knoepfel commentedon Oct 12, 2026
This issue was discussed on October 12, 2026 at a Phlex development meeting. The conclusion is that the body of code in question in
phlex/core/producer_catalog.cpp(specifically theadd_to_tracker(...)functionality) can be replaced with a simplestd::set<identifier>solution, thereby avoiding the hash-collision issue.knoepfel commentedon Oct 12, 2026
See follow-up work at #971.