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

sql: non-deterministic allocation of desc IDs after a 3-node TestCluster initialization #110499

Closed
knz opened this issue Sep 12, 2023 · 1 comment
Labels
A-testing Testing tools and infrastructure C-investigation Further steps needed to qualify. C-label will change. T-sql-foundations SQL Foundations Team (formerly SQL Schema + SQL Sessions)

Comments

@knz
Copy link
Contributor

knz commented Sep 12, 2023

Describe the problem

Found in #110242: after the TestDataDriven initializes a 3-node cluster (and NOT in the 1-node case), the test sometime fails while expecting the initial table to be generated with ID N, and sees instead ID N+1 or N+2.

This only occurs in CI -- cannot be reproduced locally under stress.

We can work around the issue by normalizing the expected table ID in the test (to become agnostic of the numeric value) however the fact that there is unstable ID allocaiton in a 3-node TestCluster is abnormal and unexpected.

To Reproduce

Take the code from #110492
Remove the ID normalization that was added in that PR.
Then exercise the test in CI (presumably it does not fail when run locally)

Expected behavior

We want to understand what is the source of the non-determinism here.

(NB: this issue is not about fixing the situation for the tests. The proper longer-term fix will be a combination of #110491 and ensure that all test expectations use names from that change.)

Jira issue: CRDB-31461

@knz knz added C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. A-testing Testing tools and infrastructure T-sql-foundations SQL Foundations Team (formerly SQL Schema + SQL Sessions) labels Sep 12, 2023
@knz knz added C-investigation Further steps needed to qualify. C-label will change. and removed C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. labels Sep 12, 2023
@rafiss
Copy link
Collaborator

rafiss commented Sep 19, 2023

I think we figured this one out - @ecwall fixed this by making the test use the TransactionalDescIDGenerator #110829

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testing Testing tools and infrastructure C-investigation Further steps needed to qualify. C-label will change. T-sql-foundations SQL Foundations Team (formerly SQL Schema + SQL Sessions)
Projects
No open projects
Archived in project
Development

No branches or pull requests

2 participants