При вставке в Blink-дерево он сохраняет путь от корневого узла к конечному узлу. И когда дочерний узел разделится, он распространит такие изменения на родительские узлы. Предположим, что при распространении исследуется корневой узел в потоке A, а текущая вставка проверяет стек (используемый для хранения пути) и обнаруживает, что нижний узел в стеке является «корневым». И «корень» тоже нужно расщепить. Это создаст новый корень.
Итак, что, если «корень» уже разделен другим потоком, и «корень» теперь не является настоящим корнем. Таким образом, создание нового корня, сделанного потоком А, неверно.
Как Blink-tree справляется с такой ситуацией?