Knowledge Base - Technical Articles
Error: Creating or synchronizing a replica with a geodata service over the Internet generates errors when there are many changes or large volumes of data
| Article ID: | 35971 |
|---|---|
| Software: | ArcGIS - ArcInfo 9.2, 9.3, 9.3.1 ArcGIS Server 9.2, 9.3, 9.3.1 ArcSDE 9.2, 9.3, 9.3.1 |
| Platforms: | N/A |
Error Message
Creating or synchronizing a replica with a geodata service over the Internet generates errors when there are many changes or large volumes of data. The error on the client can be a 'generic server error message'. The server log may include an error stating that there was a timeout.
It may be noticeable that creating or synchronizing a small amount of data completes successfully, but there are larger amounts of data errors.
It may be noticeable that creating or synchronizing a small amount of data completes successfully, but there are larger amounts of data errors.
Cause
The cause is likely a timeout or constraint on the server that limits the amount of data to transport.
Solution or Workaround
The following describes places to check for timeouts and data limits:
- ArcGIS Server Timeouts:
For each service published through ArcGIS Server, it is possible to set maximum time a client can use a service. In the case of the geodata server, this translates into the maximum time the geodata server can take to process a request. For example, if creating a replica with lots of data and it takes too long to complete, ArcGIS Server terminates the geodata server process. The default is 600 seconds (10 minutes). These settings can be adjusted in ArcGIS Server Manager or in ArcCatalog for each service. See the tuning services topic in the ArcGIS Server Help for more information. - HTTP Server Timeouts:
When publishing a service over the Internet, timeouts also apply at the HTTP level. For example, when creating a replica, it may be noticeable that an output file gets generated in the servers output directory, but the client receives an error. This may be because ASP.NET’s worker thread timed out, which causes ASP.NET to terminate the thread as soon as control returns from the geodata server.
When publishing through IIS 6.0, adjust the ASP.NET timeout as follows:
1) Open the Internet Information Services (IIS) Manager.
2) Right-click the services folder under the server instance folder (for example, ArcGIS\services) and select Properties.
3) Click the ASP.NET tab.
4) Click Edit Configuration.
5) Click the Application tab.
6) Adjust the timeout by setting the value under request execution timeout.
If using IIS 7.0 or a 64-bit operating system, it may not be possible to find the appropriate value to set. In this case, do the following:
1) Find the web.config file in the ArcGIS/Services folder (i.e., c:\INetpub\wwwroot\arcgis\services).
2) Open the web.config file.
3) Find the system.web tag.
4) Add the executionTimeout setting as follows and set it to the appropriate value (below it is set to 1200 seconds):
<system.web>
<httpRuntime executionTimeout="1200" />
- HTTP Server Data Limits:
At the HTTP level, there is also a maximum request length limit when publishing through IIS. This limit applies to the case where a large amount of data is being uploaded to the server. With replication, this can happen when replicating a large amount of data from a local ArcSDE geodatabase to a remote geodata service over the Internet. It may also happen when synchronizing a large number of changes from local geodatabase to a remote geodata service over the Internet.
The ASP.NET maximum request length can be adjusted as follows:
1) Find the web.config file in the ArcGIS/Services folder (i.e., c:\INetpub\wwwroot\arcgis\services).
2) Open the web.config file.
3) Find the system.web tag.
4) Add the maxRequestLength setting as follows and set it to appropriate value (below it is set to 10 megabytes, the default is 4 megabytes):
<system.web>
<httpRuntime maxRequestLength=10240" />
Setting this, as well as the execution timeout from above, appears as follows:
<system.web>
<httpRuntime
executionTimeout="1200"
maxRequestLength="10240"
/>
- Client Timeouts:
The client can encounter timeouts due to WinInet’s default timeout value. WinInet is Microsoft’s Windows Internet library and is used by Internet Explorer and ArcGIS. WinInet has a default timeout value of five minutes for Internet Explorer (IE) 7 and 1 hour for versions prior to IE 7.
ArcGIS 9.3 overrides WinInet’s default timeouts by a suitably large value while performing these actions. However, ArcGIS prior to 9.3 does not override WinInet’s defaults and timeouts are more likely. The following article provides information on how to override WinInet timeouts:
http://support.microsoft.com/kb/q181050/.
Once set, it applies to ArcGIS and may also apply to other Internet clients including Internet Explorer.
For UNIX-based ArcObjects clients, there is no client side timeout.
Created: 12/12/2008
Last Modified: 5/3/2011
Article Rating:
(2)
Comments
By chane0 - 12/14/2011 5:06 AM
Great article! It helped a lot!
great and extremely useful article. will it work in AGS 10 - IIS 7.5?
Rating:
By piwaniuk83 - 03/18/2013 4:43 AM
The article needs to be updated.
IIS7, AGS10.0sp5 - if you want to get it done visit: http://asp-net.vexedlogic.com/2011/04/23/asp-net-maximum-request-length-exceeded/ The maxRequestLength entry in IIS7 web.config is not correct. There's a different parameter called maxAllowedContentLength in requestFiltering section and it has value of "30000000" by default. However, changing it is not sufficient. You need to change your machine.config file in .net 2.0 dir adding maxRequestLength higher than maxAllowedContentLength anyway.
Rating: