-
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.
Alfranio Correia authoredWhen 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