Brian, Want to take on ownership of Transfer? Seems like you're going to end up doing it anyway :)
mark On Sat, Jul 12, 2014 at 9:15 AM, Brian G <brian-goo...@vfive.com> wrote: > > 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 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 > > --- > 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 transfer-dev+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- E: mark.man...@gmail.com T: http://www.twitter.com/neurotic W: www.compoundtheory.com 2 Devs from Down Under Podcast http://www.2ddu.com/ -- -- 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 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 --- 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 transfer-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.