summaryrefslogtreecommitdiff
path: root/sql/wsrep_xid.cc
Commit message (Collapse)AuthorAgeFilesLines
* Do not compare uninitialized dataMarko Mäkelä2020-03-281-0/+1
| | | | | | Valgrind only seems to complain about memcmp() operations that actually end up reading uninitialized data, while MemorySanitizer requires that the entire length of both buffers be defined.
* Galera GTID supportmkaruza2020-01-291-14/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for galera GTID consistency thru cluster. All nodes in cluster should have same GTID for replicated events which are originating from cluster. Cluster originating commands need to contain sequential WSREP GTID seqno Ignore manual setting of gtid_seq_no=X. In master-slave scenario where master is non galera node replicated GTID is replicated and is preserved in all nodes. To have this - domain_id, server_id and seqnos should be same on all nodes. Node which bootstraps the cluster, to achieve this, sends domain_id and server_id to other nodes and this combination is used to write GTID for events that are replicated inside cluster. Cluster nodes that are executing non replicated events are going to have different GTID than replicated ones, difference will be visible in domain part of gtid. With wsrep_gtid_domain_id you can set domain_id for WSREP cluster. Functions WSREP_LAST_WRITTEN_GTID, WSREP_LAST_SEEN_GTID and WSREP_SYNC_WAIT_UPTO_GTID now works with "native" GTID format. Fixed galera tests to reflect this chances. Add variable to manually update WSREP GTID seqno in cluster Add variable to manipulate and change WSREP GTID seqno. Next command originating from cluster and on same thread will have set seqno and cluster should change their internal counter to it's value. Behavior is same as using @@gtid_seq_no for non WSREP transaction.
* Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-191-1/+1
|\
| * Merge 10.2 into 10.3Marko Mäkelä2019-05-141-1/+1
| |\
| | * Merge 10.1 into 10.2Marko Mäkelä2019-05-131-1/+1
| | |\
| | | * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-111-1/+1
| | | |
| * | | Merge 10.2 into 10.3Marko Mäkelä2019-02-041-0/+34
| |\ \ \ | | |/ /
| | * | MDEV-15740 Backport wsrep recovery fixes from 10.4.Teemu Ollakka2019-01-251-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clear wsrep XID in innobase_rollback_by_xid() for recovered wsrep transaction in order to avoid resetting XID storage when rolling back wsrep transaction during recovery. Sort wsrep XIDs read from storage engine in ascending order and erify that the range is continuous during crash recovery. If binlog is off, commit all recovered transactions for continuous seqno range. This is safe because all transactions with wsrep XID have been certified and must be committed in the cluster. On the other hand if binlog is on, respect binlog as a transaction coordinator in order to avoid missing transactions in binlog that have been committed into storage engine .
* | | | Galera4Brave Galera Crew2019-01-231-42/+76
|/ / /
* | | Merge 10.2 into 10.3Marko Mäkelä2018-08-031-3/+2
|\ \ \ | |/ /
| * | Merge 10.1 into 10.2Marko Mäkelä2018-08-031-3/+2
| |\ \ | | |/
| | * Fix -Wclass-memaccess in WSREP,InnoDB,XtraDBMarko Mäkelä2018-08-031-3/+2
| | |
* | | MDEV-15505 Fixes to compilation without -DWITH_WSREP:BOOL=ONTeemu Ollakka2018-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed including wsrep_api.h from service_wsrep.h. This caused various kinds of collisions with definitions when wsrep is not supposed to be built in. Defined functions wsrep_xid_seqno() and wsrep_xid_uuid() in wsrep_dummy.cc. Replaced wsrep_seqno_t with long long where wsrep_api.h is not included. Removed wsrep_xid_seqno() macro from wsrep_mysqld.h and made wsrep code using wsrep_xid_seqno() in handler.cc to be compiled in only if WITH_WSREP is ON. Included wsrep_api.h for mariabackup if WITH_WSREP is ON.
* | | MDEV-15505 New wsrep XID format for backwards compatibilityTeemu Ollakka2018-03-121-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new wsrep XID format was added to keep the XID implementation backwards compatible. Original version always reads XID seqno part in host byte order, the new version in little endian byte order. Wsrep XID will always be written in the new format. Included wsrep_api.h from service_wsrep.h for wsrep type definitions. Removed redundant wsrep XID code from mariabackup and included service_wsrep.h in order to use
* | | MDEV-15505 Fix wsrep XID seqno byte orderTeemu Ollakka2018-03-121-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that the seqno part of wsrep XID is always stored in host byte order. This may cause issues when a physical backup is restored on a host with different architecture, the seqno part with XID may have incorrect value. In order to fix this, wsrep XID seqno is always written into XID data buffer in little endian byte order using int8store() and read from data buffer using sint8korr(). For backwards compatibility the seqno is read from TRX_SYS page in host byte order during upgrade. This patch implements byte ordering in wsrep_xid_init(), wsrep_xid_seqno(), and exposes functions to read wsrep XID uuid and seqno in wsrep_service_st. Backwards compatibility for upgrade is provided in trx_rseg_init_wsrep_xid().
* | | Enusure that my_global.h is included firstMichael Widenius2017-08-241-0/+1
|/ / | | | | | | | | | | | | | | | | | | - Added sql/mariadb.h file that should be included first by files in sql directory, if sql_plugin.h is not used (sql_plugin.h adds SHOW variables that must be done before my_global.h is included) - Removed a lot of include my_global.h from include files - Removed include's of some files that my_global.h automatically includes - Removed duplicated include's of my_sys.h - Replaced include my_config.h with my_global.h
* | Merge branch '10.1' into 10.2Sergei Golubchik2017-03-301-1/+1
|\ \ | |/
| * Correct FSF addressiangilfillan2017-03-101-1/+1
| |
* | MDEV-6368: assertion xid_seqno > trx_sys_cur_xid_seqnoNirbhay Choubey2016-05-311-10/+20
|/ | | | | | | | | - Validate the specified wsrep_start_position value by also checking the return status of wsrep->sst_received. This also ensures that changes in wsrep_start_position is not allowed when the node is not in JOINING state. - Do not allow decrease in seqno within same UUID. - The initial checkpoint in SEs should be [0...:-1].
* Merge branch '10.0-galera' into 10.1Nirbhay Choubey2015-07-141-0/+147