KB Article # 16632
Topic/Category: Scripting, Classification, Document Assembler, Web Services
Ephesoft Version: 4x
2017-05-10 10:48:11,802 [INFO] [org.springframework.scheduling.quartz.SchedulerFactoryBean#9_Worker-1] [com.ephesoft.dcma.util.FileUtils] – Exit Value Returned= -1 ; while Monitoring file \\mphephf001\ephprod\WatchFolders\ESMortgage\60011038341725.pdf
2017-05-10 10:48:12,818 [INFO] [org.springframework.scheduling.quartz.SchedulerFactoryBean#9_Worker-1] [com.ephesoft.dcma.util.FileUtils] – cmds D:\\Ephesoft\\Application\native\FileLockValidator\FileLockValidator
2017-05-10 10:48:12,818 [INFO] [org.springframework.scheduling.quartz.SchedulerFactoryBean#9_Worker-1] [com.ephesoft.dcma.util.FileUtils] – cmds \\mphephf001\ephprod\WatchFolders\ESMortgage\60011038341725.pdf
2017-05-10 10:48:12,818 [DEBUG] [org.springframework.scheduling.quartz.SchedulerFactoryBean#9_Worker-1] [com.ephesoft.dcma.util.ProcessUtils] – Executing getProcessErrorLog API with wait time value 500
In Folder Monitor, the cron expression is in use instead of jnotify
On cron execution, it checks the new file in the UNC folder and make the batch of those files after a copy completion check.
And in case of Windows, Ephesoft uses FileLockValidator to check for the copy completion of a file.
FileLockValidator returns 0 : File copy is complete and returns 1 in case file is in mid of copy.
In our case, as the file(\\mphephf001\ephprod\WatchFolders\ESMortgage\60011038341725.pdf) which is being checked is not in the UNC folder.
So the FileLockValidator is returning -1.
Ephesoft wait for the FileLockValidator to return 0,upto a time limit which is governed by a property named batch_copy_timeout(available in application.properties file) which has default value of (3600) i.e. 1 hour.
The file was not there in the UNC folder and this is the cause of the issue.
It seems that the copy started in the UNC folder, but the file copy stopped or somehow the file got deleted.
The batch_copy_timeout of 1 hour explains the issue faced in mid-April i.e. when processing went down for one hour.
As the issue occurrence is very rare, there is one workaround, and that is to reduce this batch_copy_timeout property value.
The batch copy timeout can be reduced to a time within which all the batch files gets copied.
From the Ephesoft side a check can be placed in the folder monitor that if the FileLockValidator is returning -1,then ignore that file and continue processing.
Example : If we know that all of our files get copied to the UNC within 15 minutes, then this can be reduced to 15 minutes.
The default value of the property is 3600 i.e. 1 hour. So, 3600 is in seconds unit of time.
Also, if we know that customer’s maximum size file gets copied to the UNC within 15 minutes, then this property value can be reduced to 900 seconds (15 minutes) to start with.