MID Server File Cleaner
Summarize
Summary of MID Server File Cleaner
The MID Server File Cleaner is a background monitor thread that runs within the MID Server to automatically delete old files and empty folders from specified directories. This cleanup process helps maintain manageable file sizes and quantities in the MID Server install folder, preventing potential performance degradation.
Show less
The File Cleaner runs at MID Server startup and subsequently every 24 hours. It targets files last accessed more than 30 days ago for deletion. You can also manually trigger the File Cleaner by restarting the MID Server service.
Folders and Files Cleaned
The File Cleaner specifically cleans the following MID Server directories:
- \agent\import
- \agent\export – Stores files generated by the Export Set feature that customers are expected to move elsewhere promptly.
- \agent\work\monitors\ECCSender\outputerror – Holds ECC input payloads that failed insertion.
- \agent\work\monitors\ECCSender\outputoversize – Contains payloads exceeding the size limit configured by
mid.eccq.maxpayloadsize(default 20,000,000 bytes) that were not sent to the instance. - \agent\logs – Specifically Java Flight Recorder (JFR) dumps, starting from the Utah release.
Logging and Monitoring
The MID Server agent log records the File Cleaner monitor startup and shutdown events. For detailed execution logs, enable debug logging by setting the parameter mid.log.level=debug. Individual file or folder deletions are not logged.
Disabling the File Cleaner
If your environment requires retaining files longer or managing cleanup differently, the MID Server File Cleaner can be disabled completely by setting the configuration parameter mid.filecleaner.disabled=true. This can be done either:
- On the MID Server form via the "Configuration Parameters" related list by creating a new parameter with this name and setting its value to true.
- Manually in the MID Server's
config.xmlfile by adding the parameter entry.
By default, this parameter is false (or absent), and the File Cleaner is enabled out of the box.
Why This Matters for ServiceNow Customers
Keeping the MID Server file directories clean prevents disk space issues and performance bottlenecks, ensuring stable and efficient MID Server operation. Understanding how the File Cleaner works and how to configure or disable it allows you to tailor cleanup behavior to your integration needs, especially if you rely on Export Set files or specific payload handling.
A monitor thread runs in the MID Server to clean up old files, to keep the size and quantity of files within the install folder manageable, and to prevent performance issues with the MID Servers.
Files and empty folders within the following folders may be deleted by this MID File Cleaner. Files last accessed more than 30 days ago are deleted.
It runs on startup, and then every 24 hours after that. You can force the File Cleaner to run by restarting the MID Server service.
Folders/files cleaned:
- \agent\import
- \agent\export - Used by the Export Set feature.
- \agent\work\monitors\ECCSender\output_error - Used since San Diego for ECC input payloads that cannot be inserted for any reason (see PRB1521761/KB0995569).
- \agent\work\monitors\ECCSender\output_oversize - Used since Eureka/Fuji for saving copies of payloads that are not sent to the instance because they are larger than the limit set by mid.eccq.max_payload_size, which defaults to 20000000 bytes (see PRB598334)
- \agent\logs - Specifically JFR Dumps (Utah release)
Logging
The MID Server agent log shows this monitor starting and shutting down with the MID Server.
2022-10-21T13:08:58.330+0200 INFO (MIDServer) [Main:265] Initializing MID Server
2022-10-21T13:10:36.527+0200 INFO (StartupSequencer) [Monitors:307] Enabling monitor: FileCleanerMonitor
...
2022-10-24T09:29:35.193+0200 INFO (MIDServer) [MIDServerState:160] MID Server stopping
2022-10-24T09:29:38.591+0200 INFO (MIDServer) [Instance:928] interrupting thread FileCleanerMonitor.21600
To see exactly when it runs, enable debug with parameter
mid.log.level=debug.
2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\import
2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\export
2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\work\monitors\ECCSender\output_error
2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\work\monitors\ECCSender\output_oversize
2022-11-17T02:49:13.201-0800 DEBUG (FileCleanerMonitor.21600) [AFileCleaner:103] Scanning directory to delete files: C:\...\agent\logs
There is no logging for individual file/folder deletes.
Disabling the MID File Cleaner
Export Sets write files to the MID Server agent\export folders. The idea is then that a custom implementation on the customer side takes those files and moves them elsewhere, so that these files only need to remain in the MID Server application's install directory for a short time.
The MID File Cleaner can be disabled completely for all folders, by adding the MID Server Configuration Parameter mid.file_cleaner.disabled=true. When the parameter is not present, which is the out-of-box state, it defaults to false, and the file cleaner runs.
On the MID Server form, click New on the "Configuration Parameters" related list, select mid.file_cleaner.disabled, and enter the value "true".
This can also be manually added to the config.xml file: <parameter
name="mid.file_cleaner.disabled" value="true"/>. See MID Server parameters for more information.