+1(binding) - Install the wheel on macOS (python 3.9) - Start a standalone - Run the consumer and producer example
Thanks, Penghui On Fri, Mar 10, 2023 at 4:25 PM Zike Yang <z...@apache.org> wrote: > Hi, Yunze > > > However, with the latest example, the output should be the following > > logs if you pressed the Ctrl+C: > > Thanks for your explanation. It works fine for me now. > > > I think it should not be a blocker, we can open an issue for that. The > > official example uses a try-except block to avoid this issue. > > Will you highlight this in the release note? It seems it has changed > the default behavior. It's better to provide the user with good > practice for this. > > Thanks, > Zike Yang > > On Thu, Mar 9, 2023 at 10:10 PM Yunze Xu <y...@streamnative.io.invalid> > wrote: > > > > The reason is caused by the `client.close()` not being called. You > > should make sure `client.close()` is called when receiving a SIGINT > > signal. > > > > ``` > > #8 0x00007f194f6aca99 in pulsar::ConsumerImpl::shutdown() [clone .cold] > () > > from > /usr/local/lib/python3.7/site-packages/pulsar_client.libs/libpulsar-c7b16888.so > > #9 0x00007f194f79dd74 in pulsar::ConsumerImpl::~ConsumerImpl() () > > from > /usr/local/lib/python3.7/site-packages/pulsar_client.libs/libpulsar-c7b16888.so > > #10 0x00007f195006a71b in > > > pybind11::class_<pulsar::Consumer>::dealloc(pybind11::detail::value_and_holder&) > > () > > from /usr/local/lib/python3.7/site-packages/_ > pulsar.cpython-37m-x86_64-linux-gnu.so > > #11 0x00007f1950039f8e in pybind11::detail::clear_instance(_object*) () > > from /usr/local/lib/python3.7/site-packages/_ > pulsar.cpython-37m-x86_64-linux-gnu.so > > #12 0x00007f195003ac5f in pybind11_object_dealloc () > > from /usr/local/lib/python3.7/site-packages/_ > pulsar.cpython-37m-x86_64-linux-gnu.so > > #13 0x00007f1950a47927 in dict_dealloc (mp=0x7f194f302320) at > > Objects/dictobject.c:1905 > > #14 0x00007f1950acc284 in subtype_clear (self=<Consumer at remote > > 0x7f1950273cd0>) at Objects/typeobject.c:1123 > > #15 0x00007f1950aa793d in delete_garbage (old=0x7f1950c4a000 > > <_PyRuntime+448>, collectable=0x7fff65e5b2a0) > > at Modules/gcmodule.c:761 > > #16 collect (generation=2, n_collected=0x0, n_uncollectable=0x0, > > nofail=1) at Modules/gcmodule.c:913 > > #17 0x00007f1950af92a2 in _PyGC_CollectNoFail () at > Modules/gcmodule.c:1602 > > #18 0x00007f1950aec340 in PyImport_Cleanup () at Python/import.c:526 > > #19 0x00007f1950aee5a8 in Py_FinalizeEx () at Python/pylifecycle.c:1199 > > #20 0x00007f1950af6b48 in pymain_main (pymain=0x7fff65e5b510) at > > Modules/main.c:3127 > > #21 0x00007f1950af6a1e in _Py_UnixMain (argc=<optimized out>, > > argv=<optimized out>) at Modules/main.c:3160 > > #22 0x00007f1950768d0a in __libc_start_main (main=0x55e11cf1b050 > > <main>, argc=2, argv=0x7fff65e5b668, > > --Type <RET> for more, q to quit, c to continue without paging-- > > t>, fini=<optimized out>, rtld_fini=<optimized out>, > > stack_end=0x7fff65e5b658) at ../csu/libc-start.c:308 > > #23 0x000055e11cf1b08a in _start () > > ``` > > > > I think it should not be a blocker, we can open an issue for that. The > > official example uses a try-except block to avoid this issue. > > > > Thanks, > > Yunze > > > > On Thu, Mar 9, 2023 at 9:48 PM Yunze Xu <y...@streamnative.io> wrote: > > > > > > Hi Zike, > > > > > > Did you run the latest example? I still see the exceptional info: > > > > > > ``` > > > line 1243, in receive > > > msg = self._consumer.receive() > > > _pulsar.Interrupted: Pulsar error: ResultInterrupted > > > ``` > > > > > > However, with the latest example, the output should be the following > > > logs if you pressed the Ctrl+C: > > > > > > ``` > > > ^CStop receiving messages > > > ``` > > > > > > Because the exception from `consumer.receive()` is caught. > > > > > > ```python3 > > > try: > > > msg = consumer.receive() > > > # ... > > > except pulsar.Interrupted: > > > print("Stop receiving messages") > > > break > > > ``` > > > > > > Thanks, > > > Yunze > > > > > > On Thu, Mar 9, 2023 at 3:02 PM Zike Yang <z...@apache.org> wrote: > > > > > > > > Hi Yunze > > > > > > > > The crash issue still exists in python 3.7. Here is the log > > > > ``` > > > > ^CTraceback (most recent call last): > > > > File > "/Users/aaronrobert/codebase/pulsar-client-python/examples/consumer.py", > > > > line 32, in <module> > > > > msg = consumer.receive() > > > > File > "/Users/aaronrobert/.pyenv/versions/3.7.16/lib/python3.7/site-packages/pulsar/__init__.py", > > > > line 1243, in receive > > > > msg = self._consumer.receive() > > > > _pulsar.Interrupted: Pulsar error: ResultInterrupted > > > > 2023-03-09 12:18:14.326 WARN [0x110900600] ConsumerImpl:126 | > > > > [persistent://public/default/my-topic, my-subscription, 0] Destroyed > > > > consumer which was not properly closed > > > > 2023-03-09 12:18:14.326 INFO [0x110900600] ConsumerImpl:134 | > > > > [persistent://public/default/my-topic, my-subscription, 0] Closed > > > > consumer for race condition: 0 > > > > libc++abi: terminating with uncaught exception of type > > > > std::__1::bad_weak_ptr: bad_weak_ptr > > > > [1] 52874 abort python37 > > > > ~/codebase/pulsar-client-python/examples/consumer.py > > > > ``` > > > > > > > > This issue also exists in python 3.10.8. But it worked fine when I > > > > upgraded it to the latest version of python 3.10: 3.10.10. > > > > However, python 3.7.16, which is the latest version of python 3.7 > > > > still not working. > > > > > > > > Not sure if it's a python issue, but only some python versions have > > > > fixed it. Could you take a look again? > > > > > > > > Thanks, > > > > Zike Yang > > > > > > > > On Wed, Mar 8, 2023 at 5:51 PM Yunze Xu <y...@streamnative.io.invalid> > wrote: > > > > > > > > > > This is the 4th release candidate for Apache Pulsar Client Python, > > > > > version 3.1.0. > > > > > > > > > > It fixes the following issues: > > > > > > https://github.com/apache/pulsar-client-python/milestone/2?closed=1 > > > > > > > > > > *** Please download, test and vote on this release. This vote will > > > > > stay open for at least 72 hours *** > > > > > > > > > > Python wheels: > > > > > > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-python-3.1.0-candidate-4/ > > > > > > > > > > The supported python versions are 3.7, 3.8, 3.9, 3.10 and 3.11. The > > > > > supported platforms and architectures are: > > > > > - Windows x86_64 (windows/) > > > > > - glibc-based Linux x86_64 (linux-glibc-x86_64/) > > > > > - glibc-based Linux arm64 (linux-glibc-arm64/) > > > > > - musl-based Linux x86_64 (linux-musl-x86_64/) > > > > > - musl-based Linux arm64 (linux-musl-arm64/) > > > > > - macOS universal 2 (macos/) > > > > > > > > > > You can download the wheel (the `.whl` file) according to your own > OS > > > > > and Python version > > > > > and install the wheel: > > > > > - Windows: `py -m pip install *.whl --force-reinstall` > > > > > - Linux or macOS: `python3 -m pip install *.whl --force-reinstall` > > > > > > > > > > The tag to be voted upon: v3.1.0-candidate-4 > > > > > (b883f42aa4287d46423b85f7af77f604cacf2a7e) > > > > > > https://github.com/apache/pulsar-client-python/releases/tag/v3.1.0-candidate-4 > > > > > > > > > > Pulsar's KEYS file containing PGP keys you use to sign the release: > > > > > https://downloads.apache.org/pulsar/KEYS > > > > > > > > > > Please download the Python wheels and follow the README to test. >