[ 
https://issues.apache.org/jira/browse/SOLR-127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563896#action_12563896
 ] 

Thomas Peuss commented on SOLR-127:
-----------------------------------

What about using the index opening time for last-modified and allow an 
arbitrary string for the cacheHeaderSeed? The opening time is guaranteed to be 
greater than both index-last-mod and config-last-mod. When you have a cluster 
of slaves then their last-mods would differ - but does that really hurt? I 
think no.

Think of following scenario:
* Slave 1 has opentime X
* Slave 2 has opentime X+2
* Slave 3 has opentime X+4

When you have round-robin load balancing all clients sometime in the future hit 
Slave 3 and save _X+4_ as last-mod for the request. When they now issue a 
request with a conditional header (If-Modified-Since X+4) Solr on Slave 2 and 3 
would send a 304 (Not-Modified) as well. When the index changes you would get a 
suboptimal behavior for some time - but the code would be much easier.

This would allow us to use an arbitrary string in cacheHeaderSeed for the 
ETags. To put semantics in cacheHeaderSeed is error prone. I don't like that.

I am fine with the regex solution. It is both flexible and easy to code.

> Make Solr more friendly to external HTTP caches
> -----------------------------------------------
>
>                 Key: SOLR-127
>                 URL: https://issues.apache.org/jira/browse/SOLR-127
>             Project: Solr
>          Issue Type: Wish
>            Reporter: Hoss Man
>            Assignee: Hoss Man
>             Fix For: 1.3
>
>         Attachments: CacheUnitTest.patch, HTTPCaching.patch, 
> HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, 
> HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, 
> HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, 
> HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, 
> HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, HTTPCaching.patch, 
> HTTPCaching.patch
>
>
> an offhand comment I saw recently reminded me of something that really bugged 
> me about the serach solution i used *before* Solr -- it didn't play nicely 
> with HTTP caches that might be sitting in front of it.
> at the moment, Solr doesn't put in particularly usefull info in the HTTP 
> Response headers to aid in caching (ie: Last-Modified), responds to all HEAD 
> requests with a 400, and doesn't do anything special with If-Modified-Since.
> t the very least, we can set a Last-Modified based on when the current 
> IndexReder was open (if not the Date on the IndexReader) and use the same 
> info to determing how to respond to If-Modified-Since requests.
> (for the record, i think the reason this hasn't occured to me in the 2+ years 
> i've been using Solr, is because with the internal caching, i've yet to need 
> to put a proxy cache in front of Solr)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to