This shouldn't cause any problems, but again I would try and see if you can trace down a request that fails and see if you can reproduce.
Also what version are you using? There have been a bunch of improvements to the ISAPI DLL in Version 5.x forward, and if you're running on IIS7 you can also run the managed module which is more reliable and efficient in general. In most cases you can simply swap for the module without any other changes assuming you use script maps (and not accessing the DLL directly).
Thanks Rick!
I'm actually creating a transaction record which has a memo field that contains a FILETOSTR of a .zip file that contains 25 tables, each table with 1 row each, if at all. ) The average transaction record is about 35-60K. It's sent via a HTTPPost key using wwHTTP.
We have an automatic testing process that sends 10 individual HTTPPosts, each about 35k-50k every 10 minutes. Six machines are testing using this process, so that's 360 posts an hour. During that hour, I might see 2-5 post errors in the wcerrors.txt file.
My client app is expecting a certain response from my function in the WWWC app, so it will retry that transaction during the next cycle. We are trying to stress test the web app to see how many transactions 1 instance can handle.
Just for background, our app is used in about 150 police departments in Georgia. The police departments we target our small, 5 - 40 or so officers. Each department has multiple mobile officers, so we estimate roughly 2000 mobile officers will be synching their data to our WWWC app, i.e. accident reports, tickets, incident reports, activity logs, etc. The client app in the mobile unit sits in the tray and polls every 2 minutes to grab any new or modified items. It sends those to the web app as mentioned above.
Thanks Rick, you're the man. We may need to hire you for advise on how to scale, because we are preparing to package this app and offer it nationwide on a per car subscription. I don't know if you hire yourself out that way, I know I've been in a few of your VFP conference sessions over the years. We've even shared a drink with others out of one of those suit case bars and jammed a bit on guitar. Orlando comes to mind.
Best,
Gary
Hi Gary,
I think this error occurs if POST data is invalid or the content length for the data sent is incorrect. Basically Web Connection reads the content and forwards it to your Web Connection application, but if the content length is off ReadClient() (which is the ISAPI piece that reads the POST buffer) will fail and thats when you get this error. Could also happen when the POST buffer is too large and the app runs out of memory or some other read related error occurs or when IIS times out the request and basically cuts the client connection off. It should be rare that this happens, but if you can correlate the Request ID with an entry in the log that would be a good start to try and see what's happening. I suspect you'll find that either there's something wrong with the POST data sent or the request is very large that either a timeout or size overload occurs.
I suspect this is a rare error, right?
+++ Rick ---
Hi all!
I've got an app sending 100s of transactions ( records ) per hour from several different machines to a WWWC app. Works great, but ever so often, I get an error message like so:
2012.10.23 15:20:43:969 - n/a - ReadClient Failed on POST data... data was lost. - /rmsdatasync/PublishNewServerTransactions.rms? - 10054 - 17580 - Com:
2012.10.23 15:20:43:969 - 17580_5A2667F91AA4 - Request data conversion failure occurred. Data was lost and the request was cancelled. - /rmsdatasync/PublishNewServerTransactions.rms? - 0 - 17580 - Com: -1:0:0
I assume the hit timed out and simply failed. Is there something I should do about that?
Also, if running two or more instances of a particular app, should each one have it's own temp folder? In my experience, when 2 or more instances of the same app with the same temp path, I sometimes get an error that it couldn't write the wcerrors.txt file ( assuming exact timing of the error output from both instances.)
Thanks in advance for any help.
Gary