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
Allow MariaDB server to startup past 2038 and continue to verify compatibility with testing in GitLab CI #3228
base: 11.5
Are you sure you want to change the base?
Conversation
In previous commits, changes were made to use the entire 32 bit unsigned range in order to support timestamps past 2038 on 64 bit systems. Without changing set_max_time on thr_timer to also match this new range, the server will crash when attempting to startup past 2038-01-19. Like the previous commits, this only applies to 64 bit systems. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.
A new GitLab MTR run is added which uses libfaketime to simulate starting the server and running the test suite in the future. The job simulates running in two times in the year 2038, once before the signed 32 bit UNIX limit and once after. This change helps to ensure that all future changes preserve the ability for the engine start and function past the year 2038. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.
|
The CI is all failing on the mtr
|
This is because at the moment, the changes which add support for timestamps past 2038 (in this case, specifically for system versioning) in branch bb-11.5-MDEV-32188-timestamps are not merged in mainline yet. |
Perhaps, this could be targeted onto |
Yes, never mind that. I know it's for bb-11.5-MDEV-32188-timestamps and will take care that it's merged correctly. Either in that branch or in the main after bb-11.5-MDEV-32188-timestamps is pushed |
A new GitLab MTR run is added which uses libfaketime to simulate starting the server and running the test suite in the future. The job simulates running in two times in the year 2038, once before the signed 32 bit UNIX limit and once after. This change helps to ensure that all future changes preserve the ability for the engine start and function past the year 2038. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc. Fixes #3228
A new GitLab MTR run is added which uses libfaketime to simulate starting the server and running the test suite in the future. The job simulates running in two times in the year 2038, once before the signed 32 bit UNIX limit and once after. This change helps to ensure that all future changes preserve the ability for the engine start and function past the year 2038. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc. Fixes #3228
A new GitLab MTR run is added which uses libfaketime to simulate starting the server and running the test suite in the future. The job simulates running in two times in the year 2038, once before the signed 32 bit UNIX limit and once after. This change helps to ensure that all future changes preserve the ability for the engine start and function past the year 2038. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc. Fixes #3228
Note: This PR is intended to only be merged AFTER the changes in branch
bb-11.5-MDEV-32188-timestamps
are finalized and merged into mainline 11.5Description
Commits in branch:
bb-11.5-MDEV-32188-timestamps
made changes to use the entire 32 bit unsigned range in order to support timestamps past 2038-01-20 on 64 bit systems.Without changing set_max_time on thr_timer to also match this new range, the server will crash when attempting to startup past 2038-01-19. Like the commits in
bb-11.5-MDEV-32188-timestamps
, the changes only apply to 64 bit systems.Furthermore, in order to ensure that all future changes preserve the ability for the engine to start and function past the year 2038, a new GitLab MTR run is added which uses libfaketime to simulate starting the server and running the test suite in the future. The job simulates running in two times in the year 2038, once before the signed 32 bit UNIX limit and once after.
Release Notes
How can this PR be tested?
./mtr --suite=main
successfully completes both locally and in GitLab CI when running at the present time, in simulated 2038-01-18 and simulated 2038-01-20 while running on branchbb-11.5-MDEV-32188-timestamps
Basing the PR against the correct MariaDB version
PR quality check
All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.