BewareMyPower commented on issue #85: URL: https://github.com/apache/pulsar-client-python/issues/85#issuecomment-1571970049
@zbentley Your points generally make sense to me. I have some more additional points. 1. Yeah it's hard for Python users to test a wheel for latest master. Though we can trigger the GitHub action to generate wheels by pushing a tag in your own fork, I must admit that the workflows are not optimized. We have to wait until all workflows are done, which could take 3+ hours, while a single workflow only takes 10+ minutes. (It can be reduced if we have a pre-built image with all dependencies built) 2. These issues are nearly all related to the GIL, which must be taken very carefully when developing the C extension for Python. pybind11 simplifies the APIs but we still need to write GIL-safe C++ code. 3. The main issue is related to the multi-processes. Because of the implictly called destructors, the C++ classes are not guaranteed to be safely shared among various processes like the trivial C structs. Other issues are still related to GIL. I think point 2 and 3 are still within the scope of the development. Though it makes it hard for Python users to debug issues. -- 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]
