-
Hi, After upgrading etcd from v3.5.22 to v3.6.0 I'm observing the following in the logs:
The cluster reports healthy, but these logs are concerning.
What I know so far:
So at this point I'm not sure whether something is going wrong during the upgrade or if the issue was there prior the upgrade, but only surfaced in v3.6. I would really appreciate some help getting to the bottom of this. Thank you |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 6 replies
-
etcd can automatically populate the missing info. So warning message should disappear automatically. If you want to debug this, try steps below, Before upgrading to 3.6.4 (when you are still on 3.5.22), run command below to check whether the confState is present,
After upgrading to 3.6.x, if you see the warning message "missing confstate information", stop etcd and run the above command again to check the confState is present. But etcd should be automatically populate it even it's missing, everything should be still working well. Please let me know if you see any real issues. |
Beta Was this translation helpful? Give feedback.
I reproduced the issue.
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. 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.
The simplest solution is to remove code snip below,
etcd/server/storage/schema/schema.go
Lines 103 to 106 in 05b8563