summaryrefslogtreecommitdiff
path: root/sql/wsrep_binlog.h
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-21675: Data inconsistency after multirow insert rollback (#1474)Daniele Sciascia2020-03-211-2/+0
| | | | | | | | | | | | | | | | | | | * Remove dead code * MDEV-21675 Data inconsistency after multirow insert rollback This patch fixes data inconsistencies that happen after rollback of multirow inserts, with binlog disabled. For example, statements such as `INSERT INTO t1 VALUES (1,'a'),(1,'b')` that fail with duplicate key error. In such cases the whole statement is rolled back. However, with wsrep_emulate_binlog in effect, the IO_CACHE would not be truncated, and the pending rows events would be replicated to the rest of the cluster. In the above example, it would result in row (1,'a') being replicated, whereas locally the statement is rolled back entirely. Making the cluster inconsistent. The patch changes the code so that prior to statement rollback, pending rows event are removed and the stmt cache reset. That patch also introduces MTR tests that excercise multirow insert statements for regular, and streaming replication.
* Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-191-1/+1
|\
| * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-111-1/+1
| |
* | 10.4 wsrep group commit fixes (#1224)Teemu Ollakka2019-03-151-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * MDEV-16509 Improve wsrep commit performance with binlog disabled Release commit order critical section early after trx_commit_low() if binlog is not transaction coordinator. In order to avoid two phase commit, binlog_hton is not registered for THD during IO_CACHE population. Implemented a test which verifies that the transactions release commit order early. This optimization will change behavior during recovery as the commit is not two phase when binlog is off. Fixed and recorded wsrep-recover-v25 and wsrep-recover to match the behavior. * MDEV-18730 Ordering for wsrep binlog group commit Previously out of order execution was allowed for wsrep commits. Established proper ordering by populating wait_for_commit for every wsrep THD and making group commit leader to wait for prior commits before proceeding to trx_group_commit_leader(). * MDEV-18730 Added a test case to verify correct commit ordering * MDEV-16509, MDEV-18730 Review fixes Use WSREP_EMULATE_BINLOG() macro to decide if the binlog_hton should be registered. Whitespace/syntax fixes and cleanups. * MDEV-16509 Require binlog for galera_var_innodb_disallow_writes test If the commit to InnoDB is done in one phase, the native InnoDB behavior is that the transaction is committed in memory before it is persisted to disk. This means that the innodb_disallow_writes=ON may not prevent transaction to become visible to other readers before commit is completely over. On the other hand, if the commit is two phase (as it is with binlog), the transaction will be blocked in prepare phase. Fixed the test to use binlog, which enforces two phase commit, which in turn makes commit to block before the changes become visible to other connections. This guarantees that the test produces expected result.
* | Galera4Brave Galera Crew2019-01-231-9/+26
|/
* Merge branch '10.0-galera' into bb-10.1-sergNirbhay Choubey2016-08-251-1/+1
|\
| * MW-267 Enforce wsrep_max_ws_size limit in wsrep providerDaniele Sciascia2016-07-251-1/+1
| | | | | | | | | | | | | | | | | | | | This changes variable wsrep_max_ws_size so that its value is linked to the value of provider option repl.max_ws_size. That is, changing the value of variable wsrep_max_ws_size will change the value of provider option repl.max_ws_size, and viceversa. The writeset size limit is always enforced in the provider, regardless of which option is used.
| * cleanup: remove duplicate declarationNirbhay Choubey2015-02-191-3/+0
| |
| * bzr merge -r4065..4088 codership/5.6Nirbhay Choubey2014-05-211-0/+3
| |
| * bzr merge -r3946..3968 codership/5.5Nirbhay Choubey2014-03-251-0/+3
| |
| * merge with MariaDB 5.6 bzr merge lp:maria --rtag:mariadb-10.0.6Seppo Jaakola2013-12-041-0/+4
| | | | | | | | | | | | and a number of fixes to make this buildable. Run also few short multi-master high conflict rate tests, with no issues
| * Merges from lp:codership-mysql/5.5 up to rev #3893, this changes to wsrep ↵Seppo Jaakola2013-11-261-0/+49
| | | | API #24
* MDEV-9618 solaris sparc build fails on 10.1.Alexey Botchkov2016-06-271-4/+4
| | | | | | Compiler on Sparc is strict about the 'const' modifiers in function declarations and definitions. Meaning they should be exactly same.
* MDEV-7867: Add binlog header to GRA_.log fileNirbhay Choubey2015-04-011-3/+4
|
* MDEV-6247: Merge 10.0-galera to 10.1.Jan Lindström2014-08-261-0/+59
Merged lp:maria/maria-10.0-galera up to revision 3879. Added a new functions to handler API to forcefully abort_transaction, producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These were added for future possiblity to add more storage engines that could use galera replication.