store-transaction-log-in-innodb

Registered by Joe Daly

store transaction log in innodb

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Stewart Smith
Completed by
Stewart Smith

Whiteboard

Known Work/Problems
- performance tests with innodb trans log enabled show a significant performance
 increase ~1200tps vs 300tps however the tests showed the performance getting slower each iteration. There does not appear to be a memory leak.
- there is no way to delete anything from the inno replication table, functions to do this need to be implemented
- the trans id is used as the primary key in the inno replication table, this could result in trans 2 being commmitted before trans 1 to the table. Selecting the rows based on primary key would leave a replicator under the impression trans 2 committed after trans 1. A fix for this is to add a new column with auto increment, or a timestamp.
- additional testing only the tests that use transaction_reader to verify the content of the log are enabled to verify the inno log as well.

Testing
transaction_reader has a new option --use-innodb-replication-log this allows the transaction_reader to work with the inno log. The tests that use transaction_reader also now verify the inno log.

Performance

drizzle> select concurrency, tps from sysbench_run_iterations where run_id = 675;
+-------------+---------+
| concurrency | tps |
+-------------+---------+
| 16 | 1021.27 |
| 16 | 776.30 |
| 16 | 644.29 |
| 32 | 1134.56 |
| 32 | 846.17 |
| 32 | 685.41 |
| 64 | 1203.83 |
| 64 | 875.96 |
| 64 | 715.35 |
| 128 | 1247.30 |
| 128 | 938.70 |
| 128 | 746.51 |
| 256 | 1258.96 |
| 256 | 938.50 |
| 256 | 726.87 |
| 512 | 1110.94 |
| 512 | 850.06 |
| 512 | 684.00 |
+-------------+---------+

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.