Content Deployment Problems with MOSS and IIS 7

Yesterday a colleague (Patrick Heyde) solved an interesting problem with MOSS 2007 and IIS 7 related to content deployment. 

Some background infos: Content Deployment in MOSS 2007 first exports all content to the file system as XML and binary files and afterwards packages these files into cab files which then get uploaded through http to the target MOSS server where they then get extracted and imported.

The preconfigured maximum size of the cab files generated by content deployment is 10 MB as discussed in this article. IIS 7 on the other hand has a preconfigured upload limit of 29 MB as discussed in KB article 925083.

So with these two limits (maximum size of a cab file = 10 MB and maximum upload size in IIS 7 = 29 MB) we would not expect any problems.

The problem here is that MOSS does not split single exported files into multiple CAB files. So in case that the MOSS site contains single documents which cannot be compressed to less then 10 MB then the CAB file size can become bigger than 10 MB.

This will become critical as soon as the CAB file size exceeds 29 MB.

As soon as content deployment trys to upload a CAB file with more than 29 MB in size the content deployment job will fail and you will find the following entries in the application event log of the exporting server:

Event ID: 5323 
Source: Content Deployment
Description: Failed to transfer files to destination server for content deployment job ‘test 1’.  Exception was ‘System.Net.WebException: The remote server returned an error: (404) Not Found.

Event ID: 4958
Source: Content Deployment
Description: Publishing: Content deployment job failed. Error: ‘System.Net.WebException: The remote server returned an error: (404) Not Found.

Event ID: 6398
Source: Windows Sharepoint Services
Description: The Excecute method of job definition Microsoft.Sharepoint.Publishing.Administration.ContentDeploymentJobDefination threw an exception. The remote server returned an error (404) Not Found.

In addition you will find similar entries in the ULS log on the source server:

OWSTIMER.EXE (0x0778)                            0x079C CMS                                      Content Deployment                            0             Unexpected      ContentDeploymentJob.DoServerToServer: Remote connection failed while uploading files for source-Job ‘Test’ with exception ‘The remote server returned an error: (404) Not Found.’ 

To see if the problem really is the upload size you need to check the IIS log on the target server to see if the response is indeed a 404.13

2008-09-01 08:55:08 10.10.10.2 POST /_admin/Content+Deployment/DeploymentUpload.aspx filename=%22ExportedFiles13.cab%22&remoteJobId=%11456fa7ed-ddcdedcdd-9aae-a1adsf5re1db%22 1976 – 10.10.10.3 – 404 13 0 62

To solve this issue you need to modify the web.config of the Central Admin site and add an entry similar to the following:

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength=”52428800″/>
         </requestFiltering>
    </security>
</system.webServer>                

52428800 = 50 MB in this sample. You might need to adjust this to your specific needs.

5 Comments


  1. Parce qu&#39;il n&#39;est pas possible d&#39;&#233;crire sur tous les sujets et que d&#39;autres le font

    Reply

  2. Hi Stefan,

    I am running into a similar issue with content deployment on II6 and MOSS.  I have a custom who recently added some large files to their site collection causing one of their cab files to increase in size to around 113 MB.  This caused content deployment to fail.  I tried setting the httpRuntime maxRequestLength="256000" in the web.config for central admin.  Thinking that may be the issue.  But with no luck.  Have you ever run into a similar issue?  Thanks!

    Reply

  3. Hi Carlos,

    which error message do you get?

    Cheers,

    Stefan

    Reply

  4. Fantastic post, several times I have run into this and your post has saved me tons of wasted hours!  Thanks!

    Reply

  5. Stefan,

    It's such a great post and here I am with similar issue like the one mentioned here above. Could you please shade some idea what the fix could be for the error below?. Thanks heaps.

    Failed to transfer files to destination server for Content Deployment job 'test'. Exception was: 'System.Net.WebException: The underlying connection was closed: Unable to connect to the remote server. —> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException'

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.