You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Robert Kennedy (Jira)" <ji...@apache.org> on 2022/02/07 17:55:00 UTC

[jira] [Commented] (HTTPCLIENT-2202) MemcachedHttpCacheStorage should use MemcachedClientIF interface

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-2202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488290#comment-17488290 ] 

Robert Kennedy commented on HTTPCLIENT-2202:
--------------------------------------------

Here is an example of what I'm referring to:
{code:java}
public class MemcachedHttpCacheStorage extends AbstractBinaryCacheStorage<CASValue<Object>> {
    private final MemcachedClientIF client;
    private final KeyHashingScheme keyHashingScheme;

    public MemcachedHttpCacheStorage(MemcachedClientIF client, CacheConfig config, HttpCacheEntrySerializer<byte[]> serializer, KeyHashingScheme keyHashingScheme) {
        super((config != null ? config : CacheConfig.DEFAULT).getMaxUpdateRetries(), (HttpCacheEntrySerializer)(serializer != null ? serializer : ByteArrayCacheEntrySerializer.INSTANCE));
        this.client = (MemcachedClientIF) Args.notNull(client, "Memcached client");
        this.keyHashingScheme = keyHashingScheme;
    }
...{code}

>  MemcachedHttpCacheStorage should use MemcachedClientIF interface
> -----------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2202
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2202
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpCache
>    Affects Versions: 5.0, 5.1, 5.1.1, 5.1.2, 5.1.3
>            Reporter: Robert Kennedy
>            Priority: Minor
>             Fix For: 5.1.4
>
>
> There appears to be a regression from 4.x to 5.x in which MemcachedHttpCacheStorage now requires the MemcachedClient object instead of the interface MemcachedClientIF. The class doesn't use any functionality outside of the interface, so why require anything higher than the interface?
> Changing to use MemcachedClientIF would be backward compatible since MemcachedClient implements this interface already.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org