FMS12 Custom Web Publishing with PHP API Queues Access Attempts to Same File
Operating system version
Mac OS X 10.7.4 (11E53)
Description of the issue
We have a 15 file FileMaker solution to which we've built web access via Custom Web Publishing and the PHP API. We were looking forward to the speed increases promised by FileMaker 12 Server's new Web Publishing Engine (FMS11 was horribly slow for most of our data access).
However, while FMS12 was indeed significantly faster in most cases: if a larger find (one that would return several hundred to several thousand records) was run, or even one that was complicated enough to take some time to return a handful of records, any other user (including the user that initiated the record load) was completely blocked from accessing that specific FileMaker file until the record load completed. They could access other files in our solution, but anything that would attempt to access the being-worked-on file would block completely. Once the record load/long-running request finished, all the queued requests and processes would complete in turn.
This behaviour was not present in FMS11.
Steps to reproduce the problem
1. Log into our website as two different user accounts in two separate browsers (also works as the same user in separate browsers, but we wanted to test if it was isolated to the user making the initial request or to all users; both situations exhibit the same issue)
2. User 1 initiates a find/record load (or any other action) that will take some time to finish, say 30 seconds
3. User 2 navigates to a page in the website that attempts to load/edit records in the file in which User 1's action is being performed
4. User 2 stares at a blank page, or a seemingly endless processing step, until the action that User 1 initiated completes. Shortly after that action completes, User 2's action finishes
5. If User 2 did any action on the site that ended up touching data from any of the other files in our FileMaker solution, everything works as expected.
User 1 and User 2's accesses both get performed in parallel and complete in the appropriate time for each action.
User 2's access is queued behind User 1's until User 1's access completes its database hit.
Exact text of any error message(s) that appear
Not applicable until we pull more detailed logs.
* We're using the system-installed version of PHP (v5.3.10), not the one from FileMaker
* XHL Publishing and Instant Web Publishing are both disabled; only PHP Publishing is enabled
* We have a single FileMaker file used as the "front end" for all our PHP API accesses which has table occurrences from the other 14 files of our solution
* The user accounts used to access via the web are External Accounts hosted on a separate OS X Server box's Open Directory
A co-worker spoke in the hallway with Vin Addala about this issue at DevCon last month and then demonstrated it at one of the support sessions and got a response along the lines of "that's the opposite of what should be happening, we'll need logs and more info" so this bug report is just the first step in that process.
Continue using FileMaker Server 11 and it's slowness until we can determine the cause of the problem and fix it.