Thanks for the response. CF Version: 11,0,08,298512 Java Version: 1.8.0_25 I have also tried this on a different server running CF2016, and have witnessed the same behavior. I have created two test files in the same directory. I have two XLSX files that each have 2 worksheets (so I can read from the second worksheet specifically). These files are ~300k in size and reside in the same directory as the CFM files. The second worksheets each have ~2000 rows x 10 columns of data. The code of both CFM files is very similar to this (only changing the values of the "thisExecution" and "thisFile" variables. I tail the application.log as load both of these from the same computer. (separate computers also present the same behavior). The code: (for some reason isn't showing up - I have tried editing a few times) <CFSETTING requesttimeout="6000" > <CFSET private.thisExecution = "Test1" > <CFSET private.thisFile = "testfile1.xlsx" > <CFOUTPUT>#private.thisExecution#: #private.thisFile#: #private.dataType#</CFOUTPUT> <CFLOG text="#private.thisExecution#: Start: Reading File #private.thisFile#" > <CFSPREADSHEET action="read" src="#expandpath('#private.thisFile#')#" sheet="2" query="getData" headerrow="1" excludeheaderrow="true" > <CFLOG text="#private.thisExecution#: End: Reading File #private.thisFile#" > <CFLOG text="#private.thisExecution#: Sleep: 5 seconds" > <CFSCRIPT>sleep(5000);</CFSCRIPT> <CFLOG text="#private.thisExecution#: Start: Dump getData" > <CFDUMP var="#getData#" > <CFLOG text="#private.thisExecution#: End Dump getData" > Picture of the code: (since I can't get it to output in this forum) The log output: "Information","ajp-bio-8014-exec-104","12/14/18","13:04:47",,"Test1: Start: Reading File ABC SUPPLY ROOFING.xlsx" "Information","ajp-bio-8014-exec-87","12/14/18","13:04:48",,"Test2: Start: Reading File ALSIDE SUPPLY ROOFING.xlsx" "Information","ajp-bio-8014-exec-104","12/14/18","13:04:58",,"Test1: End: Reading File ABC SUPPLY ROOFING.xlsx" "Information","ajp-bio-8014-exec-104","12/14/18","13:04:58",,"Test1: Sleep: 5 seconds" "Information","ajp-bio-8014-exec-104","12/14/18","13:05:03",,"Test1: Start: Dump getData" "Information","ajp-bio-8014-exec-104","12/14/18","13:05:45",,"Test1: End: Dump getData" "Information","ajp-bio-8014-exec-87","12/14/18","13:05:52",,"Test2: End: Reading File ALSIDE SUPPLY ROOFING.xlsx" "Information","ajp-bio-8014-exec-87","12/14/18","13:05:52",,"Test2: Sleep: 5 seconds" "Information","ajp-bio-8014-exec-87","12/14/18","13:05:57",,"Test2: Start: Dump getData" "Information","ajp-bio-8014-exec-87","12/14/18","13:06:13",,"Test2: End: Dump getData" They both start reading the files at around the same time. But script 2 waits until script 1 has finished working with the spreadsheet before it continues. I am thinking CFSpreadsheet is not thread safe. Is there a way to explicitly kill the process after it is done reading the worksheet in the file? Since it creates a query object with the results of the read, I could duplicate the object, kill CFSpreadsheet and free it up for the next instance to use.
... View more