Skip to content

2.29.0.0-b122

@mtakahar mtakahar tagged this 31 Oct 14:15
Summary:
Increase parallel_setup/tuple_cost default values to reflect higher process spawning overhead and to regain the balance between YB scan node costs and PG node costs.

Criteria for the new default values:
* Serial partitionwise aggregate plan for this test case: https://github.com/yugabyte/yugabyte-db/issues/28939 (a query in `yb.port.partition_aggregate` with parallel append enabled but not general parallel executions)
* Existing timing-verified parallel plan tests not tripping over between serial and parallel plans
* `yb.port.partition_aggregate` produces intended plans with parallel append, YB parallelism and cbo enabled.

Additional notes:
  - `yb.port.partition_aggregate`:
    -  All the plans now use the same combination of serial/parallel nodes and with/without partitionwise aggregate pushdown as the upstream plans, and most of them either identical or similar to the upstream plans with the new default values, and they are 2x - 4x faster than the ones with the original values.
  - `yb.orig.parallel_plans` (formerly `yb.orig.parallel_scan_plan`):
    - Added union-all tests with both expected serial and parallel plans.  One of the serial-append-expected queries was parallelized before the change.
    - Renamed since it now contains union-all/append tests
    - Removed one of the queries that became too sensitive to stats variation and unstable.  Also, serial/parallel plan timing balance have changed since - now serial plan slightly faster (< 50%), parallel plan used to be 2x faster.
Jira: DB-18667

Test Plan:
./yb_build.sh release --java-test 'org.yb.pgsql.TestPgRegressAggregates'
./yb_build.sh release --java-test 'org.yb.pgsql.TestPgRegressExtension'
./yb_build.sh release --java-test 'org.yb.pgsql.TestPgRegressParallel'
./yb_build.sh release --java-test 'org.yb.pgsql.TestPgRegressParallelPlans'
./yb_build.sh release --java-test 'org.yb.pgsql.TestPgRegressPartitions'
./yb_build.sh release --java-test 'org.yb.pgsql.TestPgRegressPlanner'
./yb_build.sh release --java-test 'org.yb.pgsql.TestPgRegressThirdPartyExtensionsPgHintPlan'

Reviewers: amartsinchyk, gkukreja

Reviewed By: amartsinchyk

Subscribers: jason, smishra, yql

Differential Revision: https://phorge.dev.yugabyte.com/D45662
Assets 2
Loading