-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sql: 23.1 microbenchmark regression investigation and sign-off #98306
Comments
Hi @mgartner, please add branch-* labels to identify which branch(es) this release-blocker affects. 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
Hi @mgartner, please add branch-* labels to identify which branch(es) this release-blocker affects. 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
We might need to investigate some regressions in |
Here is a comparison of the optimizer benchmarks comparing release-22.2 to master after making the join reordering limit consistent: https://gist.github.com/mgartner/9e2bff7eaef825d0224363b41538c973 All the regressions seem acceptable. The only minor ones that we might want to look into are some of the bytes allocated regressions:
|
This commit fixes a performance regression in pgwire encoding of tuples introduced in cockroachdb#95009. Informs cockroachdb#98306 Epic: None Release note: None
98682: roachprod: provide workaround for long-running AWS clusters r=srosenberg a=renatolabs In #98076, we started validating hostnames before running any commands to avoid situations where a stale cache could lead to unintended interference with other clusters due to public IP reuse. The check relies on the VM's `hostname` matching the expected cluster name in the cache. GCP and Azure clusters set the hostname to the instance name by default, but that is not the case for AWS; the aforementioned PR explicitly sets the hostname when the instance is created. However, in the case of long running AWS clusters (created before host validation was introduced) or clusters that are created with an outdated version of `roachprod`, the hostname will still be the default AWS hostname, and any interaction with that cluster will fail if using a recent `roachprod` version. To remedy this situation, this commit includes: * better error reporting. When we attempt to run a command on an AWS cluster and host validation fails, we display a message to the user explaining that their hostnames may need fixing. * if the user confirms that the cluster still exists (by running `roachprod list`), they are able to automatically fix the hostnames to the expected value by running a new `fix-long-running-aws-hostnames` command. This is a temporary workaround that should be removed once we no longer have clusters that would be affected by this issue. This commit will be reverted once we no longer have clusters created with the default hostnames; this will be easier to achieve once we have an easy way for everyone to upgrade their `roachprod` (see #97311). Epic: none Release note: None 98717: tree: fix tuple encoding performance regression r=mgartner a=mgartner This commit fixes a performance regression in pgwire encoding of tuples introduced in #95009. Informs #98306 Epic: None Release note: None Co-authored-by: Renato Costa <[email protected]> Co-authored-by: Marcus Gartner <[email protected]>
We've accounted for the major regressions. I'm going to close this. Thanks for the help @yuzefovich and @DrewKimball! |
This issue tracks SQL Queries -related benchmark regressions. The main issue tracking all benchmark regressions is #96960.
The
pkg/sql
sheet is here: https://docs.google.com/spreadsheets/d/1uDYotBARIqdL5nSquMoF7Fy3qqoMfNigwHAcB8NPR7M/edit?pli=1#gid=7Here's a list of the major regressions we need to investigate:
time/op regressions (up to 20%)
Phases/many-columns-and-indexes-c/
release-22.2
and re-compare all optimizer benchmarks.Chain/chain
Encodings/(1::varchar(4) COLLATED "en_US", null
,Encodings/(1::char(1) COLLATED "en_US", null
,Encodings/(1::text(4) COLLATED "en_US", null
,Encodings/(1::char(2) COLLATED "en_US", null
KV/Delete/SQL
KV/Delete/Native
KV/Insert/Native
ProjOp/projGTInt64Int64/useSel=false/hasNulls=false-8
IsDatumEqual
EncodeDatum-8
SelLTInt64Int64Op/useSel=false,hasNulls=false-8
ConcurrentSelect1/concurrentConn
NumberedContainerIteratorCaching/lookup-join
,NumberedContainerIteratorCaching/inverted-join
CrossJoiner/spillForced=false/type=INNER/rows=8192-8
HashAggregatorPartialOrder/ANY_NOT_NULL/hash-partial-order
Distinct/PartiallyOrdered/hasNulls=true/newTupleProbability=0.001/rows=4096/ordCols=1/type=bytes-8
SortTopK/rows=16384/cols=2/matchLen=1/avgChunkSize=128-8
ValuesProcessor/rows=16,cols=1-8
Phases/tpcc-stock-level/Prepared
alloc/op regressions
TODO
allocs/op regressions
TODO
The text was updated successfully, but these errors were encountered: