You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2013/04/17 12:19:13 UTC
svn commit: r1468824 - in /httpcomponents/httpclient/branches/4.2.x: ./
httpclient-cache/src/main/java/org/apache/http/impl/client/cache/
Author: olegk
Date: Wed Apr 17 10:19:13 2013
New Revision: 1468824
URL: http://svn.apache.org/r1468824
Log:
HTTPCLIENT-1299: (regression) cache incorrectly disposes of the underlying cache resource when storing variant entry (follow-up)
Contributed by James Leigh <james at 3roundstones.com>
Modified:
httpcomponents/httpclient/branches/4.2.x/RELEASE_NOTES.txt
httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCache.java
httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/CacheEntryUpdater.java
Modified: httpcomponents/httpclient/branches/4.2.x/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/4.2.x/RELEASE_NOTES.txt?rev=1468824&r1=1468823&r2=1468824&view=diff
==============================================================================
--- httpcomponents/httpclient/branches/4.2.x/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpclient/branches/4.2.x/RELEASE_NOTES.txt Wed Apr 17 10:19:13 2013
@@ -1,6 +1,10 @@
Changes since Release 4.2.4
-------------------
+* [HTTPCLIENT-1299] (regression) cache incorrectly disposes of the underlying cache resource
+ when storing variant entry.
+ Contributed by James Leigh <james at 3roundstones.com>
+
* [HTTPCLIENT-1342] Redirects with underscore character in the location hostname cause
"java.lang.IllegalArgumentException: Host name may not be null".
Contributed by Oleg Kalnichevski <olegk at apache.org>
Modified: httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCache.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCache.java?rev=1468824&r1=1468823&r2=1468824&view=diff
==============================================================================
--- httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCache.java (original)
+++ httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/BasicHttpCache.java Wed Apr 17 10:19:13 2013
@@ -196,10 +196,9 @@ class BasicHttpCache implements HttpCach
src = entry;
}
- Resource oldResource = entry.getResource();
Resource resource = null;
- if (oldResource != null) {
- resource = resourceFactory.copy(requestId, entry.getResource());
+ if (src.getResource() != null) {
+ resource = resourceFactory.copy(requestId, src.getResource());
}
Map<String,String> variantMap = new HashMap<String,String>(src.getVariantMap());
variantMap.put(variantKey, variantCacheKey);
Modified: httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/CacheEntryUpdater.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/CacheEntryUpdater.java?rev=1468824&r1=1468823&r2=1468824&view=diff
==============================================================================
--- httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/CacheEntryUpdater.java (original)
+++ httpcomponents/httpclient/branches/4.2.x/httpclient-cache/src/main/java/org/apache/http/impl/client/cache/CacheEntryUpdater.java Wed Apr 17 10:19:13 2013
@@ -87,11 +87,9 @@ class CacheEntryUpdater {
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_NOT_MODIFIED)
throw new IllegalArgumentException("Response must have 304 status code");
Header[] mergedHeaders = mergeHeaders(entry, response);
- Resource oldResource = entry.getResource();
Resource resource = null;
- if (oldResource != null) {
+ if (entry.getResource() != null) {
resource = resourceFactory.copy(requestId, entry.getResource());
- oldResource.dispose();
}
return new HttpCacheEntry(
requestDate,