This is a long running thread but I came across some recent updates on why 
Transfer (under load like on init) may be crapping out reliably:

http://cfmlblog.adamcameron.me/2014/04/ye-olde-xmlsearche-bugge.html

What Adam describes is exactly the error I get in XMLFileReader when it 
blows up.  Errors like:

Failed to 
XMLSearch(/transfer/objectDefinitions/package[@name='theme']/object[@name='filter'])
 
in XMLFileReader.cfc due to: [Expression] Unable to process the result of 
the XMLSearch for ''.  I couldn't wrap my head around how it had an Xpath 
search but thought it was ''.   What's interesting is that Model-Glue has a 
similar XML loader but it is single threaded on startup so it doesn't 
manifest itself there.

Here's the source issue which was described as far back as 2008:  
http://house-of-fusion.10909.n7.nabble.com/XMLSearch-not-thread-safe-td65967.html

And here is the Adobe bugbase issue for the xmlSearch wackiness: 
https://bugbase.adobe.com/index.cfm?event=bug&id=3739102

I have long considered rewriting the Transfer config file from XML to JSON 
due to the XML errors and it looks like this would work.  Another option 
would be to perform a duplicate() on the XML before running xmlSearch which 
fixes the problem (but introduces a performance problem) in the house of 
fusion thread.  You would add it here in XMLFileReader.cfc:

  results.addAll(xmlSearch(duplicate(collection[counter]), 
arguments.xpath));

In my limited testing, it appears that xmlSearch() on the config is only 
done the first time a particular object is instantiated.  On my local 
laptop with a 1330-line XML file, the duplicate() takes 4-7ms.  I'm going 
to push to production and see if this solves my issues but based on Adam 
Cameron's test case, it sounds like it does.

While I have no hair left, I'm sure glad to see there really is an issue.  
Now I'm just pissed that for 4+ years Adobe has allowed something like this 
to exist.  :\


Brian

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

Try out the new Transfer ORM Custom Google Search:
http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8

You received this message because you are subscribed to the Google Groups 
"transfer-dev" 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/transfer-dev?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"transfer-dev" 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