APAR status
Closed as program error.
Error description
A cachespec.xml file was setup to allow whole page caching
within dynacache for a customized Commerce sample store
(FashionFlow). The defined caching rules seemed to behave
properly within the appserver dynacache when observing reponse
times on pages and cache contents from cachemonitor. When
configuration changes were added to allow caching on the web
server, we found the cache rules in the web server did not match
those within the appserver dynacache (cache rules viewed through
cachemonitor). Typically we found that the cache rules in the
web server where missing several of the parameters that were
defined for a cacheid and therefore mapping new requests to the
wrong cache rule. For instance, if a request came in for the
com.ibm.commerce.server. RequestServlet servlet with uri
CatlogDisplay and parameters storeId, catalogId, categoryId,
price, catGroupId,it would map to an incorrect cache rule on the
web server that just had storeId and catalogId specified for the
rule. This was therefore causing users to encounter the wrong
pages when traversing through our test commerce catalog store.
Once ESI caching turned off and only used appserver dynacache
caching, everything worked correctly again. As another note, we
found some of this behavior was corrected when we commented out
the consume-subgragments attribute in our cachespec.xml file,
so there may be some link between the problem and this property
setting. Changing POST calls in our sample commerce application
to GET calls also seemed to have some effect if the
consume-subfragments property was turned off. None of these
changes were necessary for proper functioning within appserver s
dynacache. The Category Display cacheid was the source of our
biggest problems in ESI (again, this seems to work fine in
appserver cache). Part of our cachespec.xml file:
Local fix
N/A
Problem summary
****************************************************************
* USERS AFFECTED: All dynamic cache users *
****************************************************************
* PROBLEM DESCRIPTION: When generating the cache-id used by *
* the ESI Processor the value is stored *
* in a local variable. This local *
* variable holds the ESI cache-id for *
* the current cache-id rule that has *
* been matched. When a new request *
* comes in this local variable must be *
* reset. If the variable is not reset *
* the same ESI cache-id rule is used *
* each time the servlet/jsp is *
* requested even if a different *
* cache-id rule is matched. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
ESI Processor serving wrong pages when using the component
pathinfo for the cache-id.
Problem conclusion
The local variable holding the current ESI cache-id is reset
each time a new request comes in for the servlet/jsp.
Temporary fix Comments
APAR information |
APAR number |
PQ82121 |
Reported component name |
WAS NETWRK DEPL |
Reported component ID |
5630A3601 |
Reported release |
00A |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Special Attention |
NoSpecatt |
Submitted date |
2003-12-12 |
Closed date |
2004-01-12 |
Last modified date |
2004-01-12 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
Publications Referenced
Applicable component levels |
R003 PSY |
UP |
R00A PSY |
UP |
R00H PSY |
UP |
R00I PSY |
UP |
R00P PSY |
UP |
R00S PSY |
UP |
R00W PSY |
UP |
R103 PSY |
UP |
R10A PSY |
UP |
R10H PSY |
UP |
R10I PSY |
UP |
R10P PSY |
UP |
R10S PSY |
UP |
R10W PSY |
UP |
|