When you use Dynamic Caching for a web server, Dynamic Caching may incorrectly delete recently cached objects from a caching server that is running Forefront Threat Management Gateway 2010 or Internet Security and Acceleration Server 2006when concurrent requests are made for the same object and when the object is currently not cached.
For example, consider the following scenario:
In this scenario, the next request for the same object may cause additional requests to the web server. However, you expect the request instead to be served from the cache.
Note The cache is updated and works as expected unless all the conditions in this scenario are met.
For example, consider the following scenario:
- Two requests (request1 and request2) for the same object are made to a caching server that is running Forefront Threat Management Gateway 2010 or Internet Security and Acceleration Server 2006.
- The object is currently not cached on the caching server.
- The request is for a Dynamic URL that contains a special character such as a question mark (?).
- Dynamic Caching is enabled on a cache rule that applies to the destination URL for the object.
- Because the object does not exist in the cache of the caching server, both request1 and request2 are sent to the web server of the object.
- When the response for the object by request1 is received, the object is added to the cache of the caching server.
- If the response for for the object by request2 arrives while the cache is being updated for the object request1, the cache entry [?] is marked incorrectly for deletion.
- After the cache is updated by request1, the cache entry is deleted.
In this scenario, the next request for the same object may cause additional requests to the web server. However, you expect the request instead to be served from the cache.
Note The cache is updated and works as expected unless all the conditions in this scenario are met.