Nov 14, 2016
As of release 76.12 the app includes support for retrying directory retrieval requests while in Scanning phase.
On Windows, an app retrieves directory listings by first saying "get me the first item from *this* directory" and then repeatedly asking "get me the next item" until Windows says "there is no more".
In some case these "get next" requests may fail and with some bizarre error codes. For example, in one case certain NAS device would spit out "invalid command length" error at an arbitrary spot while traversing certain directory. If an app is to retry the same request in a moment, it would go through and the enumeration would continue as normal. This makes very little sense, but apparently this happens.
Retrying on scanning errors
To accommodate for this behavior, the app now allows retrying every request during the scanning phase for a configurable number of times, holding a configurable pause before each attempt.
Furthermore, the app can be set to retry on all, but some errors OR it can be set to retry on specific errors only.
The default is to retry once after a second on all, but "Access denied" errors.
This default is provisional and subject to change in later releases. If it changes, we'll post a note to that effect here.
The following two ini entries control the attempt number and the pause interval for a backup job:
conf.scanning.retry.pause 650 ms
This example sets 7 retries (so it's 8 in total), 650 ms apart. The 'pause' is in a "<count> <time-units>" format , whereby time-units are us, ms, sec, min, hour, etc.
Additionally, the following controls which errors are retried:
This will retry on all errors *except* for 123 and 456.
seting "inclusive" to 0 will empty the retryable error set except for 123, 456 and 789.
As per usual, to find settings.ini for a job - right-click on the job in main window, select Open Folder > Configuration & Logging. To edit the INI - exit the app, open INI in a text editor, e.g. Notepad, make your changes, save, exit editor, start the app.