Salesforce

SDL Web 8.5 Deployer failing with java.nio.file.NoSuchFileException error due to missing indexes

« Go Back

Information

 
Article TypeSolution Article
Scope/EnvironmentSDL Tridion Sites
Symptoms/Context
On SDL Web 8.5, the deployer may fail to process the packages and throws the exception java.nio.file.NoSuchFileException  due to missing indexes.
This issue is mostly observed when the Storage Layer (Oracle and Microsoft SQL databases) has been upgraded from a version of SDL Tridion.
 
ERROR FSLocationPoller - Queue [Id=ContentQueue]. Command deserialization failed for file 'FILEPATH/tcm_0-13022407-66560.Content.json'. File not found, not accessible, 
or corrupt  java.nio.file.NoSuchFileException: /app/tridion/queue/ute/ContentQueue/tcm_0-13022407-66560.Content.json  
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)  at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)  
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)  at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)  
at java.nio.file.Files.newByteChannel(Files.java:361)  at java.nio.file.Files.newByteChannel(Files.java:407)  at java.nio.file.Files.readAllBytes(Files.java:3152)  
at com.sdl.delivery.deployer.queue.filesystem.FSLocationPoller.lambda$loadNewCommands$0(FSLocationPoller.java:81)  
at java.lang.Iterable.forEach(Iterable.java:75)  at com.sdl.delivery.deployer.queue.filesystem.FSLocationPoller.loadNewCommands(FSLocationPoller.java:78)  
at com.sdl.delivery.deployer.queue.filesystem.FSLocationPoller.run(FSLocationPoller.java:66)  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
at java.util.concurrent.FutureTask.run(FutureTask.java:266)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  
at java.lang.Thread.run(Thread.java:748)
Resolution

Solution: Deploy the hotfix CD_8.5.0.14124

For SQL Server, note that the CREATE_FK_INDEXES.sql script needs to be divided into four parts and run separately in order for the hotfix to be applied successfully.  In consecutive order the parts are:
* Run SQL to drop procedure CREATE_FK_INDEXES
* Run SQL to create procedure CREATE_FK_INDEXES
* Run SQL to execute procedure
* Run SQL to drop procedure

Afterwards, check the CUSTOM_META table to verify that an index with WITH FILLFACTOR = 80 has been created.  If the index has not been created then the hotfix script has not been successfully run.  If performance issues persist after applying hotfix, send a screenshot of the CUSTOM_META table index when submitting ticket so that SDL Support can confirm that the hotfix has worked.  Other tables will also have a FK index created, but can use this table for confirmation.

Root Cause
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by