commit | 4e541a0da42101abeac97a84eda0c4f3d29ae575 | [log] [tgz] |
---|---|---|
author | Aravind Vasudevan <aravindvasudev@google.com> | Tue Nov 07 00:57:20 2023 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Nov 07 00:57:20 2023 |
tree | cc5b773b83f3586ba945d17076e04be50e327961 | |
parent | 14226e183e27359ca0842615ef81cdf6d0bdbf67 [diff] |
[cv] Fix pending_msg to be posted only once The current implementation for posting pending msg when quota is not available has two issues: 1. Gerrit prepends metadata to the posted msg which breaks post_gerrit_messsage's deduplication logic of using equality check. 2. Longops are executed before start handler in run manager which removes the pending msg entry from run.OngoingLongOps before start handler is executed, leading to start handler making duplicate enqueues. This CL fixes both of the aforementioned issues by updating equality check to contains check within post_gerrit_messsage and adding a new PendingMsgPosted entry to runState which restricts enqueuing pending msg to only once. The downside of this change is that, if posting pending msg longop fails, we do not re-enqueue another longop. However, this should be an edge case given we retry posting the longop anyway. Bug: 1466346 Change-Id: I55d800346b5369184cd161959b0d0cf029e701d3 Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/5007182 Reviewed-by: Scott Lee <ddoman@chromium.org> Reviewed-by: Yiwei Zhang <yiwzhang@google.com> Commit-Queue: Aravind Vasudevan <aravindvasudev@google.com>
LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:
fetch infra cd infra/go eval `./env.py` cd src/go.chromium.org/luci
It is now possible to directly install tools with go install:
go install go.chromium.org/luci/auth/client/cmd/...@latest go install go.chromium.org/luci/buildbucket/cmd/...@latest go install go.chromium.org/luci/cipd/client/cmd/...@latest go install go.chromium.org/luci/client/cmd/...@latest go install go.chromium.org/luci/cv/cmd/...@latest go install go.chromium.org/luci/gce/cmd/...@latest go install go.chromium.org/luci/grpc/cmd/...@latest go install go.chromium.org/luci/logdog/client/cmd/...@latest go install go.chromium.org/luci/luci_notify/cmd/...@latest go install go.chromium.org/luci/lucicfg/cmd/...@latest go install go.chromium.org/luci/luciexe/legacy/cmd/...@latest go install go.chromium.org/luci/mailer/cmd/...@latest go install go.chromium.org/luci/mmutex/cmd/...@latest go install go.chromium.org/luci/resultdb/cmd/...@latest go install go.chromium.org/luci/server/cmd/...@latest go install go.chromium.org/luci/swarming/cmd/...@latest go install go.chromium.org/luci/tokenserver/cmd/...@latest go install go.chromium.org/luci/tools/cmd/...@latest
Contributing uses the same flow as Chromium contributions.