xylaaaaa commented on issue #69884: URL: https://github.com/apache/doris/issues/69884#issuecomment-6682219393
### Full TPC-DS rerun after small-table scheduling — 2026-11-06 Tested [fb4e695560](https://github.com/apache/doris/pull/69904/commits/fb4e695560bafc1862ac398fe22bfe6338c7f02e), including a fresh complete FE/BE build on local macOS ARM64, ASAN. **103/103 query files passed, with 824 executions and no result mismatches or failed queries.** The basic p0 suite also passed all 36 result blocks. The same retained SF1 data was reused: 24 tables, 19,557,335 rows, 96 objects. Object paths, sizes and SHA-256 values matched the original export before and after testing. Hive reads the same Parquet objects as Delta; all 24 Delta tables lack CRC files. The 103 SQL hashes match the November 2 run. | Sum of per-query medians, three alternating pairs | Hive | Delta | Extra Delta time | | --- | ---: | ---: | ---: | | Current full TPC-DS, 103 queries | 240.236 s | 251.496 s | **+4.69%** | | Current 91 nonempty-result queries | 227.810 s | 237.523 s | **+4.26%** | | Current 102 queries excluding fixed-order Q85 | 232.869 s | 243.990 s | +4.78% | | November 2 historical full run | 225.408 s | 262.556 s | +16.48% | The recorded overall gap is 11.79 percentage points smaller. This is **not an isolated before/after measurement of one patch**: master changed and the earlier shared FE row-count consumption was reverted in between. Hive's total increased 6.58% and Delta's decreased 4.21%. The current same-build Delta/Hive comparison is the primary result. Controls remain: SQL/file caches disabled, four pipeline tasks, 8 GiB/query, 120-second timeout, UTC, default external batch mode and threshold 1024. Before timing, all 24 Delta cardinalities converged to the independent manifest under the default 10-minute FE refresh interval; Hive estimates were recorded unchanged. Q85 retains the same fixed join order on both sides, and Q30 retains the generator column-name adaptation. First executions are excluded; profiles were disabled during timing. Integer/decimal values compare exactly and floating results use the existing 1e-8 tolerance. **Remaining differences:** 32 queries are still over 10% slower; two are over twice as slow. The geometric mean of per-query ratios is 1.124, so the +4.69% aggregate does not mean uniform per-query parity. Largest absolute penalties in the full run: | Query | Rows | Hive median | Delta median | Extra time | | --- | ---: | ---: | ---: | ---: | | Q1 | 0 | 80.780 ms | 497.553 ms | 416.773 ms | | Q88 | 1 | 1839.121 ms | 2164.950 ms | 325.829 ms | | Q80 | 100 | 3006.332 ms | 3315.722 ms | 309.390 ms | | Q98 | 2602 | 1678.413 ms | 1960.239 ms | 281.826 ms | | Q64 | 2 | 2284.982 ms | 2565.427 ms | 280.446 ms | Ten complete plans/profiles were captured **after** timing for Q1/Q88/Q80/Q22/Q4, with results checked again. They do not replace any full-run sample: - **Scheduling is effective in this workload:** Q22's inventory/item/date_dim Delta scans now each use one scanner, versus 64 each in the November 2 profile; current Hive also uses one. Both readers emit 2,340,000 / 18,000 / 365 scan rows respectively. Q22's full-run medians are 9.319/9.311 s, and Q4 is now +3.15% rather than the historical +50.7%. - **FE translation warrants the next investigation:** Q88's Hive/Delta Plan Time is 21/272 ms, including Nereids Translate Time of 5/227 ms (11 ms of Delta planning GC). Q80 is 21/201 ms and 3/137 ms, without planning GC; Q4 shows a similar difference. These phase counters do not yet isolate a method-level or IO root cause. - **Q1 has a separate plan/early-termination difference:** Delta prunes the store file to zero splits but still reads 100,000 customer, 55,820 store_returns and 366 date_dim rows. Hive's corresponding scan output is zero throughout. Join/runtime-filter placement differs on the multicast CTE paths. With only zero/one scanner per node, excess empty scanners no longer explain this gap. - Q88's eight store_sales scans and Q80's one store_sales scan use two Delta scanners versus one Hive scanner for the same 137,160,979-byte file. Corresponding scan output counts match. Split granularity/open costs remain a candidate for separate measurement, not an established primary cause. **Limits and delivery:** This is local ASAN / SF1 with SF100 query parameters, not RELEASE, certified TPC results, cold-cache or concurrent throughput. TPC-H and million-file data IO were not rerun. END-03 and overall M1 acceptance remain open. The local tasklist and full report are updated under `docs/delta-m1-preflight/benchmark/post-small-table-scheduling-2026-11-06/`, including raw samples, comparisons, build logs, artifact hashes, profiles and data verification. The local PCH/float.h build conflict was handled with `ENABLE_PCH=OFF`; no product/test/golden-file changes were needed. FE/BE, the three started dependency containers and Docker Desktop are stopped; all data and artifacts are retained. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
