[
https://issues.apache.org/jira/browse/HTTPCLIENT-1868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16298274#comment-16298274
]
ASF subversion and git services commented on HTTPCLIENT-1868:
-------------------------------------------------------------
Commit 002f40f9d3ec65891b5faf086df404dd3c450600 in httpcomponents-client's
branch refs/heads/master from [~olegk]
[ https://git-wip-us.apache.org/repos/asf?p=httpcomponents-client.git;h=002f40f
]
HTTPCLIENT-1824, HTTPCLIENT-1868: Asynchronous HTTP cache storage API;
Memcached backend implementation of async HTTP cache storage
> Make memcached storage backend operation non-blocking
> -----------------------------------------------------
>
> Key: HTTPCLIENT-1868
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1868
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: HttpClient (async)
> Affects Versions: 5.0 Alpha2
> Reporter: Jim Horng
> Labels: volunteers-wanted
>
> < Context >
> Since `HttpAysncClient` is non-blocking, but it's operation to memcached at
> `MemcachedHttpCacheStorage` layer still using blocking I/O manner. Even
> `spymemcached` client which has non-blocking I/O in nature, but
> `MemcachedHttpCacheStorage` is using `spymemcached` blocking API.
> < Benefit >
> If all the way in flow of `HttpAsyncClient` is non-blocking, then it can
> truely do high concurrency with just a few threads, otherwise, performance
> will be largely impact by blocking calls since there's only a few threads for
> serving http requests.
> < Code Flow for Blocking manner >
> #
> `org.apache.http.impl.client.cache.memcached.MemcachedHttpCacheStorage#getEntry`
> -> `final MemcachedCacheEntry mce = reconstituteEntry(client.get(key));`
> # net.spy.memcached.MemcachedClient#get(java.lang.String)
> Should use `net.spy.memcached.MemcachedClient#asyncGet(java.lang.String)`,
> but then whole API calling structure require big changes.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]