Skip to content
  • Alejandro Dustet's avatar
    78b74e92
    Deprecate initialize memcache store with dalli client · 78b74e92
    Alejandro Dustet authored
    Why:
    ----
    
    Following up on [#47323](https://github.com/rails/rails/issues/47323).
    Many options are not forwarded to the Dalli client when it is
    initialized from the `ActiveSupport::Cache::MemCacheStore`. This is to
    support a broader set of features powered by the implementation. When an
    instance of a client is passed on the initializer, it takes precedence,
    and we have no control over which attributes will be overridden or
    re-processed on the client side; this is by design and should remain as
    such to allow both projects to progress independently. Having this
    option introduces several potential bugs that are difficult to pinpoint
    and get multiplied by which version of the tool is used and how each
    evolves. During the conversation on the issue, the `Dalli` client
    maintainer supports [deprecating](https://github.com/rails/rails/issues/47323#issuecomment-1424292456)
    this option.
    
    How:
    ----
    
    Removing this implicit dependency will ensure each library can evolve
    separately and cements the usage of `Dalli::Client` as an [implementation
    detail](https://github.com/rails/rails/issues/21595#issuecomment-139815433
    
    )
    
    We can not remove a supported feature overnight, so I propose we add a
    deprecation warning for the next minor release(7.2 at this time).
    
    There was a constant on the `Cache` namespace only used to restrict
    options passed to the `Dalli::Client` initializer that now lives on the
    `MemCacheStore` class.
    
    Co-authored-by: default avatarEileen M. Uchitelle <eileencodes@users.noreply.github.com>
    78b74e92
    Deprecate initialize memcache store with dalli client
    Alejandro Dustet authored
    Why:
    ----
    
    Following up on [#47323](https://github.com/rails/rails/issues/47323).
    Many options are not forwarded to the Dalli client when it is
    initialized from the `ActiveSupport::Cache::MemCacheStore`. This is to
    support a broader set of features powered by the implementation. When an
    instance of a client is passed on the initializer, it takes precedence,
    and we have no control over which attributes will be overridden or
    re-processed on the client side; this is by design and should remain as
    such to allow both projects to progress independently. Having this
    option introduces several potential bugs that are difficult to pinpoint
    and get multiplied by which version of the tool is used and how each
    evolves. During the conversation on the issue, the `Dalli` client
    maintainer supports [deprecating](https://github.com/rails/rails/issues/47323#issuecomment-1424292456)
    this option.
    
    How:
    ----
    
    Removing this implicit dependency will ensure each library can evolve
    separately and cements the usage of `Dalli::Client` as an [implementation
    detail](https://github.com/rails/rails/issues/21595#issuecomment-139815433
    
    )
    
    We can not remove a supported feature overnight, so I propose we add a
    deprecation warning for the next minor release(7.2 at this time).
    
    There was a constant on the `Cache` namespace only used to restrict
    options passed to the `Dalli::Client` initializer that now lives on the
    `MemCacheStore` class.
    
    Co-authored-by: default avatarEileen M. Uchitelle <eileencodes@users.noreply.github.com>
Loading