The isRangeBlocked logic relies on a collection that does not keep track of distinct locked ranges when they are connected. As a result, when a range lock is released, protection is removed from the intersection of ranges protected by other held range locks.
The
isRangeBlocked
logic relies on a collection that does not keep track of distinct locked ranges when they are connected. As a result, when a range lock is released, protection is removed from the intersection of ranges protected by other held range locks.In RangeLockServiceTest.java