I took a look at the MG source code and have identified the problem.

In MG3 the framework is not fully loaded all at once. Instead, the framework
is bootstrapped with only the core event handlers, and controllers for those
event handlers complete the different tasks required for loading the rest of
the framework. One of these tasks (done in the initialization phase) is to
put the framework into the application scope.

The problem is that if an exception such as a request timeout occurs after
the framework is put into the application scope but before the framework is
fully loaded, the framework is left persisted in an incomplete state. The
application will then be stuck with a partially loaded framework object
until the next init.

My suggestion for the MG team is to move the code that puts the framework
object into the application scope from the initialization phase to the
termination phase (which is currently commented out in the source). This has
the side-effect of reloading the framework on every request until it can
complete a request successfully. I would consider this side-effect a bonus
feature: if my first request after an init fails I'm likely to want to
re-init anyway.

While I'm at it, I have another suggestion for the MG team: remove the
cflock from ModelGlue.cfm, the MG3 framework bootstrapper doesn't need it.

Cheers,

Dennis

On Thu, Dec 10, 2009 at 1:04 PM, Dan Wilson <[email protected]> wrote:

> I have seen this also. I would think this would be an issue with any
> framework or application that had a bunch of CFCs stored in a shared scope
> and wasn't able to initialize all the way.
>
> DW
>
>
> On Thu, Dec 10, 2009 at 1:01 PM, Tom McNeer <[email protected]> wrote:
>
>> I have also seen this behavior, although it's been a long time, and I
>> can't remember details.
>>
>> I can say, however, that it has occurred on both CF7 and 8, and sometimes
>> required restarting the CF service.
>>
>>
>> --
>> Thanks,
>>
>> Tom
>>
>> Tom McNeer
>> MediumCool
>> http://www.mediumcool.com
>> 1735 Johnson Road NE
>> Atlanta, GA 30306
>> 404.589.0560
>>
>>  --
>> Model-Glue Sites:
>> Home Page: http://www.model-glue.com
>> Documentation: http://docs.model-glue.com
>> Bug Tracker: http://bugs.model-glue.com
>> Blog: http://www.model-glue.com/blog
>>
>> You received this message because you are subscribed to the Google
>> Groups "model-glue" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]<model-glue%[email protected]>
>> For more options, visit this group at
>> http://groups.google.com/group/model-glue?hl=en
>>
>
>
>
> --
> “Come to the edge, he said. They said: We are afraid. Come to the edge, he
> said. They came. He pushed them and they flew.”
>
> Guillaume Apollinaire quotes
>
> --
> Model-Glue Sites:
> Home Page: http://www.model-glue.com
> Documentation: http://docs.model-glue.com
> Bug Tracker: http://bugs.model-glue.com
> Blog: http://www.model-glue.com/blog
>
> You received this message because you are subscribed to the Google
> Groups "model-glue" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]<model-glue%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/model-glue?hl=en
>

-- 
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

Reply via email to