Hi,

I found problems in mod_cache + mod_proxy and handling multiple brigade.
If someone have ideas on it...

1)
When the mod_cache is trying to cache a document in multiple brigade, it 
store and concat each brigade in cache->saved_brigade.
When the first brigade is cached, the r->headers_out are all available, 
but when the others brigade are going throught the mod_cache, there is 
no more r->headers_out.

Mod_cache is writting the headers informations when it find the last 
brigade (containing EOS bucket).
So at this moment, mod_cache is able to store headers he put in "info", 
but not the others one he should find in r->headers_out

So i can read the Server header of my reverse proxy instead of the 
backend headers.
This bug happen really random and i am not able at the moment to exactly 
find why ?

2)
When a document in multiple brigade is handled by reverse proxy and cache.
The first time, it cache the document without error. (the browser 
display the document)
The second time, it serve the document from cache.( the browser doesn't 
display the document)

When the browser receive the document from cache, it's impossible for 
him to display it but he received the good data ( i do a md5sum to 
control ).

The only difference between the two answer, is the not cached and first 
request doesn't contain a content-length
the second request receiving data from cache contain differents headers 
like content-length (seems to be right) and some more headers like Age.

3)
When a document is cached the first time,  the debug message say that he 
will cache the url.
I put debug in the cache_write_entity_headers and body to see if they 
all finish well.
the debug message never display an error on that, but the next request 
which should be handled by cache is still handled by the reverse proxy
and the cache say again he will cache the url...


In conclusion, do you think all these problems could be linked ?
What is amazing is i do my test on two different boxes:

the mod_cache + mod_proxy is working fine on redhat 8, a document of 
1200bytes is handled in one brigade
the mod_cache + mod_proxy is not working properly on a redhat 7.2 and 
the same document as above is handled in 2 brigade...
The compilations lines and the source code are EXACTLY the same.
The backend server is the same too for all the test.

I will try to find more details about this problems.

regards,

Estrade Matthieu


______________________________________________________________________
Etudiant: Wanadoo t'offre le Pack eXtense Haut Débit soit 150,92 euros
d'économies ! Clique ici : http://www.ifrance.com/_reloc/mail.etudiant 

Reply via email to