Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
65499: kvserver: improve documentation for non-ready nodes r=aayushshah15 a=aayushshah15 This commit improves the comment over the `StorePool`'s `isNodeReadyForRoutineReplicaTransfer` method by clarifying the distinction between such non-ready nodes and "dead" nodes. Release note: None 73627: util: fastintset fixes and improvements r=RaduBerinde a=RaduBerinde #### util: fix FastIntSet.Next and ForEach with negative numbers These methods assume that we only insert non-negative elements (whereas the rest of the API allows that case). This commit fixes this and improves the test to include negative elements. Release note: None #### util: remove FastIntSet.Shift This method is not used anymore. Release note: None #### util: fix FastIntSet.Encode edge case Encode has an edge case where we incorrectly encode a set that has the large field set but which is empty. This commit fixes this and adds tests for Encode/Decode. Also, before this change Encode could choose either encoding for a "small" set depending whether `large` was allocated. Although this doesn't break the documented contract, it is not ideal to leak this internal detail. This change also cleans up the code a bit (the semantics of `largeToSmall` are left over from an earlier implementation). Release note: None #### fastintset: reduce allocations from FastIntSet.Encode The current implementation of Encode causes allocations: the temporary array escapes to the heap because it is passed through an opaque interface call. This change fixes this by passing a `bytes.Buffer` specifically. `Prepared/ExecBuild` benchmark results: ``` name old time/op new time/op delta Phases/kv-read/Prepared/ExecBuild 1.46µs ± 2% 1.40µs ± 2% -4.04% (p=0.000 n=10+10) Phases/kv-read-const/Prepared/ExecBuild 1.24µs ± 2% 1.14µs ± 2% -8.03% (p=0.000 n=10+10) Phases/tpcc-new-order/Prepared/ExecBuild 1.79µs ± 2% 1.69µs ± 2% -5.67% (p=0.000 n=10+9) Phases/tpcc-delivery/Prepared/ExecBuild 33.0µs ± 1% 33.7µs ± 5% +2.19% (p=0.001 n=10+10) Phases/tpcc-stock-level/Prepared/ExecBuild 143µs ± 2% 141µs ± 2% ~ (p=0.280 n=10+10) Phases/many-columns-and-indexes-a/Prepared/ExecBuild 511µs ± 1% 515µs ± 2% ~ (p=0.218 n=10+10) Phases/many-columns-and-indexes-b/Prepared/ExecBuild 529µs ± 1% 543µs ± 4% +2.77% (p=0.004 n=10+10) Phases/ored-preds-100/Prepared/ExecBuild 116µs ± 1% 118µs ± 4% +1.35% (p=0.029 n=10+10) Phases/ored-preds-using-params-100/Prepared/ExecBuild 1.41ms ± 2% 1.41ms ± 3% ~ (p=0.971 n=10+10) name old alloc/op new alloc/op delta Phases/kv-read/Prepared/ExecBuild 704B ± 0% 656B ± 0% -6.82% (p=0.000 n=10+10) Phases/kv-read-const/Prepared/ExecBuild 520B ± 0% 472B ± 0% -9.23% (p=0.000 n=10+10) Phases/tpcc-new-order/Prepared/ExecBuild 768B ± 0% 720B ± 0% -6.25% (p=0.000 n=10+10) Phases/tpcc-delivery/Prepared/ExecBuild 11.1kB ± 0% 11.1kB ± 0% -0.39% (p=0.000 n=10+6) Phases/tpcc-stock-level/Prepared/ExecBuild 39.5kB ± 0% 39.5kB ± 0% -0.12% (p=0.000 n=10+10) Phases/many-columns-and-indexes-a/Prepared/ExecBuild 5.02kB ± 0% 4.98kB ± 0% -0.80% (p=0.000 n=10+10) Phases/many-columns-and-indexes-b/Prepared/ExecBuild 7.46kB ± 0% 7.42kB ± 0% -0.53% (p=0.000 n=10+10) Phases/ored-preds-100/Prepared/ExecBuild 29.6kB ± 0% 29.6kB ± 0% -0.16% (p=0.000 n=10+10) Phases/ored-preds-using-params-100/Prepared/ExecBuild 765kB ± 0% 765kB ± 0% -0.01% (p=0.005 n=10+10) name old allocs/op new allocs/op delta Phases/kv-read/Prepared/ExecBuild 11.0 ± 0% 9.0 ± 0% -18.18% (p=0.000 n=10+10) Phases/kv-read-const/Prepared/ExecBuild 8.00 ± 0% 6.00 ± 0% -25.00% (p=0.000 n=10+10) Phases/tpcc-new-order/Prepared/ExecBuild 11.0 ± 0% 9.0 ± 0% -18.18% (p=0.000 n=10+10) Phases/tpcc-delivery/Prepared/ExecBuild 75.0 ± 0% 73.0 ± 0% -2.67% (p=0.000 n=10+10) Phases/tpcc-stock-level/Prepared/ExecBuild 249 ± 0% 247 ± 0% -0.80% (p=0.000 n=10+10) Phases/many-columns-and-indexes-a/Prepared/ExecBuild 34.0 ± 0% 32.0 ± 0% -5.88% (p=0.000 n=10+10) Phases/many-columns-and-indexes-b/Prepared/ExecBuild 53.0 ± 0% 51.0 ± 0% -3.77% (p=0.000 n=10+10) Phases/ored-preds-100/Prepared/ExecBuild 415 ± 0% 413 ± 0% -0.48% (p=0.000 n=10+10) Phases/ored-preds-using-params-100/Prepared/ExecBuild 3.29k ± 0% 3.29k ± 0% -0.06% (p=0.000 n=10+10) ``` Release note: None #### fastintset: fix fast_int_set_small/fast_int_set_large test builds This commit adds Encode/Decode to the test-only implementation which unbreaks the test builds with `fast_int_set_small` or `fast_int_set_large` tags. Release note: None 73635: sql: properly implement create_type_statements index r=rafiss a=otan See individual commits for details! Resolves #71414 73648: ui: update cluster-ui version to v22.1.0-prerelease-3 r=maryliag a=maryliag Update cluster-ui package version Release note: None 73650: opt: minor optbuilder improvements related to assignment casts r=mgartner a=mgartner #### opt: do not rely on column names for GENERATED ALWAYS AS IDENTITY checks Previously, optbuilder relied on matching column names to validate that mutations do not explicitly write to `GENERATED ALWAYS AS IDENTITY` columns. There are no known bugs caused by this, but relying on column names can be brittle. This commit updates the logic to use ordinals of columns within their table instead. Release note: None #### opt: simplify optbuilder update logic Release note: None #### opt: simplify assignment cast logic for inserts Creation of invalid assignment cast errors has been abstracted to a helper function for reuse for other mutations in a future commit. Release note: None Co-authored-by: Aayush Shah <[email protected]> Co-authored-by: Radu Berinde <[email protected]> Co-authored-by: Oliver Tan <[email protected]> Co-authored-by: Marylia Gutierrez <[email protected]> Co-authored-by: Marcus Gartner <[email protected]>
- Loading branch information