Skip to content
Snippets Groups Projects
  • Scott Snyder's avatar
    7a0a4753
    AthenaConfiguration: Fix CA caching issue. · 7a0a4753
    Scott Snyder authored and Duc Ta's avatar Duc Ta committed
    AthenaConfiguration: Fix CA caching issue.
    
    We can use AccumulatorCache to memoize results of functions returning a CA.
    The memoized results are looked up by a hash of the arguments.
    
    However, the hash of a set of configuration flags is based on the object id
    (since only locked flags can be hashed).  But this can fail if flag
    objects are deleted and recreated, since then we can have flags objects
    with different values but the same hash.
    
    When we hash a set of flags, save a reference to it, so that the address
    won't be reused.  Shouldn't significantly affect typical configurations
    which don't reuse flags objects, but some unit tests do that.
    
    See ATLASRECTS-8070.
    7a0a4753
    History
    AthenaConfiguration: Fix CA caching issue.
    Scott Snyder authored and Duc Ta's avatar Duc Ta committed
    AthenaConfiguration: Fix CA caching issue.
    
    We can use AccumulatorCache to memoize results of functions returning a CA.
    The memoized results are looked up by a hash of the arguments.
    
    However, the hash of a set of configuration flags is based on the object id
    (since only locked flags can be hashed).  But this can fail if flag
    objects are deleted and recreated, since then we can have flags objects
    with different values but the same hash.
    
    When we hash a set of flags, save a reference to it, so that the address
    won't be reused.  Shouldn't significantly affect typical configurations
    which don't reuse flags objects, but some unit tests do that.
    
    See ATLASRECTS-8070.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.