Problems uploading large (approx 200MB) OSP

Problems uploading large (approx 200MB) OSP

  

We are a software house and have been working with using .oml files for migrating between our internal Dev, Test and Release environments.   However, when delivering our application to our customers we want to deliver it as a single .osp file.

Our customer has a business requirement that the application is run on a secure private network, without any internet access.   Thus we have to deliver the application via exporting the application and the client uploading it.  We also have a standalone VM to try and emulate the customer environment.

Our application is about 200MB .osp file.  When trying to upload and publish we originally got error message "The request filtering module is configured to deny a request that exceeds the request content length".  

Our internal support staff tried the updating maxRequestLength and maxAllowedContentLength (as described below).  This got rid of the IIS error message, and now the upload just hangs without any error message. 


  1. Modify applicationHost.config (located at %WINDIR%\system32\inetsrv\config)by changing from what OutSystems is suggesting

    <requestLimits maxAllowedContentLength="134217728" /> to larger size <requestLimits maxRequestLength="250000000" />

    The rational is that AMPS7 osp file size (213MB) is actually larger than the suggested size in the checklist, so 250MB is probably sufficient.

    This did not work

  2. On top of step 1, also modified web.config found at (Program Files\OutSystems\Platform Server\running\ServiceCenter.073280860) by adding

    <security>

                                    <requestFiltering>

                                                 <requestLimits maxAllowedContentLength="250000000"/>

                                    </requestFiltering>

                                  </security>

    Under    <system.webServer> element.  This still did not resolve the problem

Any suggestions

You don't get a timeout either? if you do, you can add the executiontime in the requestLimits line.

Example:

<httpRuntime executionTimeout="110" maxRequestLength="131072" />


But I must admit that I have a similar issue in one (and only one) of our environments. I'm sure the length paramaters are sufficient, but when I start uploading the solution it dosn't do anything and returns to the list screen after a couple of seconds. No idea why because we use the same settings on several other environments and there it works.

This is something, you really need to contact support for it.


I would suggest trying to split the OSP up into smaller pieces if possible, just to get some traction on this.

Look at the dependencies of the application, do the "bottom" stuff first, then the top, see if that helps.

Also, why is it 200 MB? Is that a ton of images and other resources in the eSpaces, or is it really just a LOT of code/eSpaces?

J.Ja

Thanks for the responses.  We have tried the configuration change suggested by Kurt without success.  We have now contacted OutSystems support.

The reason that the file is 200MB is that it is a LOT of functionality.  It is a rewrite of our flagship product, which the previous version consisted of over 500MB of Java, ASP and .Net files.

Solution

OutSystems support were very helpful.  The fix was to tweak 4 parameters.


  • Modify applicationHost.config (located at %WINDIR%\system32\inetsrv\config) by changing from the OutSystems installation checklist recommended values to larger value

    <requestLimits maxAllowedContentLength="134217728" /> to larger size 
    <requestLimits maxAllowedContentLength="250000000" />  - i.e. greater than OSP file size.

  • Modify machine.config (located at %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\CONFIG\machine.config) timeout from default 110 secs to 2000 secs (about 33minutes)  and maxRequestLength from 131072 to a larger value, we set it to 131072000 

           i.e. <httpRuntime executionTimeout="2000" maxRequestLength="131072000" />.  

Note that these can be configured  via IIS rather than having to edit the file manually


  • Modify database default query timeout from 30 to 300 in the Advanced Database Connection Settings screen of OutSystems Configuration Tool as shown below


Thanks to the Support team for the quick response.

Solution