mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	 c89f769f24
			
		
	
	
	c89f769f24
	
	
	
		
			
			This commit fixes GTID inconsistency which was injected by mariabackup SST. Donor node now writes new info file: donor_galera_info, which is streamed along the mariabackup donation to the joiner node. The donor_galera_info file contains both GTID and gtid domain_id, and joiner will use these to initialize the GTID state. Commit has new mtr test case: galera_3nodes.galera_gtid_consistency, which exercises potentially harmful mariabackup SST scenarios. The test has also scenario with IST joining. Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
| #ifndef XTRABACKUP_BACKUP_COPY_H
 | |
| #define XTRABACKUP_BACKUP_COPY_H
 | |
| 
 | |
| #include <my_global.h>
 | |
| #include <mysql.h>
 | |
| #include "datasink.h"
 | |
| 
 | |
| /* special files */
 | |
| #define XTRABACKUP_SLAVE_INFO "xtrabackup_slave_info"
 | |
| #define XTRABACKUP_GALERA_INFO "xtrabackup_galera_info"
 | |
| #define XTRABACKUP_DONOR_GALERA_INFO "donor_galera_info"
 | |
| #define XTRABACKUP_BINLOG_INFO "xtrabackup_binlog_info"
 | |
| #define XTRABACKUP_INFO "xtrabackup_info"
 | |
| 
 | |
| extern bool binlog_locked;
 | |
| 
 | |
| /************************************************************************
 | |
| Return true if first and second arguments are the same path. */
 | |
| bool
 | |
| equal_paths(const char *first, const char *second);
 | |
| 
 | |
| /** Start --backup */
 | |
| bool backup_start(ds_ctxt *ds_data, ds_ctxt *ds_meta,
 | |
|                   CorruptedPages &corrupted_pages);
 | |
| /** Release resources after backup_start() */
 | |
| void backup_release();
 | |
| /** Finish after backup_start() and backup_release() */
 | |
| bool backup_finish(ds_ctxt *ds_data);
 | |
| bool
 | |
| apply_log_finish();
 | |
| bool
 | |
| copy_back();
 | |
| bool
 | |
| decrypt_decompress();
 | |
| bool
 | |
| is_path_separator(char);
 | |
| bool
 | |
| directory_exists(const char *dir, bool create);
 | |
| 
 | |
| lsn_t
 | |
| get_current_lsn(MYSQL *connection);
 | |
| 
 | |
| #endif
 |