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
107882: kv: don't let pusher win when pushing STAGING txn with equal priority r=miraradeva a=nvanbenschoten
Fixescockroachdb#105330.
Fixescockroachdb#101721.
This commit updates the transaction push logic to stop pushes from completing successfully when the pushee is STAGING and the pusher has equal priority. Prior to this change, the pusher would win in these cases when using a PUSH_TIMESTAMP if at least one of the two transactions involved used a weak isolation level.
This had two undesirable effects:
- if the pushee was still possibly committable and requiring recovery (`!(knownHigherTimestamp || knownHigherEpoch)` in the code) then the pusher would immediately begin parallel commit recovery, attempting to disrupt the commit and abort the pushee. This is undesirable because the pushee may still be in progress and in cases of equal priority, we'd like to wait for the parallel commit to complete before kicking off recovery, deferring recovery to only the cases where the pushee/committers's heartbeat has expired.
- if the pushee was known to be uncommittable (`knownHigherTimestamp || knownHigherEpoch` in the code), then txn recovery was not kicked off but the pusher still could not perform the PUSH_TIMESTAMP (see e40c1b4), so it would return a `TransactionPushError`. This confused logic in `handleTransactionPushError`, allowing the error to escape to the client.
This commit resolves both issues by considering the pushee's transaction status in `txnwait.ShouldPushImmediately`.
Release note: None
107962: docs: do not generate docs for crdb_internal functions r=knz a=rafiss
Epic: None
Release note: None
108062: server: Add rangefeed metrics r=miretskiy a=miretskiy
Add rangefeed related metrics to keep track of the number of actively running rangefeeds on the server.
Epic: CRDB-26372
Release note: None
108071: stmtdiagnostics: use background context when building the bundle r=yuzefovich a=yuzefovich
When the context is canceled, we still want to build the bundle as best as possible. Over in 532274b we introduced the usage of the background context in order to insert the bundle into the system tables, but we still built the bundle with the canceled context. This commit fixes that oversight - in particular, we should now get `env.sql` correctly.
Informs: https://github.com/cockroachlabs/support/issues/2494.
Epic: None
Release note: None
108085: builtins: improve docs and refactor code for unordered_unique_id r=rafiss,rharding6373 a=andyyang890
**builtins: improve documentation for unordered_unique_rowid**
This patch clarifies that `unordered_unique_rowid` generates unique IDs
that are statistically likely to be unordered because it bit-reverses
the insert timestamp for use as the ID's timestamp bit segment.
Release note: None
----
**builtinconstants: define constants for unique int bit segments**
This patch defines constants for the sizes and bitmasks for each
bit segment in a unique int generated for row IDs.
Release note: None
----
**builtins: refactor bit shifting logic in mapToUnorderedUniqueInt**
This patch refactors the bit shifting logic in `mapToUnorderedUniqueInt`
to use constants instead of magic numbers.
Release note: None
----
Epic: None
Co-authored-by: Nathan VanBenschoten <[email protected]>
Co-authored-by: Rafi Shamim <[email protected]>
Co-authored-by: Yevgeniy Miretskiy <[email protected]>
Co-authored-by: Yahor Yuzefovich <[email protected]>
Co-authored-by: Andy Yang <[email protected]>
0 commit comments