Skip to content
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

fix(binder): resolve array_concat types without intermediate RwError #6171

Merged
merged 2 commits into from
Nov 3, 2022

Conversation

xiangjinwu
Copy link
Contributor

@xiangjinwu xiangjinwu commented Nov 2, 2022

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.

What's changed and what's your intention?

Construction of RwError includes capturing the backtrace, which becomes very slow (~300ms) in single binary debug mode after recent toolchain bump. When we resolve input and output types of the overloaded array_concat function, intermediate errors from failed attempts does not need the backtrace. This PR changes these intermediate errors from RwError to ErrorCode.

Before toolchain bump:

| e2e_test/batch/./functions/array_concat.slt.part             .. [OK] in 119 ms

Current main:

| e2e_test/batch/./functions/array_concat.slt.part             .. [OK] in 6573 ms

This PR:

| e2e_test/batch/./functions/array_concat.slt.part             .. [OK] in 116 ms

Checklist

  • I have written necessary rustdoc comments
  • I have added necessary unit tests and integration tests
  • All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)

#6157

@github-actions github-actions bot added the type/fix Bug fix label Nov 2, 2022
@xiangjinwu xiangjinwu changed the title fix(binder): resolve array_concat types without intermediate RwError backtrace capture fix(binder): resolve array_concat types without intermediate RwError Nov 2, 2022
@xiangjinwu xiangjinwu force-pushed the XJ-fix-array-concat-perf branch from 99bcd11 to 477f071 Compare November 2, 2022 11:25
@codecov
Copy link

codecov bot commented Nov 2, 2022

Codecov Report

Merging #6171 (0295733) into main (912db57) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #6171   +/-   ##
=======================================
  Coverage   74.36%   74.36%           
=======================================
  Files         935      935           
  Lines      150096   150104    +8     
=======================================
+ Hits       111612   111629   +17     
+ Misses      38484    38475    -9     
Flag Coverage Δ
rust 74.36% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/frontend/src/expr/type_inference/cast.rs 91.51% <100.00%> (+0.22%) ⬆️
src/frontend/src/expr/type_inference/func.rs 97.69% <100.00%> (+<0.01%) ⬆️
src/tracing/src/lib.rs 76.92% <0.00%> (-1.93%) ⬇️
src/source/src/row_id.rs 91.01% <0.00%> (-1.13%) ⬇️
src/batch/src/executor/group_top_n.rs 74.69% <0.00%> (+6.62%) ⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@xiangjinwu xiangjinwu marked this pull request as ready for review November 2, 2022 12:16
@xiangjinwu xiangjinwu requested a review from BugenZhao November 2, 2022 12:17
@mergify mergify bot merged commit cba1a2c into main Nov 3, 2022
@mergify mergify bot deleted the XJ-fix-array-concat-perf branch November 3, 2022 02:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/fix Bug fix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants