-
Notifications
You must be signed in to change notification settings - Fork 47
Comparing changes
Open a pull request
base repository: apache/pulsar-client-python
base: ba99cd5
head repository: apache/pulsar-client-python
compare: f445ceb
- 13 commits
- 14 files changed
- 3 contributors
Commits on Jun 5, 2023
-
[Enhancement/Feature Issue #47] Added support for KeySharedPolicy for…
… the consumer when in KeyShared mode. (#109) ### Motivation The pulsar python client lacks support for defining KeyShared behaviour like out of order message delivery and sticky-hash, auto-hash for consumers in KeyShared mode. This PR adds full support. The user can now provide a KeySharedPolicy when starting a consumer with client.subscribe() #47 The ConsumerConfiguration::KeySharedPolicy and related setter/getter are now exposed to the Python client in this PR. ### Modifications - Added pybind11 enum for KeySharedMode in src/enums.cc. - Added pybind11 class for KeySharedPolicy in src/config.cc. - Modified pybind11 class for ConsumerConfiguration and added function to set KeySharedPolicy and function to read KeySharedPolicy. - Added KeySharedPolicy wrapper to pulsar/__init__.py. This wrapper handles KeySharedPolicy initialization and does some value validation. - Added the key_shared_policy parameter to client.subscribe(), some validation, and adding to the config in pulsar/__init__.py. - Added 4 new tests to test the new KeySharedPolicy functionality to tests/pulsar_test.py
Configuration menu - View commit details
-
Copy full SHA for eb34eaf - Browse repository at this point
Copy the full SHA eb34eafView commit details -
Configuration menu - View commit details
-
Copy full SHA for f84931c - Browse repository at this point
Copy the full SHA f84931cView commit details
Commits on Jun 12, 2023
-
[docs] Fix the incorrect API docs generation steps in the release pro…
…cess (#131) ### Motivation #126 adds the instruction to include the `_pulsar` C module when generating the API docs. However, it does not work when the library is installed from `pip`. It only works when the wheel is installed from `dist/*.whl` that is generated by the `python3 setup.py bdist_wheel` command in the README. The reason is the official Python wheel uses `auditwheel` to package all dynamic libraries, so the `_pulsar.so` depends on another dynamic library in the relative path. e.g. ```bash $ ldd ~/.local/lib/python3.8/site-packages/_pulsar.cpython-38-x86_64-linux-gnu.so libpulsar-b6dad138.so => /home/xyz/.local/lib/python3.8/site-packages/pulsar_client.libs/libpulsar-b6dad138.so (0x00007f8dc09b3000) ... ``` If we copy the `_pulsar.cpython-38-x86_64-linux-gnu.so` into the project directory, the `libpulsar-b6dad138.so` will not be found. ### Modifications In `RELEASE.md`, specify the path of `_pulsar.so` directly.
Configuration menu - View commit details
-
Copy full SHA for 1a2fb07 - Browse repository at this point
Copy the full SHA 1a2fb07View commit details
Commits on Jun 23, 2023
-
Fix link failure on macOS (#133)
### Motivation We need to link the Python shared library on non-Windows systems as well. Otherwise, some link errors might happen.
Configuration menu - View commit details
-
Copy full SHA for 766db9e - Browse repository at this point
Copy the full SHA 766db9eView commit details
Commits on Jul 7, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 8e6dd65 - Browse repository at this point
Copy the full SHA 8e6dd65View commit details
Commits on Jul 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2cb3cfe - Browse repository at this point
Copy the full SHA 2cb3cfeView commit details
Commits on Aug 9, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 4c28ed5 - Browse repository at this point
Copy the full SHA 4c28ed5View commit details
Commits on Aug 11, 2023
-
Fix the OpenSSL 3.x symbols not found on macOS build (#145)
### Motivation Recently after the runner image was upgraded, the macOS build failed with `symbol not found in flat namespace (_EVP_PKEY_get_bn_param)`. See https://github.com/apache/pulsar-client-python/actions/runs/5805986979/job/15740588663?pr=134 There are actually two issues. One is that when building the C++ client on macOS, `/usr/local/opt/openssl/` will be firstly searched if `OPENSSL_ROOT_DIR` is not defined. https://github.com/apache/pulsar-client-cpp/blob/1e7d259bb94379ef6e4618fdac283912d0be6861/CMakeLists.txt#L136 It should be fixed at the C++ client side but we can also have a workaround here by defining the `OPENSSL_ROOT_DIR` variable. The other is that when building the libcurl, the headers from `/usr/local/include/openssl/` were included, see the logs: ``` /usr/local/include/openssl/macros.h:193:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0' # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0) ``` It's a strange error because we have already configured the `--with-ssl` option to specify the OpenSSL directory. I tried adding `-I/path/to/my/openssl` to the `CFLAGS` env variable but it didn't work. ### Modifications To resolve the 1st issue, specifying `OPENSSL_ROOT_DIR` to the `DEPS_PREFIX` path when building the C++ client. To resolve the 2nd issue, since I cannot find an elegant way to do that, I just copied the OpenSSL headers from the dependency header directory to the libcurl include directory.
Configuration menu - View commit details
-
Copy full SHA for 0de92b0 - Browse repository at this point
Copy the full SHA 0de92b0View commit details -
Upgrade the C++ client to 3.3.0 (#146)
### Modifications Upgrade the C++ client to 3.3.0 and deprecate the `log_conf_file_path` config due to apache/pulsar-client-cpp#283. There is another issue that after apache/pulsar-client-cpp#290, the CMakeLists.txt from the C++ client finds the protobuf package with config mode. To fix it, install the OpenSSL via CMake instead of the autotools.
Configuration menu - View commit details
-
Copy full SHA for ac4fcf0 - Browse repository at this point
Copy the full SHA ac4fcf0View commit details
Commits on Aug 13, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 19df7c3 - Browse repository at this point
Copy the full SHA 19df7c3View commit details
Commits on Aug 15, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0693c2d - Browse repository at this point
Copy the full SHA 0693c2dView commit details -
feat: Support dead letter topic. (#135)
* feat: Support dead letter topic. * Fix non space * Let maxRedeliverCount param required.
Configuration menu - View commit details
-
Copy full SHA for c50ada7 - Browse repository at this point
Copy the full SHA c50ada7View commit details
Commits on Aug 17, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f445ceb - Browse repository at this point
Copy the full SHA f445cebView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff ba99cd5...f445ceb