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]
