Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-13736

[Go SDK] Fix hash collision risk in Combiner Lifting cache

Details

    • Improvement
    • Status: Resolved
    • P2
    • Resolution: Fixed
    • None
    • None
    • sdk-go
    • None

    Description

      Relying only on a hash is brittle for map implementations, and can lead to correctness issues when keys collide.

      While the Go SDK implementation is leaning on the Go map, we need to rely on byte equality so we need to fend for ourselves a bit, and handle overflow buckets and the like.

      We won't go so far as to do a rehash or similar balancing techniques as it's not clear that between the caches' size constraint, and the evenness of the hash function that they are all that likely.

      Attachments

        Issue Links

          Activity

            People

              lostluck Robert Burke
              lostluck Robert Burke
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 40m
                  1h 40m