lp:~sergei.glushchenko/percona-server/ST28246-bug1092593-5.1

Created by Sergei Glushchenko and last modified
Get this branch:
bzr branch lp:~sergei.glushchenko/percona-server/ST28246-bug1092593-5.1
Only Sergei Glushchenko can upload to this branch. If you are Sergei Glushchenko please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

535. By Sergei Glushchenko

Bug 1092593: crash-resistant replication doesn't work when InnoDB
             operates with binary log disabled
- further might look rather unstructured; so one might benefit from
  refreshing discussion here
  https://code.launchpad.net/~laurynas-biveinis/percona-server/bug1012715-5.1/+merge/120042
  before reading this
- this is how I imagine XA-transactions flow
  * BEGIN do something PREPARE COMMIT BEGIN do something PREPARE COMMIT
  * on each state ROLLBACK can be issued except after
    the COMMIT has been completed successfully and BEGIN is not issued
    (it this case ROLLBACK will just be noop)
  * ROLLBACK should leave us somewhere before the BEGIN
- when InnoDB performs recovery it takes binlog position
  from the "prepare" point.
- after this XA transaction can be reverted or committed
- if XA transaction is reverted then we take binlog position
  from "commit" point which in this case is older than "prepare"
- if XA transaction is committed then we continue to use "prepare"
  which in this case of same age as "commit" point
- this however does not work when XA transactions are not in use;
  in this case we never write "prepare" points
- this might be masked by the fact that we never have real info
  in "prepare" points so it's content is not overwrite MySQL *-info
  files; it is still bad because we don't really have transactional
  writes for binlog position as has been claimed in the documentation
- solution of this problem looks trivial for me; on commit we should
  overwrite both "prepare" and "commit"; this doesn't make any harm
  as after commit there is no way back to prepare anyway, so XA-case
  continues to work
- non XA case will look as following
  BEGIN do something COMMIT BEGIN do something COMMIT
  * commit and prepare become the one commit point after which
    there is no way back and it is reflected in our "commit" and
    "prepare" points holding the same binlog position; rollback
    is possible to the previous commit point only

534. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/bug1117067-5.1

533. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/bug1089265-5.1

532. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/BT-16274-bug1108874-5.1

531. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/BT-16274-bug1105726-5.1

530. By <email address hidden>

Merge lp:~hrvojem/percona-server/bug1092189-5.1

529. By Stewart Smith

merge slow query log bugfixes from Laurynas

528. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/bug1114612-5.1

527. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/BT-16274-bug1111226-5.1

526. By <email address hidden>

Merge lp:~laurynas-biveinis/percona-server/bug1105709-5.1

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.