Skip to content
/ server Public

MDEV-38874: Make tests pass after 2030#4667

Open
bmwiedemann wants to merge 1 commit intoMariaDB:11.8from
bmwiedemann:ftbfs2030
Open

MDEV-38874: Make tests pass after 2030#4667
bmwiedemann wants to merge 1 commit intoMariaDB:11.8from
bmwiedemann:ftbfs2030

Conversation

@bmwiedemann
Copy link
Contributor

Background:
As part of my work on reproducible builds for openSUSE, I check that software still gives identical build results in the future. I tested with an offset of +11 years, because that is how long I expect some software will be used in some places. This showed up failing tests in our mariadb package build. See https://reproducible-builds.org/ for why this matters.

@CLAassistant
Copy link

CLAassistant commented Feb 19, 2026

CLA assistant check
All committers have signed the CLA.

@gkodinov gkodinov added the External Contribution All PRs from entities outside of MariaDB Foundation, Corporation, Codership agreements. label Feb 20, 2026
Copy link
Member

@gkodinov gkodinov left a comment

Choose a reason for hiding this comment

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

Thank you for your contribution. This is a preliminary review.
This sounds like a test case bug fix. As such, it needs to go to the lowest affected version, which currently is 10.6. Can you please re-base your changes to that?

If you would also please document why you went with 2080 instead of 2030.
Why not year 4k for example?

@vuvova
Copy link
Member

vuvova commented Feb 20, 2026

I don't think 10.6 can handle timestamps larger than 2038. MDEV-32188 was implemented in 11.5, so the first capable version now is 11.8

And even 11.8 cannot handle years larger than 2106.

@bmwiedemann bmwiedemann force-pushed the ftbfs2030 branch 2 times, most recently from 6c758c4 to 3806b9b Compare February 20, 2026 12:14
@bmwiedemann
Copy link
Contributor Author

I added 3 lines of explanation to the commit message and rebased it onto 11.8

Copy link
Member

@gkodinov gkodinov left a comment

Choose a reason for hiding this comment

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

Thank you for updating the commit message.

VERSION Outdated
@@ -1,4 +1,4 @@
MYSQL_VERSION_MAJOR=13
MYSQL_VERSION_MINOR=0
MYSQL_VERSION_PATCH=0
Copy link
Member

Choose a reason for hiding this comment

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

Why do you need to bump the version?
This is not relevant to the fix. Please revert that.

2080 was chosen because it is far enough into the future to not have to worry,
but still below 2106 which is the new limit after implementation of
https://jira.mariadb.org/browse/MDEV-32188

Background:
As part of my work on reproducible builds for openSUSE, I check that software still gives identical build results in the future.
I tested with an offset of +11 years, because that is how long I expect some software will be used in some places.
This showed up failing tests in our mariadb package build.
See https://reproducible-builds.org/ for why this matters.
@bmwiedemann
Copy link
Contributor Author

bmwiedemann commented Feb 20, 2026

The version bump was some unintended artifact from the rebase - I dropped that now.

Another consideration is that this change will break those 3 tests on systems with 32-bit time_t types - mostly i586 and armv7. But only moving to 2037 seems not to be a good solution either, because then users will not notice that their system is broken and cannot handle dates beyond 2038-01-19.

One way out could be to replace the date with "now + 5 years" (not sure how that works in SQL and that test-framework) so that it keeps working indefinitely for 64-bit time_t and until 2033 for 32-bit time_t

Copy link
Member

@gkodinov gkodinov left a comment

Choose a reason for hiding this comment

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

LGTM now. Please stand by for the final review.

On the older systems: maybe exclude these tests that you expect to fail?

@gkodinov
Copy link
Member

hmm, the PR is still against MariaDB::main? Are you sure you've rebased it?

@bmwiedemann bmwiedemann changed the base branch from main to 11.8 February 20, 2026 13:35
@bmwiedemann
Copy link
Contributor Author

Is 11.8 the correct target branch?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

External Contribution All PRs from entities outside of MariaDB Foundation, Corporation, Codership agreements.

Development

Successfully merging this pull request may close these issues.

4 participants

Comments