nagisa-kunhah commented on code in PR #3282:
URL: https://github.com/apache/dubbo-go/pull/3282#discussion_r3040086059


##########
registry/directory/directory.go:
##########
@@ -250,34 +250,49 @@ func (dir *RegistryDirectory) refreshInvokers(event 
*registry.ServiceEvent) {
 // not in the incoming list can be removed.  The Action of serviceEvent should 
be EventTypeUpdate or EventTypeAdd.
 func (dir *RegistryDirectory) refreshAllInvokers(events 
[]*registry.ServiceEvent, callback func()) {

Review Comment:
   I think there are two possible behaviors for configurator-only `NotifyAll`, 
and I’d like to confirm which one we want before changing the rebuild logic.
   
   Example:
   
   - original provider URL:
     
`dubbo://10.0.0.8:20880/com.foo.UserService?group=g1&version=1.0.0&serialization=fastjson&warmup=100`
   - consumer reference URL:
     
`dubbo://127.0.0.1/com.foo.UserService?group=g1&version=1.0.0&timeout=3000&cluster=failover`
   
   Then suppose we receive one configurator-only batch:
   
   - first batch:
     `override://0.0.0.0/com.foo.UserService?timeout=2s&serialization=hessian2`
   
   and later another configurator-only batch:
   
   - next batch:
     `override://0.0.0.0/com.foo.UserService?cluster=mock3`
   
   If we rebuild from the original provider URL each time, the final effective 
URL would become:
   
   
`dubbo://10.0.0.8:20880/com.foo.UserService?group=g1&version=1.0.0&serialization=fastjson&warmup=100&timeout=3000&cluster=mock3`
   
   If we instead re-apply the new configurator batch on top of the current 
effective invoker URL, the final URL would become:
   
   
`dubbo://10.0.0.8:20880/com.foo.UserService?group=g1&version=1.0.0&serialization=hessian2&warmup=100&timeout=2s&cluster=mock3`
   
   Since this patch changed configurator handling from append to 
replace-by-batch, I’m leaning toward the first behavior, but I’d like to 
confirm the expected semantics first.



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