Chenjp commented on PR #14432:
URL: https://github.com/apache/dubbo/pull/14432#issuecomment-2262843190

   After my commits, following stacktraces shows recursive destroy occur 
(***framework->application->framework***). @AlbumenJ  may code refactoring is 
***expected*** to match the productive-level design. We define 
framework-application-module hierarchical relationship clearly. And if we 
follow the relationship rule, then ```XxxModel#destroyed.compareAndSet``` 
should have never been used.
   
   ```java
   Request.setVersion(String) line: 95  
   HeaderExchangeServer.sendChannelReadOnlyEvent() line: 134    
   HeaderExchangeServer.close(int) line: 111    
   DubboProtocol.destroy() line: 610    
   ProtocolSecurityWrapper.destroy() line: 117  
   ProtocolListenerWrapper.destroy() line: 99   
   ProtocolFilterWrapper.destroy() line: 80     
   ProtocolSerializationWrapper.destroy() line: 60      
   InvokerCountWrapper.destroy() line: 55       
   FrameworkModelCleaner.destroyProtocols(FrameworkModel) line: 68      
   FrameworkModelCleaner.destroyFrameworkResources(FrameworkModel) line: 55     
   FrameworkModelCleaner.onDestroy(FrameworkModel) line: 47     
   FrameworkModelCleaner.onDestroy(ScopeModel) line: 1  
   FrameworkModel(ScopeModel).notifyProtocolDestroy() line: 155 
   FrameworkModel.tryDestroyProtocols() line: 280       
   ApplicationModel.onDestroy() line: 159       
   ApplicationModel(ScopeModel).destroy() line: 122     
   FrameworkModel.onDestroy() line: 129 
   FrameworkModel(ScopeModel).destroy() line: 122       
   FrameworkModel.destroyAll() line: 210        
   DubboShutdownHook.run() line: 128
   ```


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