[
https://issues.apache.org/jira/browse/COUCHDB-2859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14985968#comment-14985968
]
ASF GitHub Bot commented on COUCHDB-2859:
-----------------------------------------
GitHub user KlausTrainer opened a pull request:
https://github.com/apache/couchdb-chttpd/pull/93
Don't set random ETag header for `_all_docs` view
This fixes the issue that by setting a random ETag header, we implicitly
promised that there's a chance of a cache hit where there was no chance.
For 2.0, we simply remove the random ETag without replacement, in order
to not accidentally cause useless cache bloat in clients.
COUCHDB-2859
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/KlausTrainer/couchdb-chttpd
2859-remove-all-docs-etag
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/couchdb-chttpd/pull/93.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #93
----
commit e5b1aee90e7e6c0b78f60b675f89a6e3f26a7931
Author: Klaus Trainer <[email protected]>
Date: 2015-11-02T20:22:26Z
Don't set random ETag header for `_all_docs` view
This fixes the issue that by setting a random ETag header, we implicitly
promised that there's a chance of a cache hit where there was no chance.
For 2.0, we simply remove the random ETag without replacement, in order
to not accidentally cause useless cache bloat in clients.
COUCHDB-2859
----
> View-Etags not working on cluster
> ---------------------------------
>
> Key: COUCHDB-2859
> URL: https://issues.apache.org/jira/browse/COUCHDB-2859
> Project: CouchDB
> Issue Type: Bug
> Reporter: Sebastian Rothbucher
> Fix For: 2.1.0
>
>
> (from list_views.js Integration test)
> 2 Reproduce: Query view, grab etag, query view again with -H 'if-none-match:
> <etag>'
> Complete run:
> {noformat}
> [root@localhost couchdb]# curl -X GET
> 'http://localhost:15984/test_suite_db/_design/vtest/_view/v' -v
> * About to connect() to localhost port 15984 (#0)
> * Trying ::1...
> * Verbindungsaufbau abgelehnt
> * Trying 127.0.0.1...
> * Connected to localhost (127.0.0.1) port 15984 (#0)
> > GET /test_suite_db/_design/vtest/_view/v HTTP/1.1
> > User-Agent: curl/7.29.0
> > Host: localhost:15984
> > Accept: */*
> >
> < HTTP/1.1 200 OK
> < Cache-Control: must-revalidate
> < Content-Type: text/plain; charset=utf-8
> < Date: Sat, 17 Oct 2015 16:44:07 GMT
> < ETag: "16d73d700397bb00da24d90cde000bd1"
> < Server: CouchDB/8924e94 (Erlang OTP/17)
> < Transfer-Encoding: chunked
> < X-Couch-Request-ID: 63c44f488f
> < X-CouchDB-Body-Time: 0
> <
> {"total_rows":1,"offset":0,"rows":[
> {"id":"testdel","key":null,"value":null}
> ]}
> * Connection #0 to host localhost left intact
> [root@localhost couchdb]# curl -X GET
> 'http://localhost:15984/test_suite_db/_design/vtest/_view/v' -v -H
> 'if-none-match: "16d73d700397bb00da24d90cde000bd1"'
> * About to connect() to localhost port 15984 (#0)
> * Trying ::1...
> * Verbindungsaufbau abgelehnt
> * Trying 127.0.0.1...
> * Connected to localhost (127.0.0.1) port 15984 (#0)
> > GET /test_suite_db/_design/vtest/_view/v HTTP/1.1
> > User-Agent: curl/7.29.0
> > Host: localhost:15984
> > Accept: */*
> > if-none-match: "16d73d700397bb00da24d90cde000bd1"
> >
> < HTTP/1.1 200 OK
> < Cache-Control: must-revalidate
> < Content-Type: text/plain; charset=utf-8
> < Date: Sat, 17 Oct 2015 16:44:24 GMT
> < ETag: "16d73d700397bb00da24d90cde00194f"
> < Server: CouchDB/8924e94 (Erlang OTP/17)
> < Transfer-Encoding: chunked
> < X-Couch-Request-ID: 9a3cd3257b
> < X-CouchDB-Body-Time: 0
> <
> {"total_rows":1,"offset":0,"rows":[
> {"id":"testdel","key":null,"value":null}
> ]}
> * Connection #0 to host localhost left intact
> [root@localhost couchdb]#
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)