Issues

Select view

Enter to search
Shift+Enter to add a new line
    Select search mode

     
    50 of 280

    LP #1264306: Per Session innodb_flush_log_at_trx_commit poorly documented

    Done

    Description

    **Reported in Launchpad by Jaime Crespo last update 01-08-2017 06:48:14

    This and the same section on 5.5 is poorly written and has some documentation bugs:
    http://www.percona.com/doc/percona-server/5.6/scalability/innodb_io.html#innodb_use_global_flush_log_at_trx_commit

    In summary:

    • The feature doc is difficult to understand, and overuses "GLOBAL" when it means "session as if it was set globally"

    • I think it has some erroneous information: wrong quoted example and the session variable can always be set, but (hopefully) it will have no effect

    • The feature is not documented in any other place, and it requires further discussion than simple parameters settings

    I have written an alternative version (please check validity) to at least change the current information:

    ---------------
    This variable is used to enable or disable the effect of the per session value of innodb_flush_log_at_trx_commit.

    If the global variable innodb_use_global_flush_log_at_trx_commit is set to 1 (True), the session will use always use the current global value of innodb_flush_log_at_trx_commit. This is the default value.

    Under this mode, changing the session variable for innodb_flush_log_at_trx_commit will have no effect for upstream compatibility.

    If the global variable innodb_use_global_flush_log_at_trx_commit is set to 0 (False), the user can modify the MySQL commit durability per session, using:

    SET SESSION innodb_flush_log_at_trx_commit=N

    This change will only affect the transactions in the session where it has changed, while the rest will keep the global innodb_flush_log_at_trx_commit value unless similarly changed.

    Environment

    None

    Smart Checklist

    Details

    Assignee

    Reporter

    Needs Review

    Yes

    Time tracking

    7h 40m logged

    Components

    Priority

    Smart Checklist

    Created January 21, 2018 at 4:00 PM
    Updated March 6, 2024 at 3:09 PM
    Resolved March 24, 2022 at 12:08 PM

    Activity

    Show:

    patrick.birchJanuary 17, 2020 at 4:01 PM

    Merged 5.6 version

    Merged 5.7 version

    lpjirasyncJanuary 21, 2018 at 4:01 PM

    **Comment from Launchpad by: Jaime Crespo on: 27-12-2013 09:39:24

    For future reference, enabling a feature by setting it from 1 to 0 is anti-intuitive. I understand the original requirement of maintaining backwards compatibility, but setting innodb_use_session_flush_log_at_trx_commit to 1 would have been more intuitive.

    lpjirasyncJanuary 21, 2018 at 4:01 PM

    **Comment from Launchpad by: Laurynas Biveinis on: 27-12-2013 04:23:03

    I agree that innodb_use_global_flush_log_at_trx_commit docs should be improved. The 5.1 innodb_flush_log_at_trx_commit_session docs are IMHO clearer but still targeting the bug to 5.1 too for a review (e.g. is innodb_flush_log_at_trx_commit_session really a global and not session variable?)