commit | 268b4a8ec2d7d04268ddf548a99ef5dcfe2d7911 | [log] [tgz] |
---|---|---|
author | Rob Findley <rfindley@google.com> | Fri Jul 12 19:18:40 2024 +0000 |
committer | Gopher Robot <gobot@golang.org> | Fri Jul 12 21:09:58 2024 +0000 |
tree | 7b761dfe9d9475d64cf9f0cb3e7259bc19ed2a20 | |
parent | 1f628dd3a1e3e384afbd3515226ce1f7179cba89 [diff] |
internal/upload: fix upload locking The upload locking logic left a brief race that could lead to duplicate uploads, as the existence of an uploaded report was checked before locking, not after. Fix this. As described in golang/go#67737, more races exist that could lead to broken or partial uploads, but this should prevent overcounting uploads, as was originally intended. This closes golang/go#65970, as it is the last thing I feel comfortable doing relative to the upload process. More refactoring will have to wait until 1.24. For golang/go#67737 Fixes golang/go#65970 Change-Id: Iadd58402bbe3fb32b4daf479d8d800eaef47c370 Reviewed-on: https://go-review.googlesource.com/c/telemetry/+/598036 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com> Auto-Submit: Robert Findley <rfindley@google.com>
This repository holds the Go Telemetry server code and libraries, used for hosting telemetry.go.dev and instrumenting Go toolchain programs with opt-in telemetry.
Warning: this repository is intended for use only in tools maintained by the Go team, including tools in the Go distribution and auxiliary tools like gopls or govulncheck. There are no compatibility guarantees for any of the packages here: public APIs will change in breaking ways as the telemetry integration is refined.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the time repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/telemetry:” in the subject line, so it is easy to find.
This repository uses eslint to format TS files, stylelint to format CSS files, and prettier to format TS, CSS, Markdown, and YAML files.
See the style guides:
It is encouraged that all TS and CSS code be run through formatters before submitting a change. However, it is not a strict requirement enforced by CI.
./npm install
./npm run all