0

I've run into a strange problem that I've been wrestling with for a few days. I'm hoping someone will have some insights.

I have a Flex app that uses standard remoting to access a SQL db via ColdFusion. (Flex sdk 3.4 (yes, old), CF 10)

I've recently found a problem where if the arguments to a cffunction includes a string that could be a very large number ("2e4361251", for example), the remoting result/fault handler in my AS code will not get called for a VERY long time, effectively locking the app. (App logic requires that I wait for this operation to finish before moving on.)

My most recent test took 45 minutes for the result handler to be called.

What the cffunction does does not matter.
If I am attempting to update my db, the update is successful (whether the string is used in that update or not), my app just doesn't get the result for a very long time;
If the cffunction does NOTHING, like

< cffunction name="myFunc" access="remote">
< !-- do nothing -->
< /cffunction>

it STILL takes an extremely long time to return.

Repeated testing has a noticeable effect on the server; CF starts eating up processor and RAM, though it will eventually recover.

Passing the string IN as a parameter is key; if I'm retrieving the string from the db, there is no problem.

These strings could represent VERY large numbers. If I were trying to do any sort of calculations or other manipulations, I could maybe understand this. But as I said, the function doesn't have to do anything at all, just the presence of the string causes the problem. (And I have verified that it is being passed as a String, not an int, Number, float, decimal, etc)

The string that alerted me to this issue originated with a user. It is a catalogue number of some sort. They had many with different letter/number combos; this one happened to use a single 'E'. I cannot simply 'disallow' strings of this nature.

Anyone have any ideas on why this is happening and, more importantly at the moment, how I can avoid it? A 45 min delay = 'frozen app' to the user.

  • 3
    Without specific, reproducible code samples, there is really nothing anyone will be able to do to help you. – Scott Stroz Jun 05 '15 at 18:28
  • What does a stack trace show of the CF thread? – Brad Wood Jun 05 '15 at 18:32
  • 2
    I think you need to start by decoupling the situation. Is it Flex, or is it CF? Call the CF method directly. Call a stubbed endpoint which doesn't involve CF at all. Does that cast any light on where the issue lies? If so... re-pose the question accordingly. – Adam Cameron Jun 05 '15 at 19:26

0 Answers0