I'm running coldfusion  8,0,1,195765 with Transfer 1.1.  It's odd to
me that it's not happening every time.  I'm wondering if it's some
kind of garbage collection issue?  Like I said, it only seems to
happen in the context of executing from inside of a CFThread with a
reference to my TransferFactory in the application scope.  That
shouldn't matter as far as I know, but I'm not sure what kind of gc
implications that might have.

Thanks!

Nick
On Feb 24, 6:16 pm, Mark Mandel <mark.man...@gmail.com> wrote:
> That's a new one on me..never seen that before.
>
> What version of CF is this? What version of Transfer?
>
> Could need to put a StructKeyExists() check around that reap statement, but
> it shouldn't be necessary, as the ReferenceQueue.poll() should be
> syncronised.
>
> Mark
>
>
>
> On Thu, Feb 25, 2010 at 7:18 AM, NickHaggmark <nhaggm...@gmail.com> wrote:
> > Hi Gang!
>
> > I'm running into a little snag right now involving using cache
> > evaluation on a TQL query.  My query is relatively simple, however it
> > looks like it's intermittently losing it's reference to a cached
> > version of the compiled SQL statement in Transfer.  What I'm trying to
> > figure out is the reason for this.
>
> > My query looks like this:
>
> > <cfset query = getTransfer().createQuery("from template.SMSTemplate as
> > t where t.name = :name and t.active = :active and t.parentTemplateID
> > is null") />
>
> > <cfset query.setParam('active', 1, 'boolean') />
> > <cfset query.setParam('name', 'whatever name', 'string') />
> > <cfset query.setCacheEvaluation(true) />
>
> > <!--- pull out our queryset --->
> > <cfset qTemplateID = getTransfer().listByQuery(query) />
>
> > Relatively simple query, however it's intermittently giving me the
> > following error in my logs (doesn't appear to follow any real pattern
> > for when it happens, but the errors appear to happen in clusters):
>
> > "Information","cfthread-7","02/24/10","14:42:18","GSS_MESSENGER","Error
> > in action on incoming message => [Cannot find
> > java.lang.ref.softrefere...@9aa4a2 key in structure.] [The specified
> > key, java.lang.ref.softrefere...@9aa4a2, does not exist in the
> > structure.] [] [[{ID={CF_CFPAGE},COLUMN={0},TEMPLATE={C:\nwmdev\apache
> > \Apache2\htdocs\workspace\frameworks\transfer11\com\tql\collections
> > \EvaluationCache.cfc},RAW_TRACE={       at
> > cfEvaluationCache2ecfc344983282$funcREAP.runFunction(C:\nwmdev\apache
> > \Apache2\htdocs\workspace\frameworks\transfer11\com\tql\collections
> > \EvaluationCache.cfc:81)},TYPE={CFML},LINE={81}},
> > {ID={CF_UDFMETHOD},COLUMN={0},TEMPLATE={C:\nwmdev\apache\Apache2\htdocs
> > \workspace\frameworks\transfer11\com\tql\collections
> > \EvaluationCache.cfc},RAW_TRACE={       at
> > cfEvaluationCache2ecfc344983282$funcHAS.runFunction(C:\nwmdev\apache
> > \Apache2\htdocs\workspace\frameworks\transfer11\com\tql\collections
> > \EvaluationCache.cfc:30)},TYPE={CFML},LINE={30}},
> > {ID={CF_TEMPLATEPROXY},COLUMN={0},TEMPLATE={C:\nwmdev\apache
> > \Apache2\htdocs\workspace\frameworks\transfer11\com\tql
> > \SelectStatement.cfc},RAW_TRACE={       at
> > cfSelectStatement2ecfc38660934$funcSELECTSTATEMENT.runFunction(C:
> > \nwmdev\apache\Apache2\htdocs\workspace\frameworks\transfer11\com\tql
> > \SelectStatement.cfc:83)},TYPE={CFML},LINE={83}},
> > {ID={CF_TEMPLATEPROXY},COLUMN={0},TEMPLATE={C:\nwmdev\apache
> > \Apache2\htdocs\workspace\frameworks\transfer11\com\tql
> > \TQLManager.cfc},RAW_TRACE={    at
> > cfTQLManager2ecfc1352251664$funcEVALUATEQUERY.runFunction(C:\nwmdev
> > \apache\Apache2\htdocs\workspace\frameworks\transfer11\com\tql
> > \TQLManager.cfc:28)},TYPE={CFML},LINE={28}},
> > {ID={CF_TEMPLATEPROXY},COLUMN={0},TEMPLATE={C:\nwmdev\apache
> > \Apache2\htdocs\workspace\frameworks\transfer11\com
> > \Transfer.cfc},RAW_TRACE={      at
> > cfTransfer2ecfc1351268847$funcLISTBYQUERY.runFunction(C:\nwmdev\apache
> > \Apache2\htdocs\workspace\frameworks\transfer11\com\Transfer.cfc:
> > 564)},TYPE={CFML},LINE={564}},
> > {ID={CF_TEMPLATEPROXY},COLUMN={0},TEMPLATE={C:\nwmdev\apache
> > \Apache2\htdocs\workspace\cfc\com\nextweb\mobile\gss\service
> > \TemplateService.cfc},RAW_TRACE={       at
>
> > cfTemplateService2ecfc651746452$funcGETDEFAULTTEMPLATEIDBYNAME.runFunction(C:
> > \nwmdev\apache\Apache2\htdocs\workspace\cfc\com\nextweb\mobile\gss
> > \service\TemplateService.cfc:251)},TYPE={CFML},LINE={251}},
> > {ID={CF_UDFMETHOD},COLUMN={0},TEMPLATE={C:\nwmdev\apache\Apache2\htdocs
> > \workspace\cfc\com\nextweb\mobile\gss\service
> > \TemplateService.cfc},RAW_TRACE={       at
> > cfTemplateService2ecfc651746452$funcGETTEMPLATEIDBYNAME.runFunction(C:
> > \nwmdev\apache\Apache2\htdocs\workspace\cfc\com\nextweb\mobile\gss
> > \service\TemplateService.cfc:192)} ...
>
> > I'm not sure what could cause this to happen, however it only seems to
> > happen in one place in the application. It's failing in a block that
> > takes some information collected from the URL along with a loaded
> > service object and fires it off in a CFTHREAD for async processing.
> > Do you think that it could possibly be an issue from being executed
> > from within CFTHREAD?  When I'm firing off the thread to process the
> > action that's intermittently failing from the above error(s), the
> > service object that is passed in is loaded with a reference to the
> > TransferFactory which is living in the application scope.
>
> > So, in summary, here's what's happening:
>
> > 1.) Request comes in, some information is collected and a service
> > object is created with a reference to Transfer (which resides in
> > APPLICATION (which is persisted for 12 hours)).
>
> > 2.) The information that is collected and the service object are
> > passed into a uniquely named CFTHREAD for asyc processing.
>
> > 3.) The service object processes the data collected in the cfthread
> > and hits the database (and cached Transfer objects) for validation,
> > etc.  During that process the TQL query listed above is executed (with
> > useCacheEvaluation turn on).
>
> > 4.) This process intermittently fails giving an error similar to the
> > above listed block from our logs.
>
> > Anyone have any thoughts as to why this might be happening?  I've been
> > playing with it for a day now and I'm getting frustrated.
>
> > Thanks!
>
> > Nick Haggmark
>
> > --
> > Before posting questions to the group please read:
>
> >http://groups.google.com/group/transfer-dev/web/how-to-ask-support-qu...
>
> > You received this message because you are subscribed to the Google Groups
> > "transfer-dev" group.
> > To post to this group, send email to transfer-dev@googlegroups.com
> > To unsubscribe from this group, send email to
> > transfer-dev+unsubscr...@googlegroups.com<transfer-dev%2bunsubscr...@googlegroups.com>
> > For more options, visit this group at
> >http://groups.google.com/group/transfer-dev?hl=en
>
> --
> E: mark.man...@gmail.com
> T:http://www.twitter.com/neurotic
> W:www.compoundtheory.com
>
> Hands-on ColdFusion ORM Training @ cf.Objective() 
> 2010www.ColdFusionOrmTraining.com/

-- 
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to transfer-dev@googlegroups.com
To unsubscribe from this group, send email to 
transfer-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en

Reply via email to