Fix Numeric Tree Balance - [MOD-8081, MOD-8082]#5185
Conversation
Automated performance analysis summaryThis comment was automatically generated given there is performance data available. In summary:
You can check a comparison in detail via the grafana link Comparison between master and guyav-fix_numeric_tree.Time Period from 30 days ago. (environment used: oss-standalone)
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5185 +/- ##
==========================================
+ Coverage 86.43% 86.50% +0.07%
==========================================
Files 192 192
Lines 34784 34683 -101
==========================================
- Hits 30066 30004 -62
+ Misses 4718 4679 -39 ☔ View full report in Codecov by Sentry. |
raz-mon
left a comment
There was a problem hiding this comment.
Very nice! 💪 🔥
Some nitpicks mainly.
Some more documentation on the faulty scenarios and the fixes in the general comment would be good.
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.8
git worktree add -d .worktree/backport-5185-to-2.8 origin/2.8
cd .worktree/backport-5185-to-2.8
git switch --create backport-5185-to-2.8
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.6
git worktree add -d .worktree/backport-5185-to-2.6 origin/2.6
cd .worktree/backport-5185-to-2.6
git switch --create backport-5185-to-2.6
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.10
git worktree add -d .worktree/backport-5185-to-2.10 origin/2.10
cd .worktree/backport-5185-to-2.10
git switch --create backport-5185-to-2.10
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 8.0
git worktree add -d .worktree/backport-5185-to-8.0 origin/8.0
cd .worktree/backport-5185-to-8.0
git switch --create backport-5185-to-8.0
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
|
/backport |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.8
git worktree add -d .worktree/backport-5185-to-2.8 origin/2.8
cd .worktree/backport-5185-to-2.8
git switch --create backport-5185-to-2.8
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.6
git worktree add -d .worktree/backport-5185-to-2.6 origin/2.6
cd .worktree/backport-5185-to-2.6
git switch --create backport-5185-to-2.6
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 2.10
git worktree add -d .worktree/backport-5185-to-2.10 origin/2.10
cd .worktree/backport-5185-to-2.10
git switch --create backport-5185-to-2.10
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
|
Backport failed for Please cherry-pick the changes locally and resolve any conflicts. git fetch origin 8.0
git worktree add -d .worktree/backport-5185-to-8.0 origin/8.0
cd .worktree/backport-5185-to-8.0
git switch --create backport-5185-to-8.0
git cherry-pick -x 588468722680e3855f972f95580c299ae8bde2b1 |
* add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
* add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
* add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
* add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
Fix Numeric Tree Balance - [MOD-8081, MOD-8082] (#5185) * add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
Fix Numeric Tree Balance - [MOD-8081, MOD-8082] (#5185) * add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
Fix Numeric Tree Balance - [MOD-8081, MOD-8082] (#5185) * add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
Fix Numeric Tree Balance - [MOD-8081, MOD-8082] (#5185) * add a failing test * fix maxDepth calculation (balance logic) * fix parent range depth logic * improve test and remove a print * fix test * comment fixes * tidy up * simplified test and address CR * code cleanup and address CR (cherry picked from commit 5884687)
Describe the changes in the pull request
Fixing 2 bugs in the numeric tree regarding the tree balancing
maxDepthvalue to become larger than both child subtrees, which can later yield sub-optimal tree balancing.maxDepthvalue has to grow by 1 (which is not true when the splitting leaf was not in the max depth), could cause the parent range to get released prematurely. (only when_NUMERIC_RANGES_PARENTSis set to2)Starting with this fix, we will also start balancing the root node to achieve a better tree.
Note:
This is a performance fix. Both bugs don't affect the correctness of any search.
Mark if applicable