Seems to be a nasty bug if the processing takes a few seconds

Jan 22, 2012 at 4:38 PM

I tried implementing this on a production website, and during testing it seems to work, but when under load it seems like the responses are not returning the correct cached content. I took a look at the code, and the key generation and caching all seems fine, I think it has to do with the callback that writes out the final response.

Seems to be a nasty concurrency bug, but I couldn't identify where it's happening. I've been able to replicate it using a simple MVC3.net project with a details type page (i.e. vary by parameter caching). Opening up 5 details type pages (letting them all load) and then refreshing them all quickly you can see the issue with a simple thread.sleep for 2 seconds in each action. Some of the pages will return the details for a different item.

Any chance of looking into this issue? It's blocking me from using this otherwise great package. I can zip up the sample project if you would like.

Jan 23, 2012 at 8:22 AM

@EChoi - Thanks for reporting this issue. Tried a few options but cannot replicate. Do not understand how the action is actually getting hit when you refresh the page as the action should already be cached - unless you are talking about the donut holes themselves?

A zip sample would be appreciated (and would also answer my questions)?

Jan 23, 2012 at 8:29 PM
Where can I send/attach the sample project? I tried adding it to my reply to this discussion but it got rejected.

Just some notes: replicated using Firefox, opening the five links from the index page as separate tabes, and then quickly refreshing them all (sometimes I'll run through all 5 tabs2 times at hit f5). When everything finishes loading some of the tabs will have the wrong content. You can tell because the urls will have the correct title in them, but the actual page will not.

The action doesn't get hit as far as I can tell, but what gets replaced on the result is sometimes the wrong cache item (or so it seems). I'm not talking about the donut holes, just the main content.


On Mon, Jan 23, 2012 at 1:23 AM, devtrends <notifications@codeplex.com> wrote:

From: devtrends

@EChoi - Thanks for reporting this issue. Tried a few options but cannot replicate. Do not understand how the action is actually getting hit when you refresh the page as the action should already be cached - unless you are talking about the donut holes themselves?

A zip sample would be appreciated (and would also answer my questions)?

Read the full discussion online.

To add a post to this discussion, reply to this email (mvcdonutcaching@discussions.codeplex.com)

To start a new discussion for this project, email mvcdonutcaching@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe on CodePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at CodePlex.com


Jan 23, 2012 at 9:13 PM
Edited Jan 24, 2012 at 11:03 AM

Replicated the issue and a fix is on the way. Thanks for picking this up.

Jan 24, 2012 at 11:30 AM

Fixed in 1.1.1 release.

Jan 24, 2012 at 2:46 PM

Awesome. I'll try it out right away