xuzhenbao opened a new pull request, #802:
URL: https://github.com/apache/celix/pull/802

   This PR is used to resolve the problem that the remote service endpoint is 
exported to the remote before it is fully established, which may cause the 
remote service invocation failure when it is just online. The reason for this 
issue is that in the original design, the `rsa_rpc_factory_t` service is 
dynamically and asynchronously tracked based on the service description 
information when the service is exported/imported, which may lead to the 
corresponding `rsa_rpc_factory_t` service cannot be tracked in time when the 
service is exported/imported, and finally causes remote service invocation 
failure. To resolve this problem, this PR makes the following changes:
   
   1. The types of `rsa_rpc_factory_t` services supported by rsa are configured 
through the properties of the RSA bundle or environment variables. And the 
`remote_service_admin_service_t` service strongly depends on the 
`rsa_rpc_factory_t` service, which can ensure that the service export/import 
operation is not performed when the `rsa_rpc_factory_t` service is not ready.
   2. The `rsa_rpc_factory_t`, `rsa_request_handler_service_t` and 
`rsa_request_handler_service_t` are merged into one `celix_rsa_rpc_factory_t` 
service, which can simplify the management and use of services, and reduce some 
service tracking operations in the implementation.
   
   In addition, this PR also fixes some other issues:
   
   1. The use-after-free of the service instance when the service factory is 
unregistered.
   2. The RPC communication failure when the shared memory id is 0.
   
   _notes:_ Considering that the next celix release version is 3.0.0, the 
compatibility issue is not considered in the current PR.


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