Description
Allow a per-operation timeout to be specified on CRUD methods, similar to how one can be specified via QueryRequest.Timeout().
Certain access patterns benefit from the ability to specify different timeouts based on their context.
Example
An application that prefers availability and lower latency over consistency may wish to fail an initial get() faster while allowing more time for a fallback getFromReplica() call.
Pseudocode:
try
catch (OperationTimeoutException)
{ getFromReplica(key, new TimeSpan(0,0,0,1)) }