-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
[performance](Planner): optimize getStringValue() in DateLiteral #27363
Conversation
run buildall |
1 similar comment
run buildall |
94205b0
to
66e6bff
Compare
run buildall |
TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
(From new machine)TeamCity pipeline, clickbench performance test result: |
66e6bff
to
d56bd17
Compare
run buildall |
TPC-H test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
(From new machine)TeamCity pipeline, clickbench performance test result: |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…che#27363) - reduce cost of `getStringValue()` - original code don't consider `microsecond` part in `getStringValue()` (cherry picked from commit 044a295)
…che#27363) (apache#27470) - reduce cost of `getStringValue()` - original code don't consider `microsecond` part in `getStringValue()` (cherry picked from commit 044a295)
* [fix](stats) Fix update rows for unique table didn't get updated properly #26968 (#27337) * [FIX](jsonb) fix jsonb in predict column #27325 (#27424) * [fix](fe) slots in having clause should be set to need materialized(#27412) (#27429) * [Bug](insert)fix insert wrong data on mv when stmt have multiple values (#27297) (#27382) fix insert wrong data on mv when stmt have multiple values * [fix](fe ut) Fix OlapQueryCacheTest failed (#27305) (#27406) 1. ``` java.lang.NullPointerException: null at org.apache.doris.catalog.Env.getCurrentSystemInfo(Env.java:793) ~[classes/:?] at org.apache.doris.qe.SimpleScheduler$UpdateBlacklistThread.run(SimpleScheduler.java:206) ~[classes/:?] at java.lang.Thread.run(Thread.java:750) ~[?:1.8.0_382] java.lang.NullPointerException at org.apache.doris.qe.OlapQueryCacheTest.setUp(OlapQueryCacheTest.java:226) ``` 2. ``` [ERROR] testSqlCacheKeyWithNestedViewForNereids Time elapsed: 1.962 s <<< FAILURE! java.lang.AssertionError: SELECT command denied to user 'testCluster:testUser'@'192.168.1.1' for table 'internal: testCluster:testDb: appevent' at org.apache.doris.qe.OlapQueryCacheTest.parseSqlByNereids(OlapQueryCacheTest.java:579) at org.apache.doris.qe.OlapQueryCacheTest.testSqlCacheKeyWithNestedViewForNereids(OlapQueryCacheTest.java:1338) ``` 3. ``` [ERROR] Tests run: 28, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 113.63 s <<< FAILURE! - in org.apache.doris.qe.OlapQueryCacheTest [ERROR] testCacheModeTable Time elapsed: 1.657 s <<< ERROR! java.lang.IllegalArgumentException: Value of type org.apache.doris.qe.QueryState incompatible with return type org.apache.doris.system.SystemInfoService of org.apache.doris.catalog.Env#getCurrentSystemInfo() at org.apache.doris.qe.OlapQueryCacheTest.setUp(OlapQueryCacheTest.java:156) ``` * [regression test](schema change) add some schema change regression cases (#27112) (#27418) * [fix](Nereids) result type of add precision is 1 more than expected (#27136) (#27426) * [fix](Nereids): fill miss slot in having subquery (#27177) (#27394) * [fix](memory) Fix make_top_consumption_snapshots heap-use-after-free #27434 (#27465) * [fix](function) make TIMESTAMP function DEPEND_ON_ARGUMENT (#27343) (#27458) * [fix](test) order by clause in test_map(#27390) (#27391) pick #27390 * [performance](Planner): optimize getStringValue() in DateLiteral (#27363) (#27470) - reduce cost of `getStringValue()` - original code don't consider `microsecond` part in `getStringValue()` (cherry picked from commit 044a295) * [Chore](pick) do not push down agg on aggregate column (#27356) (#27498) * [fix](stats) table not exists error msg not print objects name #27074 (#27463) * [improve](nereids) support agg function of count(const value) pushdown #26677 (#27499) support sql: select count(1)-count(not null) from table, the agg of count could push down. * [test](fe-ut) fix unstable MysqlServerTest (#27459) Need to find a unbind port for MysqlServerTest * [opt](MergedIO) no need to merge large columns (#27315) (#27497) 1. Fix a profile bug of `MergeRangeFileReader`, and add a profile `ApplyBytes` to show the total bytes of ranges. 2. There's no need to merge large columns, because `MergeRangeFileReader` will increase the copy time. * [improvement](drop tablet) impr gc shutdown tablet lock (#26151) (#27478) * [doc](stats) SQL manual for stats (#27461) * [chore](merge-on-write) disable rowid conversion check for mow table by default (#27482) (#27508) * [fix](regression)Fix hive p2 case (#27466) (#27511) * [fix](statistics)Fix auto analyze remove finished job bug #27486 (#27510) * [Bug](bitmap) Fix heap-use-after-free in the bitmap functions #27411 (#27521) * [Pick](nereids) Pick: partition prune fails in case of NOT expression (#27047) (#27507) * [fix](clone) Fix engine_clone file exist (#27361) (#27536) * [chore](case) adjust timeout of broker load case #27540 * Fix auto analyze doesn't filter unsupported type bug. (#27547) Fix auto analyze doesn't filter unsupported type bug. Catch throwable in auto analyze thread for each database, otherwise the thread will quit when one database failed to create jobs and all other databases will not get analyzed. change FE config item full_auto_analyze_simultaneously_running_task_num to auto_analyze_simultaneously_running_task_num backport #27559 * [chore](fe plugin) Upgrade dependency to doris 2.0-SNAPSHOT #27522 (#27558) * [Bug](materialized-view) add limitation for duplicate expr on materialized view (#27523) (#27562) * [fix](planner)join node should output required slot from parent node #27526 (#27551) * [branch-2.0](hive) enable hive view by default (#27550) * [pick](nereids) adjust bc join and shuffle join #27113 (#27566) * [Fix](hive-transactional-table) Fix NPE when query empty hive transactional table. (#27567) --------- Co-authored-by: AKIRA <33112463+Kikyou1997@users.noreply.github.com> Co-authored-by: amory <wangqiannan@selectdb.com> Co-authored-by: Jerry Hu <mrhhsg@gmail.com> Co-authored-by: Pxl <pxl290@qq.com> Co-authored-by: Xinyi Zou <zouxinyi02@gmail.com> Co-authored-by: Luwei <814383175@qq.com> Co-authored-by: morrySnow <101034200+morrySnow@users.noreply.github.com> Co-authored-by: 谢健 <jianxie0@gmail.com> Co-authored-by: Mryange <59914473+Mryange@users.noreply.github.com> Co-authored-by: jakevin <jakevingoo@gmail.com> Co-authored-by: zhangstar333 <87313068+zhangstar333@users.noreply.github.com> Co-authored-by: Mingyu Chen <morningman@163.com> Co-authored-by: Ashin Gau <AshinGau@users.noreply.github.com> Co-authored-by: yujun <yu.jun.reach@gmail.com> Co-authored-by: Xin Liao <liaoxinbit@126.com> Co-authored-by: Jibing-Li <64681310+Jibing-Li@users.noreply.github.com> Co-authored-by: xy720 <22125576+xy720@users.noreply.github.com> Co-authored-by: minghong <englefly@gmail.com> Co-authored-by: Jack Drogon <jack.xsuperman@gmail.com> Co-authored-by: Dongyang Li <hello_stephen@qq.com> Co-authored-by: zhiqiang <seuhezhiqiang@163.com> Co-authored-by: starocean999 <40539150+starocean999@users.noreply.github.com> Co-authored-by: Qi Chen <kaka11.chen@gmail.com>
…che#27363) - reduce cost of `getStringValue()` - original code don't consider `microsecond` part in `getStringValue()`
…che#27363) (apache#27470) - reduce cost of `getStringValue()` - original code don't consider `microsecond` part in `getStringValue()` (cherry picked from commit 044a295)
…che#27363) (apache#27470) - reduce cost of `getStringValue()` - original code don't consider `microsecond` part in `getStringValue()` (cherry picked from commit 044a295)
…che#27363) - reduce cost of `getStringValue()` - original code don't consider `microsecond` part in `getStringValue()`
Proposed changes
getStringValue()
microsecond
part ingetStringValue()
run 1000000 times
getStringValue()
original: 6789ms
now: 2353ms
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...