Skip to content

Remove checking confState during schema migration #20494

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

Merged
merged 1 commit into from
Aug 15, 2025

Conversation

ahrtr
Copy link
Member

@ahrtr ahrtr commented Aug 15, 2025

The field confState was added since etcd v3.5. If an etcd cluster was created since v3.4, then it wouldn't have this field. In 3.5+, the field will only be automatically populated during conf change (i.e. add/remove/update member). So when upgrading from 3.4 to 3.5, and from 3.5 to 3.6, the field will never be populated unless users add or remove or update members.

Note if you can't reproduce this issue, it should be because that there is no v2 snapshot, and etcdserver will replay all WAL records (including add member records) on bootstrap.

See also #20446 (reply in thread)

Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.

@ahrtr
Copy link
Member Author

ahrtr commented Aug 15, 2025

Fix #20495

The field confState was added since etcd v3.5. If an etcd cluster
was created since v3.4, then it wouldn't have this field. In 3.5+,
the field will only be automatically populated during conf change
(i.e. add/remove/update member). So when upgrading from 3.4 to 3.5,
and from 3.5 to 3.6, the field will never be populated unless users
add or remove or update members.

Note if you can't reproduce this issue, it should be because that
there is no v2 snapshot, and etcdserver will replay all WAL records
(including add member records) on bootstrap.

Signed-off-by: Benjamin Wang <[email protected]>
Copy link

codecov bot commented Aug 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.09%. Comparing base (05b8563) to head (c02e65d).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
Files with missing lines Coverage Δ
server/storage/schema/schema.go 100.00% <ø> (ø)

... and 34 files with indirect coverage changes

@@            Coverage Diff             @@
##             main   #20494      +/-   ##
==========================================
- Coverage   69.24%   69.09%   -0.16%     
==========================================
  Files         418      415       -3     
  Lines       34699    34561     -138     
==========================================
- Hits        24028    23880     -148     
+ Misses       9275     9274       -1     
- Partials     1396     1407      +11     

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 05b8563...c02e65d. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ahrtr
Copy link
Member Author

ahrtr commented Aug 15, 2025

/test pull-etcd-integration-4-cpu-amd64

@ahrtr
Copy link
Member Author

ahrtr commented Aug 15, 2025

cc @fuweid @ivanvc @jmhbnz @serathius

@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ahrtr, serathius

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ahrtr ahrtr merged commit 65f7a1b into etcd-io:main Aug 15, 2025
33 checks passed
@ahrtr
Copy link
Member Author

ahrtr commented Aug 15, 2025

/cherry-pick release-3.6

@k8s-infra-cherrypick-robot

@ahrtr: new pull request created: #20496

In response to this:

/cherry-pick release-3.6

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

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

Successfully merging this pull request may close these issues.

4 participants