UPSTREAM: 21443: Revert "Reuse events between sync loops" - #394
UPSTREAM: 21443: Revert "Reuse events between sync loops"#394redhat-chai-bot wants to merge 1 commit into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: redhat-chai-bot The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@redhat-chai-bot: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. I understand the commands that are listed here. |
Cherry-pick: etcd memory regression fix for 4.21
Cherry-pick of upstream etcd-io/etcd#21443 — Revert "Reuse events between sync loops"
Problem
etcd 3.6 introduced a memory regression that scales with cluster size (OCPBUGS-76329). The
rangeEventsWithReuseoptimization held event objects across sync loops, causing unbounded memory growth:Fix
This cherry-picks the upstream revert which:
rangeEventsWithReusefunctionevsvariable fromsyncWatchersLooprangeEventsandkvsToEventssignatures withcontainsfilteringWhy cherry-pick instead of full rebase
OCP 4.21 etcd is on 3.6.5. A full rebase to 3.6.9+ is complicated by Go version constraints (see openshift/etcd#377 which is held). This targeted cherry-pick addresses the critical memory regression without introducing other changes.
Build and test verification
go build ./...✅go test ./server/storage/mvcc/...✅ (11.7s)References
@sdodson requested in Slack thread