This is another feature of Drools that helps to reduce the amount of memory, especially for large knowledge bases with lots of rules. Its principle is simple. As we know, beta nodes have left and right memory, every time a fact propagates, it is added to the right memory, and every time a tuple propagates, it is added to the left memory. However, if a fact/tuple is being propagated and the opposite left/right memory is empty, there can't be any match. The fact/tuple would normally enter the right/left memory and it would wait there until the opposite memory gets filled, so a match can be attempted. What Drools can do instead is that it can unlink the current (left or right) memory. This will save us unnecessary node memory population. Then, in case the opposite memory gets populated, the unlinked side gets linked back and receives all the propagations that were left out.
Note that this feature is turned off by default and you have to explicitly enable it by setting...