• Grégory Wisniewski's avatar
    Allow reconnect to a storage node when it was found not ready. · faf121b5
    Grégory Wisniewski authored
    This commit fix random issues found with functionnal tests where the client
    was refuse by the storage, because the latter was not fully initialized,
    but never tried to reconnect to it if no other storages were available.
    
    The main change introoduced is the availability of 'iterateForObject'
    method on ConnectionPool. It allow iterate over potential node connections
    for a given object id with the ability of waiting for the node to be ready
    if not. It includes the common pattern that retreive the cell list,
    randomize then sort them and never returns a None value, which suppose that
    the outer loop must check if at least one iteration happens, for example.
    
    Also included:
    - getPartitionTable is now private because the connection needs it
    - Deletion of _getCellListFor*
    - Fixed tests
    - New tests for ConnectionPool.iterateForObject
    
    git-svn-id: https://svn.erp5.org/repos/neo/trunk@2578 71dcc9de-d417-0410-9af5-da40c76e7ee4
    faf121b5
testClientApp.py 50.9 KB