Skip to content
  • Alfranio Correia's avatar
    86f0118f
    BUG#12402875 - BUG#60902: MYSQLDUMP DOES NOT DUMP THE REPLICATION *_INFO TABLES · 86f0118f
    Alfranio Correia authored
    When WL#2775 was developed we decided to follow the pattern used by
    log tables where direct updates are forbidden. The idea was to later
    on provide users with the necessary commands to execute maintenance
    tasks against the replication tables such as changing the engine in
    use or dumping data. 
    
    However, after pushing the WL#2775, we have realized that this would
    unnecessarily duplicate code, i.e. functionality.
    
    So, in this patch, we revert the code that follows the behavior
    adopted by log tables and allow any sort of statement to be executed
    against the replication tables.
    
    This change causes a side effect that it is worth noticing. It has
    made the relay-log-info file or not-transactional tables being updated
    optimistically prior to committing an user transaction that is being
    executed. This may lead to data loss if a crash happens as the user
    transaction can be rolled back but it won't be re-applied automatically
    upon restart.
    
    This patch also makes sure that the server fails gracefully if some
    unexpected changes are executed against the tables. For example, if
    some columns are dropped.
    86f0118f
    BUG#12402875 - BUG#60902: MYSQLDUMP DOES NOT DUMP THE REPLICATION *_INFO TABLES
    Alfranio Correia authored
    When WL#2775 was developed we decided to follow the pattern used by
    log tables where direct updates are forbidden. The idea was to later
    on provide users with the necessary commands to execute maintenance
    tasks against the replication tables such as changing the engine in
    use or dumping data. 
    
    However, after pushing the WL#2775, we have realized that this would
    unnecessarily duplicate code, i.e. functionality.
    
    So, in this patch, we revert the code that follows the behavior
    adopted by log tables and allow any sort of statement to be executed
    against the replication tables.
    
    This change causes a side effect that it is worth noticing. It has
    made the relay-log-info file or not-transactional tables being updated
    optimistically prior to committing an user transaction that is being
    executed. This may lead to data loss if a crash happens as the user
    transaction can be rolled back but it won't be re-applied automatically
    upon restart.
    
    This patch also makes sure that the server fails gracefully if some
    unexpected changes are executed against the tables. For example, if
    some columns are dropped.
Loading