[fix](mow) add key_bound initialization check when lookup_row_key
Proposed changes
key_bound may be inital failed when be is out of memory, so should add an initialization check before compare key.
Issue Number: close #xxx
Further comments
If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...
Thank you for your contribution to Apache Doris. Don't know what should be done next? See How to process your PR
Since 2024-03-18, the Document has been moved to doris-website. See Doris Document.
run buildall
clang-tidy review says "All clean, LGTM! :+1:"
TeamCity be ut coverage result: Function Coverage: 35.77% (9009/25187) Line Coverage: 27.40% (74577/272215) Region Coverage: 26.62% (38588/144950) Branch Coverage: 23.48% (19675/83798) Coverage Report: http://coverage.selectdb-in.cc/coverage/3bbe4495f8d5dc20537c193d5359b47eb7b67ba9_3bbe4495f8d5dc20537c193d5359b47eb7b67ba9/report/index.html
TPC-H: Total hot run time: 41091 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 3bbe4495f8d5dc20537c193d5359b47eb7b67ba9, data reload: false
------ Round 1 ----------------------------------
q1 17605 4265 4218 4218
q2 2024 188 190 188
q3 10473 1247 1146 1146
q4 10196 828 765 765
q5 7457 2729 2768 2729
q6 217 129 129 129
q7 959 625 615 615
q8 9230 2104 2085 2085
q9 9390 6710 6668 6668
q10 9198 3946 3910 3910
q11 429 242 247 242
q12 519 224 216 216
q13 17553 3184 3181 3181
q14 258 217 222 217
q15 509 475 473 473
q16 519 396 397 396
q17 968 622 688 622
q18 8323 7952 7880 7880
q19 5581 1561 1558 1558
q20 651 351 313 313
q21 5092 3998 3267 3267
q22 349 283 273 273
Total cold run time: 117500 ms
Total hot run time: 41091 ms
----- Round 2, with runtime_filter_mode=off -----
q1 4525 4437 4400 4400
q2 378 265 267 265
q3 3130 2934 2911 2911
q4 1888 1534 1591 1534
q5 5493 5464 5489 5464
q6 217 120 125 120
q7 2192 1859 1815 1815
q8 3246 3373 3371 3371
q9 8700 8682 8729 8682
q10 3951 3829 3824 3824
q11 589 525 502 502
q12 800 631 623 623
q13 16001 3126 3191 3126
q14 298 263 283 263
q15 527 483 477 477
q16 502 430 404 404
q17 1759 1485 1498 1485
q18 7641 7521 7384 7384
q19 1635 1537 1567 1537
q20 1960 1771 1807 1771
q21 10398 4685 4624 4624
q22 559 500 475 475
Total cold run time: 76389 ms
Total hot run time: 55057 ms
TPC-DS: Total hot run time: 170793 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 3bbe4495f8d5dc20537c193d5359b47eb7b67ba9, data reload: false
query1 922 384 372 372
query2 6451 2458 2234 2234
query3 6645 203 200 200
query4 18939 17437 17610 17437
query5 4214 417 412 412
query6 241 158 177 158
query7 4583 294 286 286
query8 231 196 176 176
query9 8475 2406 2415 2406
query10 450 292 252 252
query11 10593 10076 10157 10076
query12 145 93 89 89
query13 1646 368 370 368
query14 8712 7757 7742 7742
query15 249 169 166 166
query16 8042 262 259 259
query17 1727 516 514 514
query18 2003 278 285 278
query19 211 160 162 160
query20 98 91 89 89
query21 199 130 130 130
query22 4241 4025 4068 4025
query23 33719 33062 33121 33062
query24 8943 2824 2861 2824
query25 576 379 382 379
query26 689 160 161 160
query27 2137 326 328 326
query28 5676 2061 2051 2051
query29 873 629 628 628
query30 243 149 155 149
query31 974 767 757 757
query32 97 54 55 54
query33 657 292 291 291
query34 857 462 468 462
query35 732 630 619 619
query36 1052 931 909 909
query37 104 68 68 68
query38 2883 2793 2776 2776
query39 854 783 801 783
query40 203 130 127 127
query41 45 44 44 44
query42 102 97 96 96
query43 588 552 559 552
query44 1102 736 751 736
query45 179 163 166 163
query46 1076 725 715 715
query47 1848 1749 1762 1749
query48 383 302 293 293
query49 865 395 400 395
query50 800 382 390 382
query51 7042 6839 6788 6788
query52 108 92 93 92
query53 365 300 303 300
query54 744 453 432 432
query55 75 77 75 75
query56 283 273 262 262
query57 1129 1044 1057 1044
query58 240 223 230 223
query59 3296 3219 3117 3117
query60 302 296 273 273
query61 110 111 107 107
query62 602 472 459 459
query63 318 296 291 291
query64 8575 2428 1774 1774
query65 3157 3066 3133 3066
query66 814 326 325 325
query67 15630 14796 15017 14796
query68 8511 566 566 566
query69 531 281 270 270
query70 1205 1063 1107 1063
query71 452 268 274 268
query72 7958 4856 2742 2742
query73 890 322 325 322
query74 6116 5658 5605 5605
query75 4247 2645 2650 2645
query76 4196 920 1006 920
query77 698 267 263 263
query78 10376 9815 9760 9760
query79 8121 522 511 511
query80 810 449 436 436
query81 498 227 229 227
query82 173 91 89 89
query83 199 170 168 168
query84 258 86 87 86
query85 864 264 258 258
query86 342 309 308 308
query87 3270 3091 3145 3091
query88 4182 2365 2339 2339
query89 523 405 394 394
query90 2071 230 187 187
query91 127 96 96 96
query92 59 49 47 47
query93 4840 522 507 507
query94 1293 186 183 183
query95 410 316 308 308
query96 596 264 278 264
query97 3179 3056 3012 3012
query98 235 227 205 205
query99 1071 864 850 850
Total cold run time: 278365 ms
Total hot run time: 170793 ms
ClickBench: Total hot run time: 29.97 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 3bbe4495f8d5dc20537c193d5359b47eb7b67ba9, data reload: false
query1 0.03 0.03 0.03
query2 0.08 0.04 0.04
query3 0.23 0.05 0.05
query4 1.69 0.07 0.08
query5 0.50 0.50 0.52
query6 1.12 0.73 0.73
query7 0.02 0.02 0.01
query8 0.05 0.04 0.05
query9 0.53 0.49 0.50
query10 0.54 0.56 0.53
query11 0.16 0.11 0.11
query12 0.14 0.13 0.12
query13 0.59 0.59 0.60
query14 0.79 0.76 0.79
query15 0.83 0.83 0.81
query16 0.37 0.36 0.35
query17 0.98 0.96 0.94
query18 0.21 0.26 0.25
query19 1.76 1.67 1.74
query20 0.02 0.01 0.01
query21 15.57 0.67 0.64
query22 4.42 7.96 1.41
query23 18.28 1.45 1.28
query24 1.49 0.34 0.23
query25 0.16 0.08 0.08
query26 0.26 0.16 0.17
query27 0.08 0.07 0.08
query28 13.31 1.02 0.99
query29 13.50 3.34 3.28
query30 0.24 0.06 0.05
query31 2.87 0.39 0.38
query32 3.28 0.48 0.47
query33 2.82 2.90 2.85
query34 17.17 4.48 4.42
query35 4.48 4.49 4.54
query36 0.69 0.48 0.48
query37 0.18 0.15 0.15
query38 0.15 0.14 0.14
query39 0.04 0.03 0.04
query40 0.16 0.14 0.15
query41 0.10 0.05 0.05
query42 0.06 0.04 0.04
query43 0.03 0.04 0.04
Total cold run time: 109.98 s
Total hot run time: 29.97 s
LGTM
PR approved by anyone and no changes requested.
after discussion, when be is out of memory, it may not work normally, so in this scenario, just let be core is not a bad idea, so no need to change the code in lookup_row_key, close this pr.