Salesforce

Publishing multiple items fails with error "Could not process package - capacity exceeded" until Deployer is restarted

« Go Back

Information

 
Article TypeSolution Article
Scope/EnvironmentArticle applies to SDL Web 8.1 only, not SDL Web 8.5..
Symptoms/Context
- Issue encountered in SDL Web 8.1, likely to be encountered in SDL Web 8.1.1 also.
- In high volume publishing scenario (100+ items at the same time), publishing fails with below error.  Alternatively, error "cause Not Acceptable" may be seen instead of "cause Service Unavailable".
Transport Failed: Could not transport
tcm_x-xxxx-xxxx.content.zip using https, cause Service Unavailable;
- Deployer's cd_core log has errors
ERROR DeployerEndpointController - Could not process package - capacity exceeded.
- Issue persists with WindowsSize increased as per documentation, with Deployer config file Location element as below
<Location Path="c:\SDLWeb\incoming\live" WindowSize="40" Workers="10" Cleanup="true" Interval="2s"/>
- Issue had not been encountered before Web 8 upgrade with same Deployer configuration, for SDL Tridion 2011 SP1 HR2.
- In Tridion MMC Publisher settings, Rendering and Deploying number of threads have been increased.  Issues resulting from this were:
* multiple throttled items in the publishing queue, which eventually result in failed publish transactions when the Deployer encounters capacity exceeded error.
* Occasional scenarios where Deployer will lock the incoming folder and the whole queue and publishing will be blocked with below error until Deployer microservice is restarted.
ERROR [dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 
[Request processing failed; nested exception is java.io.UncheckedIOException: java.nio.file.NoSuchFileException
<INCOMING_FOLDER_PATH>] with root cause
java.nio.file.NoSuchFileException: <INCOMING_FOLDER_PATH>
Resolution
Applying Deployer hotfix CD_8.1.1.3597 resolves issue where publishing had been blocked until a Deployer microservice restart.

It is also necessary to make the following Deployer configuration changes to address the capacity exceeded Deployer errors still appearing.
A. In Deployer cd_storage_conf.xml file, increase transaction timeout
- Find the Storages element
- Directly below it, add or uncomment a <Transaction> element as below, before the <Global> closing tag.
</Storages> 
<Transaction Timeout="600000" MonitorInterval="5000"/>
</Global>
B. In Deployer cd_deployer_conf.xml file
- Update WindowSize to 100000 for both deployment and transaction package
<Location Path="..." WindowSize="100000" Workers="10" Cleanup="true" Interval="2s"/>
<Location Path="..." WindowSize="100000" Workers="10" Cleanup="true" Interval="30s"/>
- Update MaxSize attribute of HTTPSReceiver element to 1000000000
<HTTPSReceiver MaxSize="1000000000" .../>
C. Update Deployer's application.properties file as below
# specifies the maximum size permitted for uploaded files.
multipart.maxFileSize =1000Mb
# specifies the maximum size allowed for multipart/form-data requests.
multipart.maxRequestSize=1000Mb
If the below error is seen to occur even after applying the hotfix and changing Deployer configuration, it will be helpful to investigate if issue is reproduced with the Deployer log in debug. A Process Monitor trace running in background against the incoming folder may also provide additional information.
java.nio.file.NoSuchFileException: c:\SDLWeb\incoming\live\Zip\tcm_XXX.
Content at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) ~[na:1.8.0_101]
Root Cause
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by