Duansg commented on PR #6528:
URL: https://github.com/apache/shenyu/pull/6528#issuecomment-5162000493

   @Aias00  Thanks for the detailed review. I have updated the patch with:
   
   - false -> true recovery tests for Divide, Dubbo, gRPC, and Tars;
   - the missing diffStatusList detection and syncUpstreamStatus logic for 
WebSocket;
   - a WebSocket false -> true regression test.
   
   I intentionally did not include the batch DELETED change after tracing the 
complete shutdown flow. It is not safe to fix independently:
   
   1. For discovery-driven plugins such as Divide, gRPC, and WebSocket, runtime 
availability is determined by the discovery-upstream row rather than the 
selector handle. Simply routing DELETED through registerURI() would write 
status=false into the handle, while doDiscoveryLocal() would leave an existing 
discovery row at status=0, or recreate it with status=0 after deletion. The 
gateway could therefore continue routing traffic to the closed instance.
   
   2. The same JVM shutdown currently emits both signals: the priority-2 hook 
sends OFFLINE, while the priority-1 hook sends DELETED. Their existing 
semantics are different, so handling DELETED as a status update while OFFLINE 
removes data would produce competing state transitions during the same shutdown.
   
   3. Dubbo and Tars also have different runtime consumption paths, so a 
complete fix needs a per-protocol review of the authoritative upstream state. 
Because of this, the batch DELETED behavior requires a separate follow-up that 
first defines the relationship between DELETED and OFFLINE, and then updates 
both selector and discovery state consistently. I kept this PR focused on 
correcting status reconciliation inside buildHandle and covering the symmetric 
recovery path.


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

Reply via email to