• unknown's avatar
    MDEV-5206: Incorrect slave old-style position in MDEV-4506, parallel replication. · 39df665a
    unknown authored
    In parallel replication, there are two kinds of events which are
    executed in different ways.
    
    Normal events that are part of event groups/transactions are executed
    asynchroneously by being queued for a worker thread.
    
    Other events like format description and rotate and such are executed
    directly in the driver SQL thread.
    
    If the direct execution of the other events were to update the old-style
    position, then the position gets updated too far ahead, before the normal
    events that have been queued for a worker thread have been executed. So
    this patch adds some special cases to prevent such position updates ahead
    of time, and instead queues dummy events for the worker threads, so that
    they will at an appropriate time do the position updates instead.
    
    (Also fix a race in a test case that happened to trigger while running
    tests for this patch).
    39df665a
rpl_parallel.h 3.16 KB