Specify timeout for file system activity


THE INFORMATION IN THIS ARTICLE APPLIES TO:

  • EFT v7.2.7 and later 
  • EFT v7.3 and later

DISCUSSION

FileSystemTimeoutMSec is used to specify, in seconds, the timeout threshold for file system objects. This setting will help to identify issues related to unresponsiveness of the file share by recording directory/file actions that take a long time to get a response and identify precisely how long the server has to wait for a response.

This thresholds is not a “timeout” per se, but a warning: "if it takes longer than X, record a WARNING." With this in place, any file system operation that takes longer than the defined threshold will record a WARN level entry to the log

FileSystemItemThreshold is used to specify, the files threshold for files or folders objects. This setting will help to identify issues related to unresponsiveness of the file share by detecting large file system objects that takes long time to get  a response. Used to identify "problem" directories that contain a large number of files/folders.

This thresholds is not a “limit” per se, but a warning "High number of files or folders detected" message will be logged with this in place, any file system operation that finds more objects than the defined threshold will record a WARN level entry to the log. Default threshold is 5000 files. A value of 0 disables this logging. by default this setting is disabled unless is enabled in the AdvancedProperties.json

 The warn messages will be logged into the EFT log as defined in logging.cfg or another log specified in log4cplus.appender.FileSys.File=${AppDataPath}\<name>.log)

. File system activities include CheckPermissions, FolderExists, GetFolderListing, GetListingEntry, GetRealPath, GetFileSize, LockFile, OpenFile, and UnlockFile.

The following items can be logged:

  • Operation: "CheckPermissions"
  • Operation: "FolderExists"
  • Operation: "GetFolderListing"
  • Operation: "GetListingEntry"
  • Operation: "GetRealPath"
  • Operation: "GetFileSize"
  • Operation: "LockFile"
  • Operation: "OpenFile"
  • Operation: "UnlockFile"

Timeouts appear in the log similar to:

High number of files or folders detected

For versions prior to EFT 8.x 

32-bit:
HKEY_LOCAL_MACHINE\Software\Software\Globalscape Inc.\EFT Server 7.3\
64-bit:
HKEY_LOCAL_MACHINE\Software\WOW6432Node\GlobalSCAPE Inc.\EFT Server 7.3\
Type: DWORD
Value name: FileSystemTimeoutMSec
Default Value: 2000
Value name: FileSystemItemThreshold
Default Value: 5000

For versions after to EFT 8.x 

"FileSystemTimeoutMSec": 2000
"FileSystemItemThreshold": 5000

Minimum Value: 0
Maximum Value: 4294967295
Cached: yes
Backup/Restore: yes
Restart required: Yes 

See also https://kb.globalscape.com/KnowledgebaseArticle11344.aspx

You could configure your logging.cfg to output your File System operations to a different file than the EFT log.

#
# File System Logging - Quickly log FS activities to a separate file for debug diagnostics.
#
log4cplus.logger.FileSystem=TRACE, FSAppender
log4cplus.additivity.FileSystem=false
log4cplus.appender.FSAppender=log4cplus::RollingFileAppender
log4cplus.appender.FSAppender.File=${AppDataPath}\EFT-FS.log
log4cplus.appender.FSAppender.MaxFileSize=20MB
log4cplus.appender.FSAppender.MaxBackupIndex=5
log4cplus.appender.FSAppender.layout=log4cplus::TTCCLayout
log4cplus.appender.FSAppender.layout.DateFormat=%m-%d-%y %H:%M:%S,%q
log4cplus.logger.FileSystem=TRACE, FSAppender