a thrift client with retries/exponential backoff