Make the default wait timeout infinity v1.3.2
authorNick Vatamaniuc <vatamane@gmail.com>
Mon, 29 Mar 2021 22:47:53 +0000 (18:47 -0400)
committerNick Vatamaniuc <nickva@users.noreply.github.com>
Tue, 30 Mar 2021 16:53:50 +0000 (12:53 -0400)
commitc784cc4b21c554e276cb309b53f36fe8a2c5b8ac
tree54763e15d8494aacd1edbb0fb176aa21f06bf1f3
parent53077693e161368f6c33b73a2f967fe490c36838
Make the default wait timeout infinity

This brings the default behavior in line with other FoundationDB client
libraries which don't use client-side timeouts when waiting for futures to
fire.

A few other reasons are:

  * Currently we may generate spurious future `ready` messages when timeouts
fire during overload scenarios. The caller would have to know to flush ready
messages if they caught a `{timeout, _}`

 * The response may succeed under 5 seconds, but it would be queued in the
   networking layer and throw a `timeout` error on the Erlang side.

 * Timeouts can be set as a transaction or db handle options. It's easier to
   apply configuration defaults there than for individual wait functions.

 * Watch futures are not bound by the 5 second transaction time limit, and
   they'd have to know about the default `wait/1,2` call timeout to know to
   extend it or set it to `infinity`.
src/erlfdb.erl