Overview
During Vertica backups or integrity checks using VBR, you may encounter errors such as:
VBR ERROR: Missing DFS file: /data/vertica/catalog/DFS/logsearch/.../artifact.dfs
Additionally, when running a function like ML function for training a random forest classification model on an input relation,
You might receive an error such as: RF_CLASSIFIER does not exist or permission is denied
At first glance, this might look like a data corruption problem - but it is not related to table data.
These .dfs files belong to Vertica packages and extensions, not user data. They live inside Vertica’s internal Distributed File System (DFS) and contain package resources (like the logsearch, Voltage, or MachineLearning packages), not ROS or JT data files.
Root Cause
The error typically occurs when Vertica’s DFS metadata references package artifacts that no longer exist on disk - for example:
- After a failed upgrade, partial restore, or power loss.
- When DFS files were manually removed or corrupted.
- When a package’s DFS contents became inconsistent across nodes.
VBR flags these missing DFS objects during validation (--task=full-check), even though user data is unaffected.
Solution Approaches
Option 1 - Reinstall All or Specific Packages
The supported Vertica method for recreating missing or corrupt package files
(including DFS artifacts) is to reinstall the packages using admintools.
According to Vertica documentation (admintools -t install_package --force-reinstall):
"This task reinstalls packages that are corrupt or missing, recreating their contents in /opt/vertica/packages and the database’s internal DFS.”
Use this when:
- You have multiple packages with DFS issues.
- You want an officially supported, automated repair method.
- You want to ensure all DFS resources are consistent cluster-wide.
Commands:
To reinstall all default packages:/opt/vertica/bin/admintools -t install_package \ -d YourDBName \ -p 'YourDBPassword' \ -P all \ --force-reinstall
Note: In recent Vertica releases, the vcluster command replaces admintools
for package management and cluster administration:vcluster install_packages --force-reinstall --config /path/to/vertica_cluster.yaml
To verify after reinstall:vbr --task=full-check --config /path/to/vbr.conf
If no missing objects are listed, the DFS artifacts have been successfully restored.
Option 2 - Manual Uninstall and Install (Targeted Package Recovery)
If only a specific package is affected, you can manually uninstall and reinstall it using the SQL scripts shipped with Vertica. This method removes the package definitions and DFS artifacts, then recreates them.
Use this when:
- You know exactly which package owns the missing DFS files.
- You want a surgical fix rather than reinstalling all packages.
Commands
As dbadmin, run the uninstall and install scripts for the affected package (example: logsearch):vsql -U dbadmin -w 'YourDBPassword' -d YourDBName -f /opt/vertica/packages/logsearch/ddl/uninstall.sqlvsql -U dbadmin -w 'YourDBPassword' -d YourDBName -f /opt/vertica/packages/logsearch/ddl/install.sql
Finally, verify again:vbr --task=full-check --config /path/to/vbr.conf
Verification Checklist
After completing either method:
- Run vbr --task=full-check - no “missing DFS file” entries should remain.
- Check that the package is listed and active:
- SELECT library_name, path FROM user_libraries;
- Review the system log (vertica.log) for package reinstall success messages.
