I'm still tracking this down but it would appear that I've got a case where flow 
script functions or some part of the sendPageAndWait processing is not reentrant.  Is 
this possible or are there known circumstances in which flow is not reentrant?  Could 
there be some reason that generators aren't reentrant when called from flowscript?  We 
had not problems with this particular set of pipelines prior to migrating to 2.1.3 but 
it turned up the first day we hit production with code using 2.1.3 Cocoon (sigh)...

So far I know that the flow script is being called from two different users with 
different continuations etc.  However, when this results in a call to another 
flowscript function that then calls send page and wait I get bad results.  The 
circumstances require that both calls be to the same function and subsequently to the 
same pipeline (via sendPageAndWait) and that the first request not complete before the 
second request occurs (in our case it's a long running data search that is producing 
the page data).  The results are that the pages that are sent to the two users contain 
the result set for the second user and that the first result is never returned.

Requesting a page refresh on the user that was sent the wrong data causes the correct 
data to be sent.  The generator in question is aggregated with many other generators 
that cache though it itself does not cache; turning off all Cocoon caching makes no 
difference.

Peter Hunsberger


Reply via email to