The support forum

Retrying on errors while scanning

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

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.

INI entries

The following two ini entries control the attempt number and the pause interval for a backup job:

     conf.scanning.retry.count         7
     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:

     conf.scanning.retry.inclusive    1
     conf.scanning.retry.except        123
     conf.scanning.retry.except        456

This will retry on all errors *except* for 123 and 456.


     conf.scanning.retry.inclusive    0
     conf.scanning.retry.except        123
     conf.scanning.retry.except        456
     conf.scanning.retry.except        789

seting "inclusive" to 0 will empty the retryable error set except for 123, 456 and 789.

For instructions on how to find and edit settings.ini see here -

New topic

Made by Pipemetrics in Switzerland

Blog / RSS
Miscellanea Press resources
On robocopy

Legal Terms