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

Reply via email to