Exponential retry policy.

Why would you need a new directory? It is a requirement to pass an existing writable directory from native client code