Interesting.

We might be able to get rid of the inner lock.

How many lines are your XML config files?

DW

Irvin Wilson <mailto:[email protected]>
Monday, April 13, 2015 11:18 AM
Every once in awhile (once a month, maybe once every 6 weeks) the following error will occur and bring down the system -

/A timeout occurred while attempting to lock EventHandlerWasDefined_EventHandlerLock_modelglue.onRequestStart./

Once this error starts the site will stay down until reinit. I see where it's locked in memoizedmodelglue.cfc per below

<cffunction name="getEventHandler" output="false" hint="I get an event handler by name. If one doesn't exist, a struct key not found error is thrown - this is a heavy hit method, so it's about speed, not being nice."> <cfargument name="eventHandlerName" type="string" required="true" hint="The event handler to return." />
<cfset var NumberOfLoaders = arrayLen( variables.ModuleLoaderArray ) />
<cfset var i = "" />

<cfif structKeyExists( this.eventHandlers, arguments.eventHandlerName ) IS false> *<cflock type="exclusive" name="EventHandlerWasDefined_EventHandlerLock_#arguments.eventHandlerName#" timeout="10" throwontimeout="true">* <cfif structKeyExists( this.eventHandlers, arguments.eventHandlerName ) IS false AND eventHandlerWasDefined( arguments.eventHandlerName ) IS true> <cflock type="exclusive" name="EventHandlerCreationLock_#arguments.eventHandlerName#" timeout="10" throwontimeout="true"> <cfif structKeyExists( this.eventHandlers, arguments.eventHandlerName ) IS false AND eventHandlerWasDefined( arguments.eventHandlerName ) IS true>
<cfloop from="1" to="#NumberOfLoaders#" index="i">
<cfset variables.ModuleLoaderArray[ i ].locateAndMakeEventHandler( this, arguments.eventHandlerName ) />
</cfloop>
</cfif>
</cflock>
</cfif>
</cflock>
</cfif>

<cfreturn this.eventHandlers[arguments.eventHandlerName] />
</cffunction>

I'm not sure why it's reporting the lock in the outer loop. Seems to me it's got to be the inner one two lines down but maybe looking at it wrong. Wondering if I should just try bumping the timeouts a bit?

Thank you!

Irv


--
--
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
---
You received this message because you are subscribed to the Google Groups "model-glue" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.

--
--
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
--- You received this message because you are subscribed to the Google Groups "model-glue" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to