When searching for the first non-dead and non-busy value, consumers should keep track of busy values. After they find a consumable value, they should check whether some of the previously busy values is no more busy, and restart the scan in this case. Currently a value may be consumed after another value even if the first was committed first.
When searching for the first non-dead and non-busy value, consumers should keep track of busy values. After they find a consumable value, they should check whether some of the previously busy values is no more busy, and restart the scan in this case. Currently a value may be consumed after another value even if the first was committed first.