Shared buffer pool

Registered by Vadim Tkachenko

Change buffer pool to use shared memory instead of malloc.
It allows to keep buffer pool in memory beetween mysql restarts.

We may use new variable
innodb_bp_use_shm=0|1 ( default 0)

When InnoDB starts it tries to reconnect and reuse existing buffer_pool.
When InnoDB stops it does not remove shared memory segment.

Other considerations:
1) The shared memory segment should be only reused in case of clean shutdown. It has to be reset if it was not
2) Handle changing size of buffer pool. Again if it is changed shared memory segment will need to be reinicialized
3) Make sure naming of segment allows running multiple instances on the same port. For example use port in the name of the segment
4) Have some form of version information stored. If we know new version is not compatible with stored BP we can skip reusing it.
5) Have option to reset buffer pool on start (for troubleshooting)

Blueprint information

Status:
Complete
Approver:
Percona developers
Priority:
High
Drafter:
Vadim Tkachenko
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Vadim Tkachenko
Completed by
Vadim Tkachenko

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.