Release deployment fails with 404 (,15)

Recently one of the internal release management customers (probably one of the windows azure team) mentioned that sometimes their releases are failing with 404 http error code. The customer also observed that the releases which are succeeding have 5 actions and releases which are failing have 6 actions & if customer removes the 6th action from the failing release & keep only 5 actions, then it also succeeds.

Devwrat More from the team looked at this issue & observed the following: -

  • In this release template, each action in the release template was corresponding to a different component. This means that 5 actions => 5 components and 6 actions => 6 components.

  • Customer had also shared the IIS W3SVC logs and in those logs there was a 404.15 error code observed in it. As mentioned here, this error code means that the query string is longer than the configured limit.

    POST /account/releaseManagementService/_apis/releaseManagement/OrchestratorService/PreDeployComplete releaseId=137&releaseStepId=1432&isSuccess=True&normalizedStore=<ArrayOfNormalizedStoreDetail >
    <NormalizedStoreDetail PackageLocation="XX" ComponentId="694" UploadLocation="XX" NetworkType="Trusted" />
    <NormalizedStoreDetail PackageLocation="XX" ComponentId="695" UploadLocation="XX" NetworkType="Trusted" />
    <NormalizedStoreDetail PackageLocation="XX" ComponentId="696" UploadLocation="XX" NetworkType="Trusted" />
    <NormalizedStoreDetail PackageLocation="XX" ComponentId="697" UploadLocation="XX" NetworkType="Trusted" />
    <NormalizedStoreDetail PackageLocation="XX" ComponentId="698" UploadLocation="XX" NetworkType="Trusted" />
    <NormalizedStoreDetail PackageLocation="XX" ComponentId="699" UploadLocation="XX" NetworkType="Trusted" />
    </ArrayOfNormalizedStoreDetail>&api-version=3.0 1000 - fe80::40d1:a915:358b:16f6 - - 404 15 0 0

  • In this call, the client informs the server about the location of each component so that server can make the binaries available during the release process and in this particular scenario, the location of each component was a relatively big UNC path and having such 6 paths in the call was making the url bigger than the default maxQueryString limit of 2048 characters that IIS imposes.

  • So Devwrat suggested the customer to increase this limit in the web.config file of RM server as mentioned here and this worked for the customer.

Enjoy !!