• Julien Muchembled's avatar
    Fix IStorage.iterator potentially skipping recent transactions · 1578ad9f
    Julien Muchembled authored
    This fixes a critical bug in the storage node that ignored read locks,
    so transactions that have just been committed could be missing in the
    results.
    
    Because read locks are released by order of tid, a single storage node
    never returned a list with holes (i.e. the missing transactions could
    only be the last ones). However, holes could happen when merging
    results from multiple storage nodes.
    
    The change in the client node avoids extra RPC at the end:
    it should speed up in most cases and it makes the new test clearer.
    1578ad9f
test.py 119 KB