lp:~knielsen/mysqlatfacebook/5.1-mwl241

Created by Kristian Nielsen on 2011-10-18 and last modified on 2011-10-18
Get this branch:
bzr branch lp:~knielsen/mysqlatfacebook/5.1-mwl241
Only Kristian Nielsen can upload to this branch. If you are Kristian Nielsen please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Kristian Nielsen
Project:
MySQLAtFacebook
Status:
Development

Recent revisions

3738. By Kristian Nielsen on 2011-10-18

Merge MWL#241 (fix for XA rollback in rpl_transaction_enabled) with latest mysqlatfacebook.

3737. By Mark Callaghan on 2011-09-16

Make the default TRUE so that connections wait in the admission control
queue after a disk read unless they have an active transaction. This reduces the
chance that admission control limits will be exceeded

3736. By Mark Callaghan on 2011-09-16

When TC is enabled do not enforce AC waits for connections that have undo slots

TC/AC == transaction/admission control. I don't want convoys to form
when running transactions stall in the AC queue. This was requested in the
review with db-ops. This moves the check from query start to all calls
to admission_control_enter. It does not hurt sysbench QPS and it might help
at high concurrency. Results below

ac128 - max_concurrent_queries = max_concurrent_transactions = 128
tc0 - innodb_thread_concurrency=0
tc128 - innodb_thread_concurrency=128

Results with binary from 1 week ago:
    8 16 32 64 128 256 512 1024 concurrent clients
15527 24117 36648 35742 34355 32654 28821 28508 ac128
15491 24066 35982 35655 34341 32219 26856 15424 tc0
15508 23977 35766 35270 34314 33724 32169 32080 tc128

Results with this change:
    8 16 32 64 128 256 512 1024 concurrent clients
15530 23976 36539 35313 34094 32769 32324 31602 ac128
15422 24050 36407 35358 33833 32811 27292 15613 tc0
15446 23951 35687 35432 33920 33696 32251 31899 tc128

3735. By Mark Callaghan on 2011-09-16

Remove the page_splits stats for innodb compression

3734. By Mark Callaghan on 2011-09-16

Try to fix intermittent test failures

3733. By Mark Callaghan on 2011-09-16

Add the my.cnf option admission_control_wait_reentry that
makes connections wait to reenter admission control after calling
the sleep() function, doing an InnoDB disk read or flushing data
written on the client socket. In other cases, such as waking up
after get_lock() or a row lock wait the connection enters
immediately which can briefly violate the per-account limit.

When starting a statement check whether the connection is
currently using InnoDB undo slots. If yes and transaction
control is enabled for that connection then start the query
without waiting in the admission control queue.

Call thd_proc_info more frequently during commit processing
to show where a thread is waiting.

Now that sleep() calls admission_control_exit/enter I added
DBUG_EXECUTE_IF to force a stall there prior to the AC exit/enter
calls to make running threads block other queries for more time.

3732. By Mark Callaghan on 2011-09-16

Update per-tablespace compression stats while holding fil_system->mutex

-------------- Thi- line and the following will be ignored --------------

modified:
  include/my_perf.h
  storage/innodb_plugin/page/page0zip.c

3731. By Mark Callaghan on 2011-09-13

Backport http://bugs.mysql.com/59013

Backport fix to reduce mutex contention for partitioned innodb tables.
The partition handler ignored the 'no-lock' flag when calling the InnoDB ::info
method to get table stats. With this change, peak tpcc-mysql is about 1.5X better
for 64 concurrent clients. To get patch use the 5.5 MySQL launchpad tree and run:
   bzr log -p -r 3209.1.2

3730. By Mark Callaghan on 2011-09-13

Update tablespace name on rename

The schema and table names stored in the per-tablespace structs were not updated
on tablespace rename. The tablespace rename is done as part of a full-table rebuild used
for some DDL (like changing the PK).

3729. By Mark Callaghan on 2011-09-13

Show binlog slave offset in SHOW PROCESSLIST

Summary:
This uses a variation of code from the Google patch to display the
binlog name and offset currently downloaded by a replication slave
SHOW PROCESSLIST;
Id User Host db Command Time State Info
3 root localhost:47190 test Query 1 Writing to net INSERT INTO t1 SELECT * FROM t1
5 root localhost:47194 NULL Binlog Dump 1 NULL slave offset: master-bin.0000014

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers