Move nulls safely even when there is not enough space
This is motivated by errors such as https://sentry.gitlab.net/gitlab/gitlabcom/issues/1766076, where attempts to move nulls fail even with rebalancing due to the fact that the gap found is not big enough for all the nulls. We address this in two ways: - we try to consolidate multiple gaps. Up to 10 gaps will be found and consolidated to make enough room. This is expected to be effective in most cases. - if we still cannot make enough space, rather than failing, we stack all overflow elements at the edge. So if we need to move 10 nulls to the end, and we only have space for 5, all the extras (5 of them) will be placed at the maximum position. Adds a changelog entry since this is a bug-fix
Showing
Please register or sign in to comment