Details
-
New Feature
-
Status: Stalled (View Workflow)
-
Major
-
Resolution: Unresolved
-
None
Description
With some type of load, such as one statement "light" transactions, the user xa may perform much poorer on the optimistic parallel slave than an equivalent normal - BEGIN..COMMIT - load.
This ticket aims at fixing the slowness while the XA high-availability is to be preserved.
The whole work is arranged in two parts:
1. refactoring of the user xa binary logging to facilitate slave side parallel execution
MDEV-32830;
2. the slave side change of the parallel scheduler to apply Round-Robin distribution
for the user XA transactions.
Attachments
Issue Links
- causes
-
MDEV-32257 Assertion `thd->is_killed()' failed in XID_cache_element::acquired_to_recovered (opt) or acquire_xid (dbg) on XA ROLLBACK or XA COMMIT
- Closed
-
MDEV-32347 Stack smashing/looping, ASAN use-after-poison in xid_t::eq/event_xid_t::serialize, SIGSEGV in serialize_xid and Assertion `is_async_xac || thd->lex->xid->eq(thd->transaction->xid_state.get_xid())' failed in binlog_rollback_flush_trx_cache upon LOAD INDEX
- Closed
-
MDEV-32463 SIGSEGV in __memmove_avx_unaligned_erms from a memcpy in xid_t::set (sql/handler.h:896) from Gtid_log_event::Gtid_log_event
- Closed
-
MDEV-32469 MDEV-31949: MTR outcome difference: MTR testcase from MDEV-27512 crashes in BASE but not in PATCH
- Closed
-
MDEV-32470 MDEV-31949: use-after-poison in xid_t::key_length()
- Closed
-
MDEV-33673 Parallel replica threads lockup when using many XA threads in bb-10.6-MDEV-31949_ver0
- Closed
- is blocked by
-
MDEV-32257 Assertion `thd->is_killed()' failed in XID_cache_element::acquired_to_recovered (opt) or acquire_xid (dbg) on XA ROLLBACK or XA COMMIT
- Closed
-
MDEV-32272 lock_release_on_prepare_try() does not release lock if supremum bit is set along with other bits set in lock's bitmap
- Closed
-
MDEV-32347 Stack smashing/looping, ASAN use-after-poison in xid_t::eq/event_xid_t::serialize, SIGSEGV in serialize_xid and Assertion `is_async_xac || thd->lex->xid->eq(thd->transaction->xid_state.get_xid())' failed in binlog_rollback_flush_trx_cache upon LOAD INDEX
- Closed
-
MDEV-32470 MDEV-31949: use-after-poison in xid_t::key_length()
- Closed
-
MDEV-32830 refactor XA binlogging for better integration with BGC/replication/recovery
- In Progress
-
MDEV-32852 Assertion `is_prepared_xa(thd) || ((thd->lex->sql_command == SQLCOM_XA_ROLLBACK && thd->transaction->xid_state.get_state_code() == XA_IDLE) || thd->lex->xa_opt == XA_ONE_PHASE)' failed in TC_LOG::run_commit_ordered
- Closed
-
MDEV-32857 Assertion `thd->lex->sql_command == SQLCOM_XA_COMMIT || thd->lex->sql_command == SQLCOM_XA_ROLLBACK' failed in TC_LOG::run_commit_ordered
- Closed
-
MDEV-33673 Parallel replica threads lockup when using many XA threads in bb-10.6-MDEV-31949_ver0
- Closed
- is caused by
-
MDEV-742 LP:803649 - Xa recovery failed on client disconnection
- Closed
- relates to
-
MDEV-33168 XA crash-recovery base on engines prepare first rule
- In Progress
-
MDEV-21469 Implement crash-safe logging of the user XA
- Stalled
-
MDEV-30165 X-lock on supremum for prepared transaction for RR
- Closed
-
MDEV-32455 Implicit rollback by LOAD INDEX or CACHE INDEX should not touch prepared user XA
- Confirmed
-
MDEV-32463 SIGSEGV in __memmove_avx_unaligned_erms from a memcpy in xid_t::set (sql/handler.h:896) from Gtid_log_event::Gtid_log_event
- Closed
-
MDEV-32830 refactor XA binlogging for better integration with BGC/replication/recovery
- In Progress
- split to
-
MDEV-33667 strict round-robin scheduling of XA events to improve parallel slave performance
- Closed
-
MDEV-33668 Adapt parallel slave's round-robin scheduling to XA events
- Closed