v1.5.0
Fixes a performance bug related to pipelining. See #541 for extensive details on the testing done.
Change in Default Behavior: This is being released as a minor version even though it changes the default behaviour of the library. The rationale for that is that in almost all cases we are aware of (including all HashiCorp tools) the previous behavior performs significantly worse than the new default. Most other users of this library are most likely to notice no change, or see a significant improvement in latency under high load so we want that to be the default experience rather than one that needs tuning to acheive.
It's possible if you are using this library in way that is significantly different to our typical usage (e.g. over very high latency networks and with enough throughput) that this could cause an increase in commit latency. The increase should never exceed the round-trip-time between your servers. The issue being fixed could cause latency increases in the order of 100x more than the mean commit time at high load. If you are still unsure, the old behavior can be retained by setting the new NetTransportConfig.MaxRPCsInFlight = 130
.
See the PR for more analysis of this tradeoff.