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.