Percona Server with XtraDB

Rename XtraDB variables in 5.5

Reported by Vadim Tkachenko on 2010-12-31
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
Medium
Unassigned

Bug Description

Following https://bugs.launchpad.net/percona-server/+bug/692414

We need to rename XtraDB variableS:

 innodb_ibuf_accel_rate
 innodb_ibuf_active_contract
 innodb_ibuf_max_size

   We should rename these variables to match the InnoDB name,
   innodb_change_buffering. I suggest:
    innodb_ibuf_accel_rate = innodb_change_buffer_purge_rate
    innodb_ibuf_active_contract = innodb_change_buffer_purge_when = <idle,always>
    innodb_ibuf_max_size = innodb_change_buffer_max_size

 innodb_pass_corrupt_table
   This should be innodb_corruption_detection = <warn,crash>

Changed in percona-server:
assignee: nobody → Yasufumi Kinoshita (yasufumi-kinoshita)
importance: Undecided → Medium
milestone: none → 5.5-20beta
status: New → Confirmed

The word
"purge"
"idle, always"

is irrelevant for the insert/change buffer.

I don't accept the naming.

The normal behavior:
ibuf->size < max_size ----> ibuf_contract(sync) is not called
ibuf->size > max_size ----> ibuf_contract(sync) is called with sync=TRUE

innodb_ibuf_active_contract = 1 behavior:
ibuf->size < max_size ----> ibuf_contract(sync) is called with sync=FALSE
ibuf->size > max_size ----> ibuf_contract(sync) is called with sync=TRUE

it is not based on idleness(of what?)

Yasufumi,

What does it practically means if this function is called with sync = true
or false. I think the challenge coming with good name here comes from not
perfect understanding of this option at least by me and Vadim.

On Tue, Jan 18, 2011 at 3:29 AM, Yasufumi Kinoshita <
<email address hidden>> wrote:

> The normal behavior:
> ibuf->size < max_size ----> ibuf_contract(sync) is not called
> ibuf->size > max_size ----> ibuf_contract(sync) is called with sync=TRUE
>
> innodb_ibuf_active_contract = 1 behavior:
> ibuf->size < max_size ----> ibuf_contract(sync) is called with sync=FALSE
> ibuf->size > max_size ----> ibuf_contract(sync) is called with sync=TRUE
>
> it is not based on idleness(of what?)
>
> --
> You received this bug notification because you are a member of Percona
> developers, which is the registrant for Percona Server.
> https://bugs.launchpad.net/bugs/695906
>
> Title:
> Rename XtraDB variables in 5.5
>
> Status in Percona Server with XtraDB:
> Confirmed
>
> Bug description:
> Following https://bugs.launchpad.net/percona-server/+bug/692414
>
> We need to rename XtraDB variableS:
>
> innodb_ibuf_accel_rate
> innodb_ibuf_active_contract
> innodb_ibuf_max_size
>
> We should rename these variables to match the InnoDB name,
> innodb_change_buffering. I suggest:
> innodb_ibuf_accel_rate = innodb_change_buffer_purge_rate
> innodb_ibuf_active_contract = innodb_change_buffer_purge_when =
> <idle,always>
> innodb_ibuf_max_size = innodb_change_buffer_max_size
>
> innodb_pass_corrupt_table
> This should be innodb_corruption_detection = <warn,crash>
>
>
>

--
Peter Zaitsev, CEO, Percona Inc.
Tel: +1 888 401 3401 ext 501 Skype: peter_zaitsev
24/7 Emergency Line +1 888 401 3401 ext 911

Join us for Percona Live Event, San Francisco, Feb 16
http://www.percona.com/events/percona-live-san-francisco-2011/

Currently, in innodb source code,

The buffer is called "insert/delete buffer" changed from "insert buffer",
so, "ibuf" is not so strange to use still.

Then the function of the buffer is changed to "change buffering" from "insert buffering",
and it buffers "insert", "delete" and "purge".

So, I meant "purge" is only one of the objective and not suitable for naming of the variables.

The name "ibuf" is suitable still.

And if you don't like "contract", how about to use "merge"?
The buffer is used as the particle from the mother index until the contents affect to the index.
"merge" is used several comments in InnoDB source code.

In the end, my concessions are...
 innodb_ibuf_merge_rate
 innodb_ibuf_active_merge
 innodb_ibuf_max_size

only.

-----
Next, about innodb_pass_corrupt_table.

For the RDBMS with ACID, the data corruption should not be allowed at all.
So, even if only 1 corruption detected, RDBMS should stop not to corrupt any more.

So, the users "should not" accept the pass through the any corruption as normal and justice.
The passing is really irregular and abnormal as RDBMS ideally.

Your suggestion seems to give the users the impression as "passing is normal behavior".
It should be abnormal and irregular impression as its name.

I don't like to accept the suggestion and don't recommend to break data and InnoDB.

I decided their names with considering as possible as I could.
You should suggest with your reason.

Changed in percona-server:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers