Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FB8-104: enabling subsecond lock_wait_timeout #980

Closed
wants to merge 1 commit into from
Closed

FB8-104: enabling subsecond lock_wait_timeout #980

wants to merge 1 commit into from

Conversation

dutow
Copy link
Contributor

@dutow dutow commented Mar 5, 2019

For a first review, I only added the code changes to this pull request for two reasons:

  • a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
  • compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: c21adb7

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005. Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

SELECT @global.lock_wait_timeout;
@global.lock_wait_timeout
604800.000000

@@ -3475,6 +3475,8 @@ void shutdown_acl_cache() {

/* Constants used by Acl_cache_lock_guard */
static const ulong ACL_CACHE_LOCK_TIMEOUT = 3600UL;
static const ulong ACL_CACHE_LOCK_TIMEOUT_NSEC =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ulong is not guaranteed to be 64-bit, and therefore may be truncated here as ACL_CACHE_LOCK_TIMEOUT * 1000000000ULL >2^32

Suggested change
static const ulong ACL_CACHE_LOCK_TIMEOUT_NSEC =
static constexpr ulonglong ACL_CACHE_LOCK_TIMEOUT_NSEC =

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this was one of the typos. I found another when rereading my changes, looks like there aren't any timeout errors so far with these changes.

Updated, and I'll do another update tomorrow with the test changes.

"precision.",
// very small nanosecond values will effectively be no waiting
HINT_UPDATEABLE SESSION_VAR(lock_wait_timeout_double),
CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, LONG_TIMEOUT), DEFAULT(LONG_TIMEOUT),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is 0 a valid value now on purpose?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, to allow values below 1 second.

@dutow
Copy link
Contributor Author

dutow commented Mar 6, 2019

Updated with changed tests.

Copy link
Contributor

@percona-ysorokin percona-ysorokin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dutow dutow changed the title WIP FB8-104: enabling subsecond lock_wait_timeout FB8-104: enabling subsecond lock_wait_timeout Mar 6, 2019
Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

Copy link
Contributor

@hermanlee hermanlee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm seeing a number of test failures due to loading of locking_service.so.

CURRENT_TEST: main.locking_service
mysqltest: At line 34: Query 'CREATE FUNCTION service_get_read_locks RETURNS INT SONAME "$LOCKING_SERVICE"' failed.
ERROR 1126 (HY000): Can't open shared library 'locking_service.so' (errno: 0 /data/users/herman/rocks-mysql/8.0/build-8.0-Debug/plugin_output_directory/locking
service.so: undefined symbol: _Z29acquire_lo)

I think some of the plugins and gunit tests need to change acquire_locking_service_locks to acquire_locking_service_locks_nsec?

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
This program is free software; you can redistribute it and/or modify
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could this indent change be reverted and the original indent spacing be preserved?

@facebook-github-bot
Copy link

@dutow has updated the pull request. Re-import the pull request

Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: c21adb7

-------- c21adb7 --------

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT @global.lock_wait_timeout;
    @global.lock_wait_timeout
    604800.000000
@facebook-github-bot
Copy link

@dutow has updated the pull request. Re-import the pull request

Copy link

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

facebook-github-bot pushed a commit that referenced this pull request Apr 1, 2019
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: c21adb7

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: #980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth

fbshipit-source-id: fc01757
@hermanlee hermanlee closed this Apr 1, 2019
facebook-github-bot pushed a commit that referenced this pull request Nov 18, 2019
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: c21adb7

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: #980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth

fbshipit-source-id: f740c16
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 23, 2020
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth

fbshipit-source-id: f740c16
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 23, 2020
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 24, 2020
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 28, 2020
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 28, 2020
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 29, 2020
Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lth

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 23, 2023
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 3, 2023
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this pull request Oct 18, 2023
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/percona-server that referenced this pull request Apr 16, 2024
)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook/mysql-5.6@c21adb7
Reference commit: facebook/mysql-5.6@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook/mysql-5.6#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/percona-server that referenced this pull request Apr 17, 2024
)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook/mysql-5.6@c21adb7
Reference commit: facebook/mysql-5.6@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook/mysql-5.6#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 23, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Apr 25, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 7, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 8, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 9, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 10, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 13, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 15, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 16, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 17, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 21, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request May 30, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 13, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 14, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 19, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 20, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 21, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jun 25, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 2, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 19, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Jul 31, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 2, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
inikep pushed a commit to inikep/mysql-5.6 that referenced this pull request Aug 6, 2024
…k#980)

Summary:
For a first review, I only added the code changes to this pull request for two reasons:
* a full test is still running, and I'll have to check the results (I do see a few non output only failures because timeouts, so looks like I missed some nsec-sec conversion in this diff - I'll fix that and update). And checking output changes / rerecording will take time.
* compared to the 5.6 patch, the code change for 8.0 is huge, and affects the service api - reviewing only the code changes is probably a good idea

Jira ticket: https://jira.percona.com/browse/FB8-104

Reference commit: facebook@c21adb7
Reference commit: facebook@25f0f276d13

Currently lock_wait_timeout is an integer type variable which only have
seconds resolution. We would want to extend the variable to double/decimal
type, so it can have milliseconds or microseconds resolution, such as
lock_wait_timeout = 1.23. The integral part should still mean seconds to
keep backward compatibility.

The range of valid values expanded to [ 0 .. 604800 ] to allow timeouts below
1 second; such as lock_wait_timeout = 0.005.  Values that are too small
will effectively mean not waiting for locks.

This update also changes the output of lock_wait_timeout to be decimal;
note the extra .000000 appended to the seconds.

    SELECT global.lock_wait_timeout;
    global.lock_wait_timeout
    604800.000000
Pull Request resolved: facebook#980

Reviewed By: lloyd

Differential Revision: D14349342

Pulled By: lth
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants