Purpose of manydirlists_## folders

We had an issue recently where the BESRElay.log file on our root server was serving up the following error:

Wed, 22 Oct 2025 14:24:58 -0400 - DatabasePropagator (8808) - File error "class FileNotFoundError" on "D:\Program Files (x86)\BigFix Enterprise\BES Server\wwwrootbes\bfmirror\bfsites\manydirlists_1\__mdirlist_82ad38f885211232bd89c439e0df9982d6ae74f7" : "Windows Error 0x2%: The system cannot find the file specified."
Wed, 22 Oct 2025 14:24:58 -0400 - DatabasePropagator (8808) - Disconnecting from database; will reconnect in 10 seconds.

This was leading to a whole host of downstream errors, such as this in the logfile.txt on our relays:

Thu, 23 Oct 2025 19:45:12 -0400 - 7668 - 10: GetURL failure on http://xxxx.xxxx.xxxx:52311/cgi-bin/bfenterprise/BESGatherMirror.exe?url=http://xxxx.xxxx.xxxx:52311/cgi-bin/bfgather.exe/actionsite&ManyVersionSHA1=82ad38f885211232bd89c439e0df9982d6ae74f7&ExpectedManyVersionCRC=1582646011&Time=1761263112: HTTP Error 8: Weird server reply: Header without colon - from 127.0.0.1

and endpoints not evaluating new analyses or fixlets, despite checking in.

We were able to find the missing file on one of our relays (or at least one with the same name), drop it into the location the logs were complaining about, and new files appeared next to it immediately:

The logs then complained about a different file, we were able to find it again and drop it in, and then the issue was resolved overall. Endpoints started evaluating analyses again, errors stopped appearing in the logs, and everything seemed fine.

My question is, what did we do? What are the _mdirlist files for, and why was our server so hung up without them? Is there a more resilient fix we can implement, if ever this happens again and we can’t find the missing files?

While we were troubleshooting this, we had a support ticket open and a gather reset on the root server was suggested but never implemented. We did try a gather reset on our own for one of the relays, which did not help. Curious to hear if anyone has any further insight — thanks!

Read the article it will explain the purpose of those folders

1 Like

I don’t know for sure, but this might be fixed by doing a gather reset on the relay.

Those files should have to do with cached copies of gathered sites.

Not sure if this tool still works: (use with caution) http://software.bigfix.com/download/bes/util/BESMirrorRecovery.exe

Would be helpful to document what this tool does and potentially provide an equivalent in bash / powershell, but I don’t currently know exactly what this does.

—–

There is also this setting: (SEE WARNINGS!)

_BESRelay_HealthCheck_Enable

This setting enables or disables the health check on the relay component. If the relay was damaged or corrupted corrective actions are automatically applied. These corrective actions are the recovery of damaged files or directory or the creation of missing files and directories. You must restart the relay component to activate the change.

WARNING: DO NOT KEEP THIS ACTIVE! Set to 1, wait, then set back to 0. This settings has pretty severe negative performance impacts to the relay!!!

If for some reason you enable _BESRelay_HealthCheck_Enable, you should set _BESRelay_HealthCheck_IntervalMinutes so that it runs at most once a day, not the default once an hour.

2 Likes