xiaobaicai66695 opened a new pull request, #3698: URL: https://github.com/apache/dubbo-go/pull/3698
## Summary Refs #3693 Replace direct `github.com/modern-go/concurrent` usage in exec-limit and method-service TPS limiter with the standard library `sync.Map`. ## Changes - Add typed `sync.Map` helpers under `common/dubboutil` for `Load` and `LoadOrStore` call sites. - Migrate `filter/exec_limit` state storage to zero-value `sync.Map`. - Migrate `filter/tps/limiter` state storage to zero-value `sync.Map` and pointer receiver to avoid copying `sync.Map` after use. - Add concurrent first-initialization tests for the shared helper, exec-limit state, and TPS limiter state. - Remove `modern-go/concurrent` from generated CLI project checksum templates/scaffold. - Move `github.com/modern-go/concurrent` from direct require to indirect only; it is still pulled transitively by dependencies such as `gost`, `nacos-sdk-go`, `json-iterator`, and `prometheus/client_golang`. ## Validation - `make fmt` - `make check-fmt` - `go test -count=1 ./common/dubboutil ./filter/exec_limit ./filter/tps/limiter` - `go test -race -count=1 ./common/dubboutil ./filter/exec_limit ./filter/tps/limiter` - `go test -count=1 ./filter/exec_limit ./filter/tps/...` - `(cd tools/dubbogo-cli && go test -count=1 ./...)` - `go vet ./common/dubboutil ./filter/exec_limit ./filter/tps/...` - `git grep -n "github.com/modern-go/concurrent\|concurrent.NewMap\|concurrent\.Map" -- '*.go'` returns no matches -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
