You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
152717: rpc, server: add loopback dialer support for DRPC r=cthumuluru-crdb a=cthumuluru-crdb
Observed a performance regression in the sysbench `oltp_read_only` microbenchmark when DRPC was enabled by default (ref: #151312). No such regression was seen in `oltp_read_write`. Root cause analysis traced it to missing loopback dialer support in DRPC.
Epic: CRDB-51459Fixes: #148493
Release note: None
152921: kvcoord: correctly initialize txnWriteBuffer r=yuzefovich a=stevendanna
Previously we were initializing the pipelineEnabler on a copy of the txnWriteBuffer that would later be overwritten. As a result, we were never re-enabling pipelining after a mid-transaction flush. This is OK from a correctness perspective since this was only intended as a potential performance improvement for some workloads under buffered writes.
There is a potentially strong argument that we shouldn't do this at all and that if someone sees a regression of their workload under buffered writes they should turn it off rather than relying on this fallback.
Epic: None
Release note: None
152923: kvpb: always use t.ExpectExclusionSince in EarliestActiveTimestamp r=miraradeva a=stevendanna
Previously, some cases used ExpectExclusionSince while others used ExpectExclusionSince.Next().
I think this was OK in practice because any write we needed to observe would need to be at ExpectExclusionSince.Next() since we set that field based on the ReadTimestamp of a locking Get. Such Get's scan with FailOnMoreRecent set which, despite the name, also fails if the current value equals the read timestamp. Thus, any new write violating our exclusion would have to be at .Next() or higher.
If the above analysis doesn't convince your or is wrong, also note that this is only required for weak isolation buffered writes which can only be enabled via a non-public cluster setting (SSI transactions refresh their reads).
In case the argument above is wrong, I've chosen to normalize these to the earlier timestamp.
I've forgone a release note given the above argument.
Epic: none
Release note: None
Co-authored-by: Chandra Thumuluru <[email protected]>
Co-authored-by: Steven Danna <[email protected]>
0 commit comments