Close this vote by 3 binding +1s:
* Penghui
* Matteo
* Bo

and 1 non-binding +1:
* Zike

Thanks,
Yunze

On Mon, Mar 13, 2023 at 11:14 AM Zike Yang <z...@apache.org> wrote:
>
> > It's not a regression. This error applies for Python client 3.0.0 as
> > well. Before 3.0.0, the Python client cannot be interrupted by a
> > signal.I'd rather treat it as the case that the implementation of
> > handling the UNIX signals is not so perfect.I'd rather treat it as the case 
> > that the implementation of
> > handling the UNIX signals is not so perfect.
>
> Make sense to me.
>
> Thanks,
> Zike Yang
>
> On Sat, Mar 11, 2023 at 2:38 PM 丛搏 <bog...@apache.org> wrote:
> >
> > +1 (binding)
> >
> > python version: 3.7.6
> > - Checked the signature
> > - Install the python .whl file
> > (pulsar_client-3.1.0-cp37-cp37m-macosx_10_15_universal2.whl) on macOS
> > 12.3.1
> > - Start the standalone (2.11.0)
> > - Start consumer (python3 ./examples/consumer.py)
> > - Start producer (python3 ./examples/producer.py)
> > - ./tests/run-unit-tests.sh without interrupted_test.py
> > (apachepulsar/pulsar:2.11.0)
> >
> > Thanks,
> > Bo
> >
> > Matteo Merli <matteo.me...@gmail.com> 于2023年3月11日周六 00:15写道:
> > >
> > > +1 (binding)
> > > --
> > > Matteo Merli
> > > <matteo.me...@gmail.com>
> > >
> > >
> > > On Fri, Mar 10, 2023 at 7:44 AM Yunze Xu <y...@streamnative.io.invalid>
> > > wrote:
> > >
> > > > Hi Zike,
> > > >
> > > > It's not a regression. This error applies for Python client 3.0.0 as
> > > > well. Before 3.0.0, the Python client cannot be interrupted by a
> > > > signal. I'd rather treat it as the case that the implementation of
> > > > handling the UNIX signals is not so perfect. Here is the issue:
> > > > https://github.com/apache/pulsar-client-python/issues/103
> > > >
> > > > Thanks,
> > > > Yunze
> > > >
> > > > 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