Hi All

We've noticed a couple of strange/intermittent  errors when we are
running reactor under load.

The first is with
http://trac.reactorframework.org/reactor/browser/trunk/reactor/iterator/iterator.cfc#L638.
If you an iterator object in session or application scope one thread
could modify the value of variables.column list while the another
thread is mid loop.

This is giving us errors such as:

   * Error Executing Database Query - Query Of Queries syntax error
Encountered "FROM. Incorrect Select List, Incorrect select column
   * Error Executing Database Query - Query Of Queries syntax error
Encountered "[. Incorrect Select List, Incorrect select column

The second issue has left me really confused - but hopefully someone
can shed some light if I describe what I am seeing.

This only happens when I delete all the generated files on the server
and then run a spider over the site downloading pages as fast as I
can.

What happens is various places in the site start reporting errors such as:

   * Error Executing Database Query. - Can not issue empty query

If I go into the project/projectName/Queries folder and delete
everything the problem goes away.

Digging a little deeper yesterday I decided to remove files from this
folder one at a time until the problem disappeared.

To start with I had the following in my Queries directory:

elderberry1# ls -l
-rw-r--r--   1 nobody   nobody       418 Apr  3 17:41
mysql4_32A555A0E0A4EB3922128461A89E6758.cfm
-rw-r--r--   1 nobody   nobody      1060 Apr  3 20:55
mysql4_3BEAC4648F61B3A87578FDFF4DF7554E.cfm
-rw-r--r--   1 nobody   nobody       297 Apr  3 20:58
mysql4_44F979C97340DA3CE0D2021AD0ACAA30.cfm
-rw-r--r--   1 nobody   nobody       189 Apr  3 21:00
mysql4_52C2EE5CEB0B9E9771C39DDDC6D39805.cfm
-rw-r--r--   1 nobody   nobody       287 Apr  3 20:58
mysql4_541D944DE40657C9F4485F61D73879E5.cfm
-rw-r--r--   1 nobody   nobody      1011 Apr  3 20:58
mysql4_545D709DDFB7FB9A39D83DE61B51E807.cfm
-rw-r--r--   1 nobody   nobody       512 Apr  3 17:41
mysql4_9749F8EF18553997508285FEB9E7AF75.cfm
-rw-r--r--   1 nobody   nobody      2660 Apr  3 17:41
mysql4_9C8A9EF73C5E5FC54B256A0D40D7D363.cfm
...etc...
-rw-r--r--   1 nobody   nobody       488 Apr  3 20:56
mysql4_FC97C2FFA26AB9EA20FC175828F817F5.cfm
drwxr-xr-x   2 root     root        1024 Apr  3 21:11 tmp

I moved the files one at a time into the tmp folder, refreshing the
page that was throwing the error until the error disappeared.

elderberry1# mv mysql4_32A555A0E0A4EB3922128461A89E6758.cfm tmp/
elderberry1# mv mysql4_3BEAC4648F61B3A87578FDFF4DF7554E.cfm tmp/
elderberry1# mv mysql4_44F979C97340DA3CE0D2021AD0ACAA30.cfm tmp/
<<<<<<<<<<<<<< THIS FIXED IT!

The mysql4_44F979C97340DA3CE0D2021AD0ACAA30.cfm was regenerated and
the error went away. I checked the contents of the new file with the
old one expecting them to be and they were identical:

elderberry1# cat mysql4_44F979C97340DA3CE0D2021AD0ACAA30.cfm
SELECT  `Tender_Location`.`TenderUUID` AS `TenderUUID`,
`Tender_Location`.`LocationUUID` AS `LocationUUID` FROM
`atii`.`Tender_Location` AS `Tender_Location` WHERE
`Tender_Location`.`TenderUUID` = <cfqueryparam
cfsqltype="cf_sql_varchar" maxlength="36"
value="#arguments.Query.getValue(1)#" />

elderberry1# cd tmp
elderberry1# cat mysql4_44F979C97340DA3CE0D2021AD0ACAA30.cfm
SELECT  `Tender_Location`.`TenderUUID` AS `TenderUUID`,
`Tender_Location`.`LocationUUID` AS `LocationUUID` FROM
`atii`.`Tender_Location` AS `Tender_Location` WHERE
`Tender_Location`.`TenderUUID` = <cfqueryparam
cfsqltype="cf_sql_varchar" maxlength="36"
value="#arguments.Query.getValue(1)#" />

This left me very puzzled. I checked the directory listing again and
noticed that there were two new files:

elderberry1# cd ..
elderberry1# ls -l
total 54
-rw-r--r--   1 nobody   nobody       418 Apr  3 21:12
mysql4_32A555A0E0A4EB3922128461A89E6758.cfm
-rw-r--r--   1 nobody   nobody       297 Apr  3 21:12
mysql4_44F979C97340DA3CE0D2021AD0ACAA30.cfm
-rw-r--r--   1 nobody   nobody       189 Apr  3 21:00
mysql4_52C2EE5CEB0B9E9771C39DDDC6D39805.cfm
-rw-r--r--   1 nobody   nobody       287 Apr  3 20:58
mysql4_541D944DE40657C9F4485F61D73879E5.cfm
-rw-r--r--   1 nobody   nobody      1011 Apr  3 20:58
mysql4_545D709DDFB7FB9A39D83DE61B51E807.cfm
-rw-r--r--   1 nobody   nobody       512 Apr  3 17:41
mysql4_9749F8EF18553997508285FEB9E7AF75.cfm
-rw-r--r--   1 nobody   nobody       450 Apr  3 21:12
mysql4_9A42F5B932DD262F4B475143BC30D5CC.cfm     <<<<<<<<<<<<<< NEW!
-rw-r--r--   1 nobody   nobody       804 Apr  3 21:12
mysql4_9A7CA2B2B74B1B6D46F409CD8020D6CB.cfm     <<<<<<<<<<<<<< NEW!
-rw-r--r--   1 nobody   nobody      2660 Apr  3 17:41
mysql4_9C8A9EF73C5E5FC54B256A0D40D7D363.cfm
...etc...
-rw-r--r--   1 nobody   nobody       488 Apr  3 20:56
mysql4_FC97C2FFA26AB9EA20FC175828F817F5.cfm
drwxr-xr-x   2 root     root        1024 Apr  3 21:12 tmp

So why was the presence of the mysql_44F... file preventing the
generation of these two other files?

I've had a look and as far as I can tell this would be related to
http://trac.reactorframework.org/reactor/browser/trunk/reactor/query/query.cfc#L57,
but beyond that I am stumped.

If anyone has any ideas I'd love to hear them.


Cheers

Mark


Mark Stanton
Gruden Pty Ltd
http://www.gruden.com


-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Reactor for ColdFusion Mailing List
[email protected]
Archives at: http://www.mail-archive.com/reactor%40doughughes.net/
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

Reply via email to