wyf027 opened a new pull request, #3494:
URL: https://github.com/apache/dubbo-go/pull/3494

   Fixes #3248
   
   ## Summary
   
   - clone exported and subscribed URLs on ingress and return detached URL 
snapshots from public getters
   - keep each stored service and its exported-URL index on the same owned URL 
while isolating caller mutations
   - deep-copy ServiceInfo params and URL containers without initializing lazy 
keys on the source
   - use read locking for service snapshots now that copy operations are 
read-only
   - cover add/replace/getter ownership, nested URL state, shallow 
attribute-value boundaries, lazy fields, and concurrent mutation
   
   ## Scope
   
   This PR makes URL containers, params, methods, nested URLs, and attribute 
maps structurally independent. Arbitrary mutable attribute values retain the 
shallow-copy behavior defined by common.URL.Clone.
   
   ## Testing
   
   - `go test ./metadata/info -count=20`
   - `go test -race ./metadata/info -count=10`
   - `go test ./metadata/... -count=1`
   - `go test -race ./metadata/... -count=1`
   - `go test ./registry/servicediscovery -run 
'TestServiceDiscoveryRegistryUnRegister(ServicePartialFailSyncsMetadata|WithoutTrackedInstancesReconcilesMetadata)$'
 -count=20`
   - `go test -race ./registry/servicediscovery -run 
'TestServiceDiscoveryRegistryUnRegister(ServicePartialFailSyncsMetadata|WithoutTrackedInstancesReconcilesMetadata)$'
 -count=10`
   - `go test ./registry/servicediscovery -count=1`
   - `go vet ./metadata/...`
   - `golangci-lint run ./metadata/... ./registry/servicediscovery 
--timeout=10m`
   - `make check-fmt`
   - `make test`
   
   ## Checklist
   
   - [x] Target branch is `develop`
   - [x] New behavior is covered by tests
   - [x] Formatting, lint, race, and full test suites pass locally
   - [x] Commit includes a Signed-off-by trailer


-- 
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]

Reply via email to