[VOTE] Pulsar Client Go Release 0.13.0 Candidate 2

2024-07-15 Thread Zike Yang
Hi everyone,
Please review and vote on the release candidate #2 for the version
0.13.0, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

This is the second release candidate for Apache Pulsar Go client,
version 0.13.0.

It fixes the following issues:
https://github.com/apache/pulsar-client-go/milestone/15?closed=1

Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
https://downloads.apache.org/pulsar/KEYS

Please download these packages and review this release candidate:
- Review release notes: https://github.com/apache/pulsar-client-go/pull/1245
- Download the source package (verify shasum, and asc) and follow the
README.md to build and run the pulsar-client-go.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

Source file:
https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.13.0-candidate-2/

The tag to be voted upon:
v0.13.0-candidate-2
https://github.com/apache/pulsar-client-go/tree/v0.13.0-candidate-2

SHA-512 checksums:
9a52fb25cbb6d86651a0d56c1d6e17826810b91f3ba6299f632630f5b5a1d85c6a0842e36aaa2da6fc50d4e9406fe6d7b557368f9d99d876345c987f51d554fb
 apache-pulsar-client-go-0.13.0-src.tar.gz


[VOTE] Pulsar Client Go Release 0.13.0 Candidate 1

2024-07-11 Thread Zike Yang
Hi everyone,
Please review and vote on the release candidate #1 for the version
0.13.0, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

This is the first release candidate for Apache Pulsar Go client, version 0.13.0.

It fixes the following issues:
https://github.com/apache/pulsar-client-go/milestone/15?closed=1

Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
https://downloads.apache.org/pulsar/KEYS

Please download these packages and review this release candidate:
- Review release notes: https://github.com/apache/pulsar-client-go/pull/1245
- Download the source package (verify shasum, and asc) and follow the
README.md to build and run the pulsar-client-go.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

Source file:
https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.13.0-candidate-1/

The tag to be voted upon:
v0.13.0-candidate-1
https://github.com/apache/pulsar-client-go/tree/v0.13.0-candidate-1

SHA-512 checksums:
05cf45eea4e2543763f4de281530df6377dbfd014ea57d043d944cdb09ea84ffbbbdda7ce86ce892f9ae0f88174179684d94fde29a91ca2d286c3c6c3e248545
 apache-pulsar-client-go-0.13.0-src.tar.gz


Re: [VOTE] Pulsar Node.js Client Release 1.11.1 Candidate 2

2024-07-07 Thread Zike Yang
+1 (binding)

- Verified checksum and signature
- Built from source on macOS arm64 and run the example
- Installed from the npm registry using Node 16,18,20 on Ubuntu 22.04
amd64 and macOS arm64
- Ran the end-to-end example successfully

Thanks,
Zike Yang

On Mon, Jul 8, 2024 at 9:19 AM Baodi Shi  wrote:
>
> +1(binding)
>
> - Verified checksum and signatures
> - Built from source and ran examples on macOS with Node.js v20.4.0
> - Verify batch_receive API on ubuntu 22.04
>
> Thanks,
> Baodi Shi
>
> Yunze Xu  于2024年7月5日周五 15:43写道:
> >
> > +1 (binding)
> >
> > - Verified checksum and signatures
> > - Built from source and ran examples on macOS with Node.js v20.4.0
> > - Install the npm and ran examples on Rocky Linux 8 with Node.js v16.6.0
> >
> > Thanks,
> > Yunze
> >
> > On Wed, Jul 3, 2024 at 10:01 AM Baodi Shi  wrote:
> > >
> > > Hi everyone,
> > >
> > > This is the second release candidate for Apache Pulsar Node.js client,
> > > version 1.11.1.
> > > (Candidate 1 build failed, so skip voting for it.)
> > >
> > > It fixes the following issues:
> > > - 
> > > https://github.com/apache/pulsar-client-node/compare/v1.11.0...v1.11.1-rc.2
> > >
> > > Please download the source files and review this release candidate:
> > > - Download the source package, verify shasum and asc
> > > - Follow the README.md to build and run the Pulsar Node.js client.
> > >
> > > The release candidate package has been published to the npm registry:
> > > https://www.npmjs.com/package/pulsar-client/v/1.11.1-rc.2
> > >
> > > You can install it and verify the package:
> > > "npm i pulsar-client@1.11.1-rc.2
> > > --pulsar_binary_host_mirror=https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-node/;
> > >
> > >
> > > The vote will be open for at least 72 hours. It is adopted by majority
> > > approval, with at least 3 PMC affirmative votes.
> > >
> > > Source files:
> > > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-node/pulsar-client-node-1.11.1-rc.2/
> > >
> > > Pulsar's KEYS file containing PGP keys we use to sign the release:
> > > https://downloads.apache.org/pulsar/KEYS
> > >
> > > SHA-512 checksum:
> > > 2c6a73502cb96e7e9bae958dac14ec98eed9131e3ec9796c07e4095f269f6c33df0fef32aa2bea810f321a708e5184c7526e6bbf803a2f954823ad55612623d2
> > >  ./apache-pulsar-client-node-1.11.1.tar.gz
> > >
> > >
> > > The tag to be voted upon:
> > > v1.11.1-rc.2
> > > https://github.com/apache/pulsar-client-node/releases/tag/v1.11.1-rc.2
> > >
> > > Please review and vote on the release candidate #1 for the version
> > > 1.11.1, as follows:
> > > [ ] +1, Approve the release
> > > [ ] -1, Do not approve the release (please provide specific comments)
> > >
> > > Thanks,
> > > Baodi Shi


Re: [DISCUSS] Release Pulsar Go Client 0.13.0

2024-06-27 Thread Zike Yang
> But why do I find that some PRs have already been released in version v0.12.1?

Yes. This change
list(https://github.com/apache/pulsar-client-go/compare/v0.12.1...master)
is inconsistent. Some PRs have already been released.

I have updated the milestone for version 0.13.0. And this should be
the change list for the 0.13.0:
https://github.com/apache/pulsar-client-go/milestone/15?closed=1

Thanks,
Zike Yang
On Wed, Jun 26, 2024 at 2:21 PM Jie crossover  wrote:
>
> +1
>
> But why do I find that some PRs have already been released in version
> v0.12.1?
> https://github.com/apache/pulsar-client-go/pull/1156
> --
> Best Regards!
> crossoverJie
>
>
> Zike Yang  于2024年6月26日周三 10:16写道:
>
> > Hi everyone,
> >
> > I would like to propose releasing the Pulsar Go Client 0.13.0.
> >
> > It has been several months since the last release. And there are
> > several new features and bug fixes in the master branch[0]. It's time
> > to release a new version.
> >
> > Please let me know if you have any PRs that need to be included in 0.13.0.
> >
> > [0] https://github.com/apache/pulsar-client-go/compare/v0.12.1...master
> >
> > Thanks,
> > Zike Yang
> >


[DISCUSS] Release Pulsar Go Client 0.13.0

2024-06-25 Thread Zike Yang
Hi everyone,

I would like to propose releasing the Pulsar Go Client 0.13.0.

It has been several months since the last release. And there are
several new features and bug fixes in the master branch[0]. It's time
to release a new version.

Please let me know if you have any PRs that need to be included in 0.13.0.

[0] https://github.com/apache/pulsar-client-go/compare/v0.12.1...master

Thanks,
Zike Yang


[ANNOUNCE] New Committer: Jie Chen

2024-06-24 Thread Zike Yang
The Project Management Committee (PMC) for Apache Pulsar
has invited Jie Chen(https://github.com/crossoverJie) to become a
committer and we are pleased
to announce that they have accepted.

Welcome and Congratulations, Jie Chen!

Please join us in congratulating and welcoming Jie Chen onboard!

Best Regards,
Zike Yang
on behalf of the Pulsar PMC


Re: [VOTE] Release Apache Pulsar 3.3.0 based on 3.3.0-candidate-4

2024-06-04 Thread Zike Yang
+1 (binding)

- Verified signature and checksums
- Built from source
- Ran pulsar standalone
- Verified the docker image with the Go client
(https://github.com/RobertIndie/pulsar-client-go/pull/1)

BR,
Zike Yang

On Wed, Jun 5, 2024 at 10:08 AM Yunze Xu  wrote:
>
> +1 (binding)
>
> - Verified signature and checksums
> - Verified the docker image with the C++ client
> (https://github.com/BewareMyPower/pulsar-client-cpp/pull/31)
> - Built from source with JDK 17 on macOS
> - Verified standalone with produce and consume
>
> Thanks,
> Yunze
>
> On Wed, Jun 5, 2024 at 4:28 AM Andrey Yegorov  wrote:
> >
> > +1 (non-binding)
> >
> > * built from the tag
> > * built from archived sources (jdk 17, mac)
> > * tested pulsar standalone (jdk 17, mac)
> > * checked console consumer and producer
> > * checked pulsar-admin
> >  * spot-checked staging maven repo
> >
> > On Mon, Jun 3, 2024 at 3:52 AM Cong Zhao  wrote:
> >
> > > Hello Apache Pulsar Community,
> > >
> > > This is a call for the vote to release the Apache Pulsar version 3.3.0
> > > based on 3.3.0-candidate-4.
> > >
> > > Included changes since the previous release:
> > > https://github.com/apache/pulsar/milestone/38?closed=1
> > >
> > > *** Please download, test and vote on this release. This vote will stay
> > > open
> > > for at least 72 hours ***
> > >
> > > Only votes from PMC members are binding, but members of the community are
> > > encouraged to test the release and vote with "(non-binding)".
> > >
> > > Note that we are voting upon the source (tag), binaries are provided for
> > > convenience.
> > >
> > > The release candidate is available at:
> > > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-3.3.0-candidate-4/
> > >
> > > SHA-512 checksums:
> > >
> > > a19f80caa7dcc92d6df235af9f71e90d9ab52739e2d7d1ddc59944ed11be8f5f6a083db4792cafd87802d68ef9edce88e1ed91ee43cac2a98c3782b8925f07f6
> > >
> > > 03692f2b6d574ce523418850d47391b9aa9f71a2bde0b593d6e1eaaf34eb6ebe080e598231d6faf2902a9f071192c0a6982403095a9374d4357b7bebb18e5e93
> > >
> > > Maven staging repo:
> > > https://repository.apache.org/content/repositories/orgapachepulsar-1300
> > >
> > > The tag to be voted upon:
> > > v3.3.0-candidate-4 (commit c0aab493aafa5386dbf93c0b58a66a666aeba17a)
> > > https://github.com/apache/pulsar/releases/tag/v3.3.0-candidate-4
> > >
> > > Pulsar's KEYS file containing PGP keys you use to sign the release:
> > > https://downloads.apache.org/pulsar/KEYS
> > >
> > > Docker images:
> > > docker pull czcoder/pulsar3.3.0-c0aab49
> > >
> > > https://hub.docker.com/layers/czcoder/pulsar/3.3.0-c0aab49/images/sha256-996c6babec1f887cf2f43cac0692e06f879364fe87372fcb6c8b9d3ac779c7d6?context=explore
> > > docker pull czcoder/pulsar-all:3.3.0-c0aab49
> > >
> > > https://hub.docker.com/layers/czcoder/pulsar-all/3.3.0-c0aab49/images/sha256-dd781dfcc72dfb3db6c0053c656dfdb750c8d36e4c57f4bbad87aee4a9cdce28?context=explore
> > >
> > > Please download the source package, and follow the README to build
> > > and run the Pulsar standalone service.
> > >
> > > More advanced release validation instructions can be found at
> > > https://pulsar.apache.org/contribute/validate-release-candidate/
> > >
> > > Thanks,
> > > Cong Zhao
> > >


Re: [VOTE] PIP-356: Support Geo-Replication starts at earliest position

2024-05-30 Thread Zike Yang
+1 (binding)

Thanks,
Zike Yang

On Thu, May 30, 2024 at 3:29 PM Yubiao Feng
 wrote:
>
> Hi, all
>
> I would like to start the voting thread for PIP-356: Support
> Geo-Replication at the earliest position.
>
> https://github.com/apache/pulsar/pull/22806
>
> Thanks
> Yubiao Feng


Re: [DISCUSS] Report an error when seeking a multi-topics consumer that subscribes no topics

2024-05-30 Thread Zike Yang
I think the key point is whether we should consider a regex consumer
without any subscribed topics as a valid consumer.

> For example, when users create a regex consumer that subscribes to
topics ("tp0", "tp1", ..., "tpN") and seek to the earliest, they might
expect to consume messages from these topics. However, if they used a
wrong regex like "tp*" (it should be "tp.*), then they might find no
messages are available even if they're sure there is at least one
non-empty topic whose name starts at "tp" from the topic stats.

Actually, for this example, if we treat a consumer without any
subscribed topics as an invalid consumer, we should throw an expcetion
when the regex consumer first subscribes, instead of waiting until the
seek to inform the user that there are no topics. Currently, however,
no exception is thrown when a regex consumer subscribes without any
topics.

I prefer not to break the current behavior as it's probably not a bug.
Alternatively, we could introduce a new option for users who do not
want to seek on the consumer without any topics.

BR,
Zike Yang

On Thu, May 30, 2024 at 1:10 AM Yunze Xu  wrote:
>
> For example, when users create a regex consumer that subscribes to
> topics ("tp0", "tp1", ..., "tpN") and seek to the earliest, they might
> expect to consume messages from these topics. However, if they used a
> wrong regex like "tp*" (it should be "tp.*), then they might find no
> messages are available even if they're sure there is at least one
> non-empty topic whose name starts at "tp" from the topic stats.
>
> Thanks,
> Yunze
>
> On Wed, May 29, 2024 at 7:32 PM Enrico Olivelli  wrote:
> >
> > Il giorno mer 29 mag 2024 alle ore 11:10 Baodi Shi  ha
> > scritto:
> >
> > > +1
> > >
> > >
> > > Thanks,
> > > Baodi Shi
> > >
> > >
> > > On May 29, 2024 at 14:50:12, Yunze Xu  wrote:
> > >
> > > > Hi community,
> > > >
> > > > Recently I found the behavior of seeking a multi-topics consumer is
> > > > intuitive. If there are no internal consumers, the `seek` call will
> > > > just succeed silently.
> > >
> >
> >
> > > >
> > > > If a consumer subscribes with a regex and no topics are found, users
> > > > might think the seek operation succeeds while no topics are sought.
> > > >
> > > > I suggest throwing an exception in this case to notify users that the
> > > > consumer to seek is a multi-topics consumer that contains no topics.
> > > > It's a breaking change so I'd like to hear more voices in the mail
> > >
> >
> > What happens if it subscribed to a regex which "currently" doesn't not
> > match any topics ?
> > Maybe this is intentional in the application design as maybe you have
> > dynamic topics
> >
> > Giving an error or failing silently doesn't fix the problem.
> > If the application is sure that you must have at least N topics then we
> > should make this configurable somewhere.
> > The difference between "zero topics" or "one topic" is very small, if your
> > application expects to subscribe to 100 topics.
> >
> >
> > Enrico
> >
> >
> >
> > > > list.
> > > >
> > > > For now, I report an error for the C++ client [1], which might also
> > > > affect the Python and Node.js clients. But the behavior of the Java
> > > > client does not change.
> > > >
> > > > [1] https://github.com/apache/pulsar-client-cpp/pull/426
> > > >
> > > > Thanks,
> > > > Yunze
> > > >
> > >


Re: [VOTE] Release Apache Pulsar 3.3.0 based on 3.3.0-candidate-3

2024-05-28 Thread Zike Yang
+1 (binding)

- Build from source
- Checked the signatures
- Run standalone
- Run pulsar-client-go tests with image: czcoder/pulsar:3.3.0-0771f81
https://github.com/RobertIndie/pulsar-client-go/pull/1

BR,
Zike Yang

On Wed, May 29, 2024 at 9:25 AM PengHui Li  wrote:
>
> +1 (binding)
>
> - Build from source
> - Checked the signatures
> - Run standalone
> - Verified the Cassandra connector
> - Verified the Stateful function
> - Run pulsar-perf with 100 topics and batch disabled
>
> Regards,
> Penghui
>
> On Wed, May 29, 2024 at 8:32 AM PengHui Li  wrote:
>
> > Sorry for the confusion.
> > After checking more details, the fix makes more sense. For more cases,
> > user think it's a bug if you can grant permission to a non-existent topic.
> > I will verify this release today.
> >
> > Thanks,
> > Penghui
> >
> > On Tue, May 28, 2024 at 4:33 PM PengHui Li  wrote:
> >
> >> Hi Cong,
> >>
> >> Thanks for driving the release.
> >> This PR https://github.com/apache/pulsar/pull/22547 has changed the
> >> behavior of
> >> permission operations on a topic.
> >>
> >> The issue is it will break the user's case which relies on the lazy
> >> auto-creation of the topic.
> >> They can grant permission to the topic but the topic will only be created
> >> if the producer or consumer is connected
> >> The namespace level permission may not work because some topics need to
> >> be closed down further.
> >>
> >> I would like to revert this change first, and then we can find a good
> >> solution in the next release
> >>
> >> Regards,
> >> Penghui
> >>
> >> On Mon, May 27, 2024 at 11:33 AM Cong Zhao  wrote:
> >>
> >>> Thanks Yong,
> >>>
> >>> Yes, we can continue to release 3.3 and fix this issue in later versions.
> >>>
> >>> On 2024/05/27 03:10:18 Yong Zhang wrote:
> >>> > If the snappy in zookeeper is not used very commonly, this might not
> >>> be a
> >>> > blocker for this release.
> >>> >
> >>> > So I would be -0.
> >>> >
> >>> > Thanks,
> >>> > Yong
> >>> > On Fri, 24 May 2024 at 15:17, Yong Zhang 
> >>> wrote:
> >>> >
> >>> > > -1
> >>> > >
> >>> > > There is an issue with the snappy usage in the amd64-based image.
> >>> > >
> >>> > > It will get the error
> >>> > >
> >>> > > java.lang.UnsatisfiedLinkError: /tmp/
> >>> > > snappy-1.1.10-b0757287-8557-44b9-9499-afca52f102ec-libsnappyjava.so:
> >>> > > Error relocating /lib/ld-linux-x86-64.so.2: unsupported relocation
> >>> type 37.
> >>> > >
> >>> > > Reproduce steps:
> >>> > > 1. docker run -it -u root --platform=linux/amd64
> >>> > > czcoder/pulsar:3.3.0-0771f81 bash
> >>> > > 2. export
> >>> > > PULSAR_EXTRA_OPTS="-Dzookeeper.snapshot.compression.method=snappy"
> >>> > > 3. export PULSAR_STANDALONE_USE_ZOOKEEPER=true
> >>> > > 4. bin/pulsar standalone -nss -nfw
> >>> > >
> >>> > > Then you will get the error. More information:
> >>> > > https://github.com/sgerrand/alpine-pkg-glibc/issues/194
> >>> > >
> >>> > > we need to resolve it before publishing the new release.
> >>> > >
> >>> > > Yong
> >>> > >
> >>> > > On Fri, 24 May 2024 at 13:00, guo jiwei 
> >>> wrote:
> >>> > >
> >>> > >> +1 (binding)
> >>> > >>
> >>> > >> - Built from source
> >>> > >> - Checked the signatures
> >>> > >> - Run standalone
> >>> > >> - Checked producer and consumer
> >>> > >> - Verified the Cassandra connector
> >>> > >> - Verified the Stateful function
> >>> > >>
> >>> > >>
> >>> > >> Regards
> >>> > >> Jiwei Guo (Tboy)
> >>> > >>
> >>> > >>
> >>> > >> On Fri, May 24, 2024 at 10:28 AM Cong Zhao 
> >>> wrote:
> >>> > >>
> >>> > >> > Hello Apache Pulsar Community,
> >>> > >> &g

Re: [VOTE] PIP-353: Improve transaction message visibility for peek-messages

2024-05-22 Thread Zike Yang
+1 (binding)

BR,
Zike Yang

On Wed, May 22, 2024 at 9:55 PM Baodi Shi  wrote:
>
> Hi, all
>
> I would like to start the voting thread for PIP-353.
> https://github.com/apache/pulsar/pull/22746
>
> The implementation PR is:
> https://github.com/apache/pulsar/pull/22762
>
> Discuss thread:
> https://lists.apache.org/thread/dc7f64jtvg987ydztxpffqx88bp44lwv
>
> Thanks,
> Baodi Shi


Re: [DISCUSS] PIP-353: Improve transaction message visibility for peek-messages

2024-05-21 Thread Zike Yang
LGTM. +1

BR,
Zike Yang

On Tue, May 21, 2024 at 10:21 PM 太上玄元道君  wrote:
>
> +1
>
> Baodi Shi 于2024年5月20日 周一18:48写道:
>
> > Hi all, I push a pip to improve transaction message visibility for the
> > peek-messages command.
> >
> > https://github.com/apache/pulsar/pull/22746
> >
> > Please feel free to leave your ideas.
> >
> >
> > Thanks,
> > Baodi Shi
> >


Re: [VOTE] PIP-347: add role field in consumer's stat

2024-05-14 Thread Zike Yang
+1 (binding)

BR,
Zike Yang

On Tue, May 14, 2024 at 6:56 PM Zixuan Liu  wrote:
>
> +1 (non-binding)
>
> Thanks,
> Zixuan
>
> PengHui Li  于2024年5月14日周二 18:08写道:
>
> > +1 (binding)
> >
> > Regards,
> > Penghui
> >
> > On Tue, May 14, 2024 at 5:50 PM Enrico Olivelli 
> > wrote:
> >
> > > +1 (binding)
> > >
> > > Enrico
> > >
> > > Il giorno mar 14 mag 2024 alle ore 11:31 太上玄元道君  ha
> > > scritto:
> > >
> > > > +1 nonbinding
> > > >
> > > > Thanks,
> > > > Tao Jiuming
> > > >
> > > > thetumbled 于2024年5月14日 周二17:26写道:
> > > >
> > > > > Hi, Pulsar Community.
> > > > >   I would like to start the voting thread for PIP-347: add role field
> > > in
> > > > > consumer's stat.
> > > > >   Proposal PR: https://github.com/apache/pulsar/pull/22564
> > > > >   Implementation PR: https://github.com/apache/pulsar/pull/22562
> > > > >
> > > > > Thanks,
> > > > > Wenzhi Feng(thetumbled).
> > > >
> > >
> >


Re: [VOTE] PIP-350: Allow to disable the managedLedgerOffloadDeletionLagInMillis

2024-05-13 Thread Zike Yang
+1 (binding)

Thanks,
Zike Yang

On Mon, May 13, 2024 at 3:08 PM ZhangJian He  wrote:
>
> +1(nonbinding)
>
> Thanks
> ZhangJian He
> Twitter: shoothzj
> Wechat: shoothzj
>
>
> On Mon, May 13, 2024 at 2:35 PM Hang Chen  wrote:
>
> > +1 (binding)
> >
> > Thanks,
> > Hang
> >
> > 太上玄元道君  于2024年5月13日周一 11:30写道:
> > >
> > > +1 nonbinding
> > >
> > > Thanks,
> > > Tao Jiuming
> > >
> > > Yong Zhang  于2024年5月13日周一 10:57写道:
> > >
> > > > Hi,
> > > >
> > > > I would like to start voting thread for PIP-350.
> > > > https://github.com/apache/pulsar/pull/22688
> > > >
> > > > The implementation PR is:
> > > > https://github.com/apache/pulsar/pull/22689
> > > >
> > > > Discuss thread:
> > > > https://lists.apache.org/thread/7tlpkcm2933ddg95kgrb42943r4gq3v9
> > > >
> > > > Thanks,
> > > > Yong
> > > >
> >


Re: [VOTE] PIP-348: Trigger offload on topic load stage

2024-05-08 Thread Zike Yang
+1 (binding)

Thanks,
Zike Yang

On Wed, May 8, 2024 at 6:22 PM Yubiao Feng
 wrote:
>
> +1 (binding)
>
> Thanks
> Yubiao Feng
>
> On Tue, May 7, 2024 at 11:27 AM Hang Chen  wrote:
>
> > Hi guys,
> >  I want to start voting for PIP-348.
> >
> > PIP: https://github.com/apache/pulsar/pull/22650
> > PR: https://github.com/apache/pulsar/pull/22652
> >
> > DISCUSSION Thread:
> > https://lists.apache.org/thread/2ndomp8v4wkcykzthhlyjqfmswor88kv
> >
> > Thanks,
> > Hang
> >


Re: [VOTE] Pulsar Node.js Client Release 1.11.0 Candidate 4

2024-04-16 Thread Zike Yang
+1 (binding)

- Verified checksum and signature
- Built from source on macOS arm64 and run the example
- Installed from the npm registry using node 12,14,16,18,20 on ubuntu
- Installed from the npm registry on macos
- Ran the example

BR,
Zike Yang

On Tue, Apr 16, 2024 at 8:38 AM 津田秀介  wrote:
>
> +1 (non-binding)
>
> - verified checksums and signatures
> - confirmed that the build was successful
> - ran producer/consumer
>
> Thanks,
> Shusuke Tsuda
>
> -Original Message-
> From: "坂本雅宏"
> To: ;
> Cc:
> Sent: 2024/04/15(月) 17:25 (GMT+09:00)
> Subject: Re: [VOTE] Pulsar Node.js Client Release 1.11.0 Candidate 4
>
> +1 (binding)
>
> - verified checksums and signatures
> - confirmed that the build was successful
> - ran producer/consumer
>
> Regards,
>
>
> Masahiro Sakamoto
>
> LY Corporation
> Email massa...@lycorp.co.jp
>
>
>
> -Original Message-
> From: "Baodi Shi"
> To: ;
> Cc:
> Sent: 2024/04/13(土) 18:32 (GMT+09:00)
> Subject: Re: [VOTE] Pulsar Node.js Client Release 1.11.0 Candidate 4
>
> +1(binding)
>
> - Verified sign and checksum
> - Build from source on macOS arm64 (Node 18)
> - Install from npm registry on Windows x64 (Node 18)
> - Run ProducerSample and ConsumerSample on macOS (Node 18)
> - Installed from the npm registry on Ubuntu using Node v12, v13, v14 ~ v20
>
> Thanks,
> Baodi Shi
>
>
> On Apr 13, 2024 at 17:30:23, Baodi Shi  wrote:
>
> > Hi everyone,
> >
> > This is the first release candidate for Apache Pulsar Node.js client,
> > version 1.11.0.
> >
> > It fixes the following issues:
> > - https://github.com/apache/pulsar-client-node/milestone/16?closed=1
> > - Related cpp client issue:
> > https://github.com/apache/pulsar-client-cpp/compare/v3.4.2...v3.5.1
> >
> > Please download the source files and review this release candidate:
> > - Download the source package, verify shasum and asc
> > - Follow the README.md to build and run the Pulsar Node.js client.
> >
> > The release candidate package has been published to the npm registry:
> > https://www.npmjs.com/package/pulsar-client/v/1.11.0-rc.4
> > You can install it by `npm i pulsar-client@1.11.0-rc.4
> > --pulsar_binary_host_mirror=
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-node/` and
> > verify the package.
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PMC affirmative votes.
> >
> > Source files:
> >
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-node/pulsar-client-node-1.11.0-rc.4/
> >
> > Pulsar's KEYS file containing PGP keys we use to sign the release:
> > https://downloads.apache.org/pulsar/KEYS
> >
> > SHA-512 checksum:
> > 52cd6949e08d773ac11d315765278feb0165b65cabe654fb5d270acf17dffa77442ca4d42ad40b5ff7be92140a84ec98c1c94c616db84aff416641e43599bf5b
> > ./apache-pulsar-client-node-1.11.0.tar.gz
> >
> > The tag to be voted upon:
> > v1.11.0-rc.4
> > https://github.com/apache/pulsar-client-node/releases/tag/v1.11.0-rc.4
> >
> > Please review and vote on the release candidate #1 for the version 1.11.0,
> > as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> >
> > Thanks,
> > Baodi Shi
> >
>


Re: [VOTE] Pulsar Client Python Release 3.5.0 Candidate 3

2024-04-11 Thread Zike Yang
+1 (binding)

- Verified checksums and signatures
- Installed Python client using the wheel file on macOS using Python
3.9/3.10 and ran the examples
- Built from source on macOS and ran the example

BR,
Zike Yang

On Thu, Apr 11, 2024 at 6:40 PM Yunze Xu  wrote:
>
> +1 (binding)
>
> - Verified signatures and checksums
> - Built from source from source on macOS (with C++ client 3.5.1)
> - Verified e2e with OAuth2 authentication for the following wheels:
> - Verified e2e with 
> pulsar_client-3.5.0-cp312-cp312-macosx_10_15_universal2.whl
>
> Thanks,
> Yunze
>
> On Sun, Apr 7, 2024 at 11:16 PM guo jiwei  wrote:
> >
> > +1 (binding)
> >
> > - Checked the signature and checksums
> > - Install the pulsar_client-3.5.0-cp310-cp310-macosx_10_15_universal2.whl
> > - Run Pulsar standalone
> > - Run the Python examples producer and consumer
> >
> >
> > Regards
> > Jiwei Guo (Tboy)
> >
> >
> > On Tue, Apr 2, 2024 at 5:49 PM Yunze Xu  wrote:
> >
> > > This is the 3rd release candidate for Apache Pulsar Client Python,
> > > version 3.5.0.
> > >
> > > It fixes the following issues:
> > > https://github.com/apache/pulsar-client-python/milestone/6?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.5.0-candidate-3/
> > >
> > > The supported python versions are 3.8, 3.9, 3.10, 3.11 and 3.12. 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.5.0-candidate-3
> > > (38737a24f6ba77fe4efc5321980513ae317920e4)
> > >
> > > https://github.com/apache/pulsar-client-python/releases/tag/v3.5.0-candidate-3
> > >
> > > 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.
> > >


Re: [VOTE] Pulsar Node.js Client Release 1.11.0 Candidate 3

2024-04-11 Thread Zike Yang
- Verified checksum and signature
- Built from source on macOS arm64 and run the example
- Installed from the npm registry and run the example
- Installed from the npm registry on Ubuntu using Node v14, v16, v18
and run the example

Installed from the npm registry using node v10, v11, v12, v13 but if
failed with the following errors:
```
> pulsar-client@1.11.0-rc.3 install 
> /data/verify/node1-11/node_modules/pulsar-client
> node-pre-gyp install --fallback-to-build && node GenCertFile.js

[pulsar-client] Success:
"/data/verify/node1-11/node_modules/pulsar-client/lib/binding/pulsar.node"
is installed via remote
/data/verify/node1-11/node_modules/pulsar-client/src/Client.js:60
fs.rmSync(certsFilePath, { force: true });
   ^

TypeError: fs.rmSync is not a function
at Function.genCertFile
(/data/verify/node1-11/node_modules/pulsar-client/src/Client.js:60:8)
at Object.
(/data/verify/node1-11/node_modules/pulsar-client/GenCertFile.js:22:8)
at Module._compile (internal/modules/cjs/loader.js:1118:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1138:10)
at Module.load (internal/modules/cjs/loader.js:982:32)
at Function.Module._load (internal/modules/cjs/loader.js:875:14)
at Function.executeUserEntryPoint [as runMain]
(internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
npm WARN node1-11@1.0.0 No description
npm WARN node1-11@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! pulsar-client@1.11.0-rc.3 install: `node-pre-gyp install
--fallback-to-build && node GenCertFile.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the pulsar-client@1.11.0-rc.3 install script.
npm ERR! This is probably not a problem with npm. There is likely
additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/zike/.npm/_logs/2024-04-12T02_40_33_159Z-debug.log
```

However the README states that the client is compatible with Nodejs 10
or later: 
https://github.com/apache/pulsar-client-node/blob/e3bf582ea450e68379ff685598257ed6e69fb1aa/README.md?plain=1#L26
Perhaps we should update our version compatibility strategy in the
README.

BR,
Zike Yang

On Fri, Apr 12, 2024 at 8:13 AM Baodi Shi  wrote:
>
> +1(binding)
>
> - verified sign and checksum
> - Build from source and install from npm registry on macOS arm64
> - Install from npm registry on Windows x64
> - Run ProducerSample and ConsumerSample on macOS
>
>
> Thanks,
> Baodi Shi
>
>
> On Apr 11, 2024 at 18:43:51, Yunze Xu  wrote:
>
> > +1 (binding)
> >
> > - Verified signature and checksums
> > - Built from source on macOS
> > - Run e2e tests against a local standalone
> > - Run e2e tests with OAuth2 authentication against an online cluster
> >
> > Thanks,
> > Yunze
> >
> > On Tue, Apr 9, 2024 at 6:26 PM Baodi Shi  wrote:
> >
> >
> > Hi everyone,
> >
> >
> > This is the first release candidate for Apache Pulsar Node.js client,
> >
> > version 1.11.0.
> >
> >
> > It fixes the following issues:
> >
> > - https://github.com/apache/pulsar-client-node/milestone/16?closed=1
> >
> > - Related cpp client issue:
> >
> > https://github.com/apache/pulsar-client-cpp/compare/v3.4.2...v3.5.1
> >
> >
> > Please download the source files and review this release candidate:
> >
> > - Download the source package, verify shasum and asc
> >
> > - Follow the README.md to build and run the Pulsar Node.js client.
> >
> >
> > The release candidate package has been published to the npm registry:
> >
> > https://www.npmjs.com/package/pulsar-client/v/1.11.0-rc.3
> >
> > You can install it by `npm i pulsar-client@1.11.0-rc.3
> >
> > --pulsar_binary_host_mirror=
> >
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-node/` and
> >
> > verify the package.
> >
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> >
> > approval, with at least 3 PMC affirmative votes.
> >
> >
> > Source files:
> >
> >
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-node/pulsar-client-node-1.11.0-rc.3/
> >
> >
> > Pulsar's KEYS file containing PGP keys we use to sign the release:
> >
> > https://downloads.apache.org/pulsar/KEYS
> >
> >
> > SHA-512 checksum:
> >
> >
> > 74196c05f80a0c2569c1d19d7e21ea18babb5fe75fc5936c6eef47574ee7a9abc0f4a7e4db3b740de760d477cb2dfc51c9fd5b2dd343ee54389d78b1e24849e7
> >
> > ./apache-pulsar-client-node-1.11.0.tar.gz
> >
> >
> > The tag to be voted upon:
> >
> > v1.11.0-rc.3
> >
> > https://github.com/apache/pulsar-client-node/releases/tag/v1.11.0-rc.3
> >
> >
> > Please review and vote on the release candidate #1 for the version 1.11.0,
> >
> > as follows:
> >
> > [ ] +1, Approve the release
> >
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> >
> >
> > Thanks,
> >
> > Baodi Shi
> >
> >


Re: [DISCUSS] Plan for Pulsar Go Client 1.0.0

2024-04-02 Thread Zike Yang
> BTW, there is another issue that needs to be considered.
> https://github.com/apache/pulsar-client-go/issues/919

Thanks. Yes, we need to consider that.

BR,
Zike Yang

On Tue, Apr 2, 2024 at 10:50 AM Zixuan Liu  wrote:
>
> > We maintain two versions of the API, but they could share the same
> internal code.
>
> Thanks for your explanation! +1
>
>
> Jie crossover  于2024年4月1日周一 22:20写道:
>
> > Greet plan.
> > > We maintain two versions of the API, but they could share the same
> > > internal code. I don't think this will add much complexity.
> >
> > I agree with this.
> > BTW, there is another issue that needs to be considered.
> >
> > https://github.com/apache/pulsar-client-go/issues/919
> >
> >
> > --
> > Best Regards!
> > crossoverJie
> >
> >
> > Yunze Xu  于2024年4月1日周一 20:46写道:
> >
> > > > This would lead to inconsistency in API definitions, making them
> > > > appear disorganized.
> > >
> > > I agree. Using such suffixes is really ugly and much harder to
> > > maintain IMHO. It only makes people add APIs more casually. They might
> > > think, oh, don't worry, if this API (e.g. doSomething()) does not make
> > > sense in future, you can add another API with a suffix (e.g.
> > > doSomethingInAnotherWay()).
> > >
> > > Thanks,
> > > Yunze
> > >
> > > On Mon, Apr 1, 2024 at 8:05 PM Zike Yang  wrote:
> > > >
> > > > Thanks for all your comments. I address each one in line.
> > > >
> > > > > Regarding the `Close` method, I think it's exceptional. It's designed
> > > > to return no error so that users can call `defer client.Close()` [1].
> > > > To process errors in `Close()`, we can panic in the implementation and
> > > > let users use `recover` to catch the panic.
> > > >
> > > > My initial idea was to implement the `io.Closer` interface to allow
> > > > users to free up resources in a general way. After investigating this
> > > > discussion: https://github.com/golang/go/issues/40483, I think that
> > > > the close method for Pulsar resources should not return an error. The
> > > > client should ensure all resources are released when closed,
> > > > regardless of whether any error has occurred. So this makes sense to
> > > > me.
> > > >
> > > > >  I’d add one more item for consideration: using WithX() methods
> > > instead of
> > > > a strict for configurations:
> > > > https://github.com/apache/pulsar-client-go/issues/68
> > > >
> > > > Thanks for sharing this issue. It makes sense to me.
> > > >
> > > > > We can add a method with context, so like: CloseWithContext.
> > > > > We can still follow the above way, so like: CloseWithError.
> > > >
> > > > This would lead to inconsistency in API definitions, making them
> > > > appear disorganized. For instance, some methods accept a context but
> > > > don't end with "WithContext.". Same for the `WithError`. This also
> > > > adds complexity to the API, resulting in a poor user experience.
> > > > Moreover, we should actually deprecate the old APIs, which would make
> > > > names like CloseWithCtx and FlushWithCtx seem odd.
> > > >
> > > > > In the ConsumerOptions, we use the `internal` package, this is
> > > incorrect,
> > > > when you set the value for `BackoffPolicy`, you will see this error
> > `Use
> > > of
> > > > the internal package is not allowed`.
> > > > For internal package, please see
> > > https://go.dev/doc/go1.4#internalpackages
> > > >
> > > > Yes. This issue https://github.com/apache/pulsar-client-go/issues/1187
> > > > is actually tracking on it.
> > > >
> > > > > This will increase our maintenance times.
> > > >
> > > > We maintain two versions of the API, but they could share the same
> > > > internal code. I don't think this will add much complexity. On the
> > > > contrary, it would make our API maintenance clearer and easier. The
> > > > approach mentioned above, using WithContext and WithError, is actually
> > > > also increasing the maintenance workload.  I believe the complexity
> > > > and workload it brings is not less than maintaining two versions, v1
> > > > and v0, of our API.
> > > >
> > > > BR,
&

Re: [DISCUSS] Plan for Pulsar Go Client 1.0.0

2024-04-01 Thread Zike Yang
Thanks for all your comments. I address each one in line.

> Regarding the `Close` method, I think it's exceptional. It's designed
to return no error so that users can call `defer client.Close()` [1].
To process errors in `Close()`, we can panic in the implementation and
let users use `recover` to catch the panic.

My initial idea was to implement the `io.Closer` interface to allow
users to free up resources in a general way. After investigating this
discussion: https://github.com/golang/go/issues/40483, I think that
the close method for Pulsar resources should not return an error. The
client should ensure all resources are released when closed,
regardless of whether any error has occurred. So this makes sense to
me.

>  I’d add one more item for consideration: using WithX() methods instead of
a strict for configurations:
https://github.com/apache/pulsar-client-go/issues/68

Thanks for sharing this issue. It makes sense to me.

> We can add a method with context, so like: CloseWithContext.
> We can still follow the above way, so like: CloseWithError.

This would lead to inconsistency in API definitions, making them
appear disorganized. For instance, some methods accept a context but
don't end with "WithContext.". Same for the `WithError`. This also
adds complexity to the API, resulting in a poor user experience.
Moreover, we should actually deprecate the old APIs, which would make
names like CloseWithCtx and FlushWithCtx seem odd.

> In the ConsumerOptions, we use the `internal` package, this is incorrect,
when you set the value for `BackoffPolicy`, you will see this error `Use of
the internal package is not allowed`.
For internal package, please see https://go.dev/doc/go1.4#internalpackages

Yes. This issue https://github.com/apache/pulsar-client-go/issues/1187
is actually tracking on it.

> This will increase our maintenance times.

We maintain two versions of the API, but they could share the same
internal code. I don't think this will add much complexity. On the
contrary, it would make our API maintenance clearer and easier. The
approach mentioned above, using WithContext and WithError, is actually
also increasing the maintenance workload.  I believe the complexity
and workload it brings is not less than maintaining two versions, v1
and v0, of our API.

BR,
Zike Yang

On Sat, Mar 30, 2024 at 7:34 PM Zixuan Liu  wrote:
>
> I don't recommend breaking user APIs. There are many ways we can avoid it.
>
> > 1. We should support passing the context to some IO-related methods
> like `Ack`, `Close`, `Flush`, etc, or any other methods. There is an
> issue related to this discussion. [2]
>
> We can add a method with context, so like: CloseWithContext.
>
> > 2. Some methods need to return the error. Like `Reader.HasNext`,
> `Close`. This is to adhere to Golang's error-handling standards.
>
> We can still follow the above way, so like: CloseWithError.
>
> > 4. Some APIs need to be refined and require introducing breaking
> changes as they could affect user experience otherwise. For example,
> this [4] is an issue discussing the redesign of the Backoff Policy
> API.
>
> In the ConsumerOptions, we use the `internal` package, this is incorrect,
> when you set the value for `BackoffPolicy`, you will see this error `Use of
> the internal package is not allowed`.
> For internal package, please see https://go.dev/doc/go1.4#internalpackages
>
> For incorrect implementation, we can fix this.
>
> > We can provide a separate package path for v1.x API versions,
> maintaining v0.x and v1.x APIs separately.
>
> This will increase our maintenance times.
>
>
> Matteo Merli  于2024年3月30日周六 13:08写道:
>
> > The plan looks great.
> >
> >  I’d add one more item for consideration: using WithX() methods instead of
> > a strict for configurations:
> > https://github.com/apache/pulsar-client-go/issues/68
> >
> >
> > --
> > Matteo Merli
> > 
> >
> >
> > On Fri, Mar 29, 2024 at 5:38 AM Zike Yang  wrote:
> >
> > > Hi, everyone
> > >
> > > The Pulsar Go Client[0] is now relatively mature. I've also noticed
> > > that many people in the community have widely used it in their
> > > production environments. However, there's still no official 1.0
> > > version for the Go client. I would like to start a thread to discuss
> > > the plan for releasing Go client 1.0.0.
> > >
> > > According to "Go Module version numbering" [1], there are strict
> > > requirements for version management in Golang projects, which means we
> > > can't introduce any breaking changes within a major version. Before
> > > releasing version 1.0.0, we need to review our API and decide on the
> > > finalized API for Go client 

[DISCUSS] Plan for Pulsar Go Client 1.0.0

2024-03-29 Thread Zike Yang
Hi, everyone

The Pulsar Go Client[0] is now relatively mature. I've also noticed
that many people in the community have widely used it in their
production environments. However, there's still no official 1.0
version for the Go client. I would like to start a thread to discuss
the plan for releasing Go client 1.0.0.

According to "Go Module version numbering" [1], there are strict
requirements for version management in Golang projects, which means we
can't introduce any breaking changes within a major version. Before
releasing version 1.0.0, we need to review our API and decide on the
finalized API for Go client 1.0.0.

I've observed that the current design of the Go client's API still has
the following issues:

1. We should support passing the context to some IO-related methods
like `Ack`, `Close`, `Flush`, etc, or any other methods. There is an
issue related to this discussion. [2]
2. Some methods need to return the error. Like `Reader.HasNext`,
`Close`. This is to adhere to Golang's error-handling standards.
3. We should expose errors to users so that users can inspect the
types of errors returned. [3] is an issue to discuss about this.
4. Some APIs need to be refined and require introducing breaking
changes as they could affect user experience otherwise. For example,
this [4] is an issue discussing the redesign of the Backoff Policy
API.

Additionally, we need to continue standardizing the release process
and fixing known issues:
1. Refine the changelog formt [5]. We could try to utilize the tool
"go-changelog" [6] to generate the changelog automatically.
2. Refine the release process [7] to adhere the Golang Moduel version
standard. We need to clearly define the compatibility relationships
between different types of versions. Some processes may need to be
adjusted to comply with these version standards.

These API changes will inevitably introduce breaking changes. However,
we do not want the release of Go client 1.0.0 to cause troublesome
impacts on the upgrade process for all our existing users.
Inspired by the blog "The Principles of Versioning in Go" [8], I
believe we need to follow this principle in the process of releasing
1.0.0 and also for maintaining subsequent versions: We should strive
to avoid introducing breaking changes to the existing APIs and
behaviors. We aim to reduce the steps needed for users to upgrade to
the major version.

To achieve this, I would like to suggest the following basic solution:

We can provide a separate package path for v1.x API versions,
maintaining v0.x and v1.x APIs separately. At the same time, we will
deprecate all v0.x APIs. For future major versions like 2.x, 3.x, we
will follow this same approach according to Golang's standards. In
this way, when users upgrade to 1.0.0, they can gradually modify their
code to utilize the new version of API, while still being able to use
the features of the old API. We will remove the v0.x API in a later
version, perhaps in version 2.0.0.

The structure for the v1 package would look like this:
├── go.mod# Note: The v0 APIs and v1 APIs will shared the same go.mod
├── v1
│   └── pulsar
│   └── client.go
└── pulsar
 └── client.go

I did a small demo. You can check it here:
https://github.com/RobertIndie/test-go [9].

In this way, the user could still use `go get
github.com/apache/pulsar-client-go@v1.0.0` to upgrade to the v1.0.0
version. And use `import
"github.com/apache/pulsar-client-go/v1/pulsar"` to use the new V1 API.
And for the future major versions like v2.0.0. The users could use `go
get github.com/apache/pulsar-client-go/v2` to install the client and
use `import "github.com/apache/pulsar-client-go/v2/pulsar` to use the
V2 API.

While Golang's versioning standard allows us to introduce breaking
changes to the v0.x API, I favor preserving the current API.
Considering the resistance our users have towards upgrades, I am more
inclined to avoid breaking changes to the existing API. This approach
should reduce the impact of upgrades.

For our next steps, we could proceed as follows:
1. Discuss and finalize the Go client version strategy to adhere to
the "Golang Module version standard"[1]
2. Discuss and finalize the V1 API. We may need a PIP to finalize it.
3. Add the V1 API, develop the necessary features, and address issues
based on this new API.
4. Release the Go Client 1.0.0 based on the refined release process.

This is currently just a preliminary idea and plan for the release of
Go client 1.0. I would like to hear your thoughts and ideas.
What are your thoughts on this proposal? What else do you believe we
need to do before releasing Go client v1.0.0? Please feel free to add
any points I may have missed, and feel free to leave your comments
here.

Thanks,
Zike Yang

[0] https://github.com/apache/pulsar-client-go
[1] https://go.dev/doc/modules/version-numbers
[2] https://github.com/apache/pulsar-client-go/issues/1170
[3] https://github.com/apa

Re: [VOTE] PIP-344: Correct the behavior of the public API pulsarClient.getPartitionsForTopic(topicName)

2024-03-21 Thread Zike Yang
+1 (no-binding)

Thanks,
Zike Yang

On Thu, Mar 21, 2024 at 11:42 AM Yunze Xu  wrote:
>
> +1 (binding)
>
> Thanks,
> Yunze
>
> On Wed, Mar 20, 2024 at 9:19 PM PengHui Li  wrote:
> >
> > +1 (binding)
> >
> > Regards.
> > Penghui
> >
> > On Sat, Mar 16, 2024 at 6:28 AM Yubiao Feng
> >  wrote:
> >
> > > Hi All
> > >
> > > This thread is to start a vote for PIP-344.
> > >
> > > PIP: https://github.com/apache/pulsar/pull/22182
> > > Discussion thread:
> > > https://lists.apache.org/thread/z693blcxoqk0mj0rzyt1k7nvy72j18t5
> > >
> > > Thanks
> > > Yubiao Feng
> > >


Re: [DISCUSS] Release Pulsar Python Client 3.5.0

2024-03-19 Thread Zike Yang
+1

Thanks,
Zike Yang

On Tue, Mar 19, 2024 at 8:00 PM Yunze Xu  wrote:
>
> Hi all,
>
> I would like to propose releasing the Pulsar Python client 3.5.0.
>
> It's over two months since the release of 3.4.0, and there are 16 new
> commits: https://github.com/apache/pulsar-client-python/compare/v3.4.0...main.
> The dependent C++ client was upgraded to 3.5.0 in
> https://github.com/apache/pulsar-client-python/pull/202, which also
> fixes some bugs. It's time to cut a new release.
>
> Please let me know if you have any important fixes that need to be
> included in Pulsar Python client 3.5.0.
>
> Thanks,
> Yunze


Re: [DISCUSS] Pulsar Client Go - Avro Schema

2024-03-14 Thread Zike Yang
Hi,

> A) Should the Consumer / Reader be allowed to override the Schema creation
after schema-definition is retrieved from Schema Registry ?

Are you suggesting we adjust the schema creator, allowing the
Consumer/Reader to use a different Avro library? I'm interested in
others' thoughts.

> B) Should the Consumer / Reader have access to query Schema Registry for
retrieving the schema-definition of the message ?

This has already been implemented. The Consumer/Reader attempts to
fetch the writer's schema from the registry to decode the message. If
it fails, it uses the consumer reader's schema for decoding.

> C) Should just drop linkedin/goavro and migrate to
https://github.com/hamba/avro because: avro to golang struct generation ->
see avrogen; Easier handling of "nullable" union. by having a field as a
pointer; benchmark shows to be faster than linkedin.

Thanks for bringing  the hamba/avro to the discussion.
Regarding the avro to golang struct generation, we can use
`gogen-avro` for the goavro.
Considering the 'nullable' union and benchmark results, hamba/avro
appears to be more user-friendly and faster.

Below, I've provided two examples to illustrate the differences in how
these two Avro libraries handle nullable unions.

type TestHambaAvro struct {
Age *int `avro:"age"`
}

type TestGoavro struct {
Age map[string]interface{} `avro:"age"`
}

Clearly, handling the 'age' field with hamba/avro is more intuitive.
In contrast, using goavro requires us to define a
map[string]interface{} type.

I'd like to hear from others. Would it be reasonable to provide an
option for go client users to switch between these two avro libraries?

Thanks,
Zike Yang

On Fri, Mar 8, 2024 at 4:33 AM Adrian Iacob-Ghiula
 wrote:
>
> Hi Everybody,
>
> Pulsar Client Go uses https://github.com/linkedin/goavro for avro encoded
> messages. pulsar.Schema is automatically created with no way to override
> when a message has a schema version.
> A Consumer / Reader has access to the raw bytes of the message but does not
> have access to the schema-definition of the message.
>
> A) Should the Consumer / Reader be allowed to override the Schema creation
> after schema-definition is retrieved from Schema Registry ?
> B) Should the Consumer / Reader have access to query Schema Registry for
> retrieving the schema-definition of the message ?
> C) Should just drop linkedin/goavro and migrate to
> https://github.com/hamba/avro because: avro to golang struct generation ->
> see avrogen; Easier handling of "nullable" union. by having a field as a
> pointer; benchmark shows to be faster than linkedin.
>
> I would go for the flexibility as it will not break consumers using
> linkedin/goavro but advice would be nice :)
>
> Thanks


[ANNOUNCE] Apache Pulsar Go Client 0.12.1 released

2024-03-08 Thread Zike Yang
The Apache Pulsar team is proud to announce Apache Pulsar Go Client
version 0.12.1.

Pulsar is a highly scalable, low latency messaging platform running on
commodity hardware. It provides simple pub-sub semantics over topics,
guaranteed at-least-once delivery of messages, automatic cursor management for
subscribers, and cross-datacenter replication.

For Pulsar release details and downloads, visit:
https://github.com/apache/pulsar-client-go/releases/tag/v0.12.1

Release Notes are at:
https://github.com/apache/pulsar-client-go/blob/master/CHANGELOG.md

We would like to thank the contributors that made the release possible.

Regards,
The Pulsar Team


Re: [VOTE] Pulsar Client Go Release 0.12.1 Candidate 1

2024-03-08 Thread Zike Yang
Thanks to everyone!

Close this vote with 3 bindings +1s:
- Yunze
- Matteo Merli
- Penghui

Thanks,
Zike Yang


On Fri, Mar 8, 2024 at 1:08 PM PengHui Li  wrote:
>
> +1 (binding)
>
> - Checked the signatures
> - Build and Run the local test.
>
> Regards,
> Penghui
>
> On Fri, Mar 8, 2024 at 12:55 PM Matteo Merli  wrote:
>
> > +1
> >
> > Verified checksums and signatures
> > Verified tests and local perf client
> >
> > --
> > Matteo Merli
> > 
> >
> >
> > On Wed, Mar 6, 2024 at 9:23 PM Yunze Xu  wrote:
> >
> > > +1 (binding)
> > >
> > > - Verified checksum and signatures
> > > - Run OAuth2 e2e examples with 0.12.1-candidate-1
> > > - Built from source and run perf to produce and consume
> > >
> > > Thanks,
> > > Yunze
> > >
> > > On Thu, Feb 29, 2024 at 11:05 AM Zike Yang  wrote:
> > > >
> > > > Hi everyone,
> > > > Please review and vote on the release candidate #1 for the version
> > > > 0.12.1, as follows:
> > > > [ ] +1, Approve the release
> > > > [ ] -1, Do not approve the release (please provide specific comments)
> > > >
> > > > This is the first release candidate for Apache Pulsar Go client,
> > version
> > > 0.12.1.
> > > >
> > > > The release note/changelog for Go client 0.12.1:
> > > > https://github.com/apache/pulsar-client-go/pull/1189/files
> > > >
> > > > Pulsar Client Go's KEYS file contains PGP keys we used to sign this
> > > release:
> > > > https://downloads.apache.org/pulsar/KEYS
> > > >
> > > > Please download these packages and review this release candidate:
> > > > - Review release notes:
> > > https://github.com/apache/pulsar-client-go/pull/1189
> > > > - Download the source package (verify shasum, and asc) and follow the
> > > > README.md to build and run the pulsar-client-go.
> > > >
> > > > The vote will be open for at least 72 hours. It is adopted by majority
> > > > approval, with at least 3 PMC affirmative votes.
> > > >
> > > > Source file:
> > > >
> > >
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.1-candidate-1/
> > > >
> > > > The tag to be voted upon:
> > > > v0.12.1-candidate-1
> > > > https://github.com/apache/pulsar-client-go/tree/v0.12.1-candidate-1
> > > >
> > > > SHA-512 checksums:
> > > >
> > >
> > 691a301d099a602baa30bb7ec22dc33b8503d5ad5aa5fe43f51aab188099e4781844070de11584fd82d40227a28fe763ed8bd2cfa93b99d73ebfd34c6061e02d
> > > >  apache-pulsar-client-go-0.12.1-src.tar.gz
> > >
> >


[VOTE] Pulsar Client Go Release 0.12.1 Candidate 1

2024-02-28 Thread Zike Yang
Hi everyone,
Please review and vote on the release candidate #1 for the version
0.12.1, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

This is the first release candidate for Apache Pulsar Go client, version 0.12.1.

The release note/changelog for Go client 0.12.1:
https://github.com/apache/pulsar-client-go/pull/1189/files

Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
https://downloads.apache.org/pulsar/KEYS

Please download these packages and review this release candidate:
- Review release notes: https://github.com/apache/pulsar-client-go/pull/1189
- Download the source package (verify shasum, and asc) and follow the
README.md to build and run the pulsar-client-go.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

Source file:
https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.1-candidate-1/

The tag to be voted upon:
v0.12.1-candidate-1
https://github.com/apache/pulsar-client-go/tree/v0.12.1-candidate-1

SHA-512 checksums:
691a301d099a602baa30bb7ec22dc33b8503d5ad5aa5fe43f51aab188099e4781844070de11584fd82d40227a28fe763ed8bd2cfa93b99d73ebfd34c6061e02d
 apache-pulsar-client-go-0.12.1-src.tar.gz


Re: [VOTE] PIP-339: Introducing the --log-topic Option for Pulsar Sinks and Sources

2024-02-26 Thread Zike Yang
+1 (no-binding)

BR,
Zike Yang

On Tue, Feb 27, 2024 at 8:56 AM PengHui Li  wrote:
>
> +1 (binding)
>
> Regards,
> Penghui
>
> On Mon, Feb 26, 2024 at 5:44 PM Pengcheng Jiang
>  wrote:
>
> > Hi, community
> >
> > I'm starting the vote for PIP-339: Introducing the --log-topic Option for
> > Pulsar Sinks and Sources
> > PIP link: https://github.com/apache/pulsar/pull/22071
> >
> > Thanks,
> > Pengcheng Jiang
> >


Re: [ANNOUNCE] New Committer: Asaf Mesika

2024-02-20 Thread Zike Yang
Congratulations!

BR,
Zike Yang

On Wed, Feb 21, 2024 at 2:22 PM Hang Chen  wrote:
>
> Congratulations Asaf!
>
> Best,
> Hang
>
> 太上玄元道君  于2024年2月21日周三 13:07写道:
> >
> > congrats!
> >
> > Lari Hotari 于2024年2月21日 周三00:50写道:
> >
> > > The Apache Pulsar Project Management Committee (PMC) has invited
> > > Asaf Mesika https://github.com/asafm to become a committer and we
> > > are pleased to announce that he has accepted.
> > >
> > > Welcome and Congratulations, Asaf Mesika!
> > >
> > > Please join us in congratulating and welcoming Asaf onboard!
> > >
> > > Best Regards,
> > >
> > > Lari Hotari
> > > on behalf of the Pulsar PMC
> > >


Re: [DISCUSS] PIP-331: WASM Function API

2024-02-20 Thread Zike Yang
Thanks for proposing this feature!

I replied in the PR.

Before reviewing this PIP, I thought it was an implementation of a
WASM function runtime.
IIUC, for this PIP, users need to first define a Java Pulsar function
and then construct the FunctionMap to interact with the wasm. Right?

Just share my idea here:
What do you think about implementing a WASM function runtime directly?
It could be on par with the current Java function runtime. If we
define the API or SDK for WASM and Pulsar interaction, users could
simply upload their WASM files and process messages just like a Pulsar
function.

BR,
Zike Yang

On Sun, Feb 18, 2024 at 10:12 PM Asaf Mesika  wrote:
>
> Hi ZiCheng,
>
> Brilliant suggestion!
>
> I replied in the PR section, which I couldn't understand.
>
>
> On Tue, Jan 30, 2024 at 1:18 PM dragon-zhang 
> wrote:
>
> > Hi Pulsar Community,
> >
> > I want to add a new feature that supports run WASM bytecode to the
> > pulsar-functions module.
> >
> > Please see the PIP: https://github.com/apache/pulsar/pull/21992
> >
> > Thanks,
> > ZiCheng Zhang


Re: [Discuss] Release Pulsar C++ Client 3.5.0

2024-02-06 Thread Zike Yang
+1

Thanks for driving the release.

BR,
Zike Yang

On Wed, Feb 7, 2024 at 2:20 PM Yunze Xu  wrote:
>
> I would like to propose releasing the Pulsar C++ Client 3.5.0.
>
> It has been about 2 months since the last release (3.4.2). There have
> been many new features and bug fixes since then. It's time to release
> a new version. I will start the release once
> https://github.com/apache/pulsar-client-cpp/pull/401 is ready.
>
> Please let me know if you have any PRs that need to be included in 3.5.0.
>
> Thanks,
> Yunze


Re: [VOTE] PIP-335: Oxia metadata support

2024-02-06 Thread Zike Yang
+1

Thanks,
Zike Yang

On Tue, Feb 6, 2024 at 6:58 PM Enrico Olivelli  wrote:
>
> +1 (binding)
>
> Enrico
>
> Il giorno mar 6 feb 2024 alle ore 11:36 houxiaoyu
>  ha scritto:
> >
> > +1 nonbinding
> >
> > Thanks,
> > Xiaoyu Hou
> >
> > 太上玄元道君  于2024年2月6日周二 15:59写道:
> > >
> > > +1 nonbinding
> > >
> > > Matteo Merli 于2024年2月6日 周二04:40写道:
> > >
> > > > https://github.com/apache/pulsar/pull/22009
> > > >
> > > > -
> > > >
> > > > # PIP-335: Support Oxia metadata store plugin
> > > >
> > > > # Motivation
> > > >
> > > > Oxia is a scalable metadata store and coordination system that can be 
> > > > used
> > > > as the core infrastructure
> > > > to build large scale distributed systems.
> > > >
> > > > Oxia was created with the primary goal of providing an alternative 
> > > > Pulsar
> > > > to replace ZooKeeper as the
> > > > long term preferred metadata store, overcoming all the current 
> > > > limitations
> > > > in terms of metadata
> > > > access throughput and data set size.
> > > >
> > > > # Goals
> > > >
> > > > Add a Pulsar MetadataStore plugin that uses Oxia client SDK.
> > > >
> > > > Users will be able to start a Pulsar cluster using just Oxia, without 
> > > > any
> > > > ZooKeeper involved.
> > > >
> > > > ## Not in Scope
> > > >
> > > > It's not in the scope of this proposal to change any default behavior or
> > > > configuration of Pulsar.
> > > >
> > > > # Detailed Design
> > > >
> > > > ## Design & Implementation Details
> > > >
> > > > Oxia semantics and client SDK were already designed with Pulsar and
> > > > MetadataStore plugin API in mind, so
> > > > there is not much integration work that needs to be done here.
> > > >
> > > > Just few notes:
> > > >  1. Oxia client already provides support for transparent batching of 
> > > > read
> > > > and write operations,
> > > > so there will be no use of the batching logic in
> > > > `AbstractBatchedMetadataStore`
> > > >  2. Oxia does not treat keys as a walkable file-system like interface, 
> > > > with
> > > > directories and files. Instead
> > > > all the keys are independent. Though Oxia sorting of keys is aware 
> > > > of
> > > > '/' and provides efficient key
> > > > range scanning operations to identify the first level children of a
> > > > given key
> > > >  3. Oxia, unlike ZooKeeper, doesn't require the parent path of a key to
> > > > exist. eg: we can create `/a/b/c` key
> > > > without `/a/b` and `/a` existing.
> > > > In the Pulsar integration for Oxia we're forcing to create all 
> > > > parent
> > > > keys when they are not there. This
> > > > is due to several places in BookKeeper access where it does not 
> > > > create
> > > > the parent keys, though it will
> > > > later make `getChildren()` operations on the parents.
> > > >
> > > > ## Other notes
> > > >
> > > > Unlike in the ZooKeeper implementation, the notification of events is
> > > > guaranteed in Oxia, because the Oxia
> > > > client SDK will use the transaction offset after server reconnections 
> > > > and
> > > > session restarted events. This
> > > > will ensure that brokers cache will always be properly invalidated. We 
> > > > will
> > > > then be able to remove the
> > > > current 5minutes automatic cache refresh which is in place to prevent 
> > > > the
> > > > ZooKeeper missed watch issue.
> > > >
> > > > # Links
> > > >
> > > > Oxia: https://github.com/streamnative/oxia
> > > > Oxia Java Client SDK: https://github.com/streamnative/oxia-java
> > > >
> > > >
> > > > --
> > > > Matteo Merli
> > > > 
> > > >


[DISCUSS] Release Pulsar Go Client 0.12.1

2024-02-01 Thread Zike Yang
We have found 2 regression bugs introduced in 0.12.0

1. SIGSEGV error in 0.12.0 with zstd compression enabled, when the
producer is shared between multiple
goroutines(https://github.com/apache/pulsar-client-go/issues/1163).
This issue has been fixed by
https://github.com/apache/pulsar-client-go/pull/1164. Thank
@ben(https://github.com/0x4500) for discovering and reporting this
issue.
2. Race condition issue when sending multiple messages concurrently.
This has also been fixed by
https://github.com/apache/pulsar-client-go/pull/1164

These two regression bugs arose because we refactored the producer's
publishing logic in version 0.12.0. We moved the message compression
and sequence ID assignment from the producer's internal goroutine to
the user's goroutine, which led to concurrency problems.

We need to trigger a new release 0.12.1 to address these bugs. Please
let me know if you have any PRs that need to be included in 0.12.1.

BR,
Zike Yang


Re: [DISCUSS] PIP-335: Oxia metadata support

2024-01-31 Thread Zike Yang
+1

Thanks,
Zike Yang

On Thu, Feb 1, 2024 at 9:10 AM Hang Chen  wrote:
>
> +1
>
> Best,
> Hang
>
> PengHui Li  于2024年2月1日周四 09:03写道:
> >
> > +1
> >
> > Best,
> > Penghui
> >
> > On Thu, Feb 1, 2024 at 7:58 AM Matteo Merli  wrote:
> >
> > > https://github.com/apache/pulsar/pull/22009
> > >
> > > ===
> > >
> > > # PIP-335: Supporty Oxia metadata store plugin
> > >
> > > # Motivation
> > >
> > > Oxia is a scalable metadata store and coordination system that can be used
> > > as the core infrastructure
> > > to build large scale distributed systems.
> > >
> > > Oxia was created with the primary goal of providing an alternative Pulsar
> > > to replace ZooKeeper as the
> > > long term preferred metadata store, overcoming all the current limitations
> > > in terms of metadata
> > > access throughput and data set size.
> > >
> > > # Goals
> > >
> > > Add a Pulsar MetadataStore plugin that uses Oxia client SDK.
> > >
> > > Users will be able to start a Pulsar cluster using just Oxia, without any
> > > ZooKeeper involved.
> > >
> > > ## Not in Scope
> > >
> > > It's not in the scope of this proposal to change any default behavior or
> > > configuration of Pulsar.
> > >
> > > # Detailed Design
> > >
> > > ## Design & Implementation Details
> > >
> > > Oxia semantics and client SDK were already designed with Pulsar and
> > > MetadataStore plugin API in mind, so
> > > there is not much integration work that needs to be done here.
> > >
> > > Just a few notes:
> > >  1. Oxia client already provides support for transparent batching of read
> > > and write operations,
> > > so there will be no use of the batching logic in
> > > `AbstractBatchedMetadataStore`
> > >  2. Oxia does not treat keys as a walkable file-system like interface, 
> > > with
> > > directories and files. Instead
> > > all the keys are independent. Though Oxia sorting of keys is aware of
> > > '/' and provides efficient key
> > > range scanning operations to identify the first level children of a
> > > given key
> > >  3. Oxia, unlike ZooKeeper, doesn't require the parent path of a key to
> > > exist. eg: we can create `/a/b/c` key
> > > without `/a/b` and `/a` existing.
> > > In the Pulsar integration for Oxia we're forcing to create all parent
> > > keys when they are not there. This
> > > is due to several places in BookKeeper access where it does not create
> > > the parent keys, though it will
> > > later make `getChildren()` operations on the parents.
> > >
> > > ## Other notes
> > >
> > > Unlike in the ZooKeeper implementation, the notification of events is
> > > guaranteed in Oxia, because the Oxia
> > > client SDK will use the transaction offset after server reconnections and
> > > session restarted events. This
> > > will ensure that brokers cache will always be properly invalidated. We 
> > > will
> > > then be able to remove the
> > > current 5minutes automatic cache refresh which is in place to prevent the
> > > ZooKeeper missed watch issue.
> > >
> > > # Links
> > >
> > > Oxia: https://github.com/streamnative/oxia
> > > Oxia Java Client SDK: https://github.com/streamnative/oxia-java
> > >
> > >
> > > --
> > > Matteo Merli
> > > 
> > >


Re: [VERIFY] Pulsar Release 3.2.0 Candidate 5

2024-01-29 Thread Zike Yang
Based on the release
policy(https://pulsar.apache.org/contribute/release-policy/), for each
feature release, there would be three weeks to verify the release
candidate before the release deadline. And the first two weeks are
only for verification.

I think we need to state the release deadline before each feature
release. What’s the deadline of 3.2.0? @Jiwei Maybe we could start the
vote now?

> We don't have that in our release process documented at 
> https://pulsar.apache.org/contribute/release-process/ .

Indeed, we need to add this guidance into the release process to align
it with the release policy.

Thanks,
Zike Yang

On Mon, Jan 29, 2024 at 11:25 PM Lari Hotari  wrote:
>
> Is this a release VOTE thread? I think that the subject of the thread should 
> state that explicitly.
>
> What does a VERIFY thread mean? We don't have that in our release process 
> documented at https://pulsar.apache.org/contribute/release-process/ .
>
> Thanks,
>
> -Lari
>
> On 2024/01/27 15:14:27 guo jiwei wrote:
> > This is the fifth release candidate for Apache Pulsar version 3.2.0.
> >
> > It fixes the following issues:
> > https://github.com/apache/pulsar/milestone/36?closed=1
> >
> > *** Please download, test and verify on this release. This release
> > candidate verification will stay open until Feb 2 ***
> >
> > Note that we are verifying upon the source (tag), binaries are provided for
> > convenience.
> >
> > Source and binary files:
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-3.2.0-candidate-5/
> >
> > SHA-512 checksums:
> >
> > 194b3a4d51b972ec58c8f2ae4ccaadb3cac229984ea5e7e8a396a1210d4b3adde83ab30ef31c9aa384942f81959da91ab250f5689cd010b4ae71a2b10956af2c
> >
> > apache-pulsar-3.2.0-bin.tar.gz
> >
> > 7248f2566627d772093204a61ae2ea87b58dd18f374d2fd624827eb95f4102bfe07b2be87a4e7b6c7c296c5791af623f308885bfbe89069d10620f9da73ded93
> >
> > apache-pulsar-3.2.0-src.tar.gz
> >
> > Maven staging repo:
> > https://repository.apache.org/content/repositories/orgapachepulsar-1265/
> >
> > The tag to verify:
> > v3.2.0-candidate-5 (802576372132617b5076a44004846f2dbabede08)
> > https://github.com/apache/pulsar/commits/v3.2.0-candidate-5/
> >
> > Pulsar's KEYS file containing PGP keys you use to sign the release:
> > https://dist.apache.org/repos/dist/dev/pulsar/KEYS
> >
> > Docker images:
> >
> > pulsar images:
> > https://hub.docker.com/layers/technoboy8/pulsar/3.2.0-8025763/images/sha256-4666cc754439a2e6844569bb500365ded382b81d8fc9d4552e3c435702b59d86?context=repo
> > <https://hub.docker.com/layers/mattison/pulsar/3.1.0-candidate-1/images/sha256-0efbaad7d893cc5041a46a2d4d56432bda855ae4068a38349777d1be6e98d27d?context=explore>
> > pulsar-all images:
> > https://hub.docker.com/layers/technoboy8/pulsar-all/3.2.0-8025763/images/sha256-b308fd819298bb2badc20ecd86547c43a7c8652aebd716816c7f8f24dbb1b34e?context=repo
> >
> > Please download the source package, and follow the README to build
> > and run the Pulsar standalone service.
> >
> > Note that this RC doesn't require a formal vote, but we would also
> > appreciate your feedback with +1/-1. And please provide specific
> > comments if your feedback is not +1.
> >
> >
> >
> > Regards
> > Jiwei Guo (Tboy)
> >


[ANNOUNCE] Apache Pulsar Go Client 0.12.0 released

2024-01-28 Thread Zike Yang
The Apache Pulsar team is proud to announce Apache Pulsar Go Client
version 0.12.0.

Pulsar is a highly scalable, low latency messaging platform running on
commodity hardware. It provides simple pub-sub semantics over topics,
guaranteed at-least-once delivery of messages, automatic cursor management for
subscribers, and cross-datacenter replication.

For Pulsar release details and downloads, visit:
https://github.com/apache/pulsar-client-go/releases/tag/v0.12.0

Release Notes are at:
https://github.com/apache/pulsar-client-go/blob/master/CHANGELOG.md

We would like to thank the contributors who made the release possible.

Regards,
The Pulsar Team


Re: [VOTE] Pulsar Client Go Release 0.12.0 Candidate 3

2024-01-28 Thread Zike Yang
Thanks to everyone!

Close this vote with 3 bindings +1s:
- Penghui
- Yunze
- Yubiao Feng

Thanks,
Zike Yang

On Fri, Jan 26, 2024 at 2:26 PM Yubiao Feng
 wrote:
>
> +1 (binding)
>
> - Build from source
> - Run Pub & Sub with the pulsar cluster(branch-master)
>
> Thanks
> Yubiao Feng
>
> On Wed, Jan 24, 2024 at 2:58 PM Zike Yang  wrote:
>
> > Hi everyone,
> > Please review and vote on the release candidate #3 for the version
> > 0.12.0, as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> > This is the third release candidate for Apache Pulsar Go client,
> > version 0.12.0.
> >
> > The release note/changelog for Go client 0.12.0:
> > https://github.com/apache/pulsar-client-go/pull/1153/files
> >
> > Pulsar Client Go's KEYS file contains PGP keys we used to sign this
> > release:
> > https://downloads.apache.org/pulsar/KEYS
> >
> > Please download these packages and review this release candidate:
> > - Review release notes:
> > https://github.com/apache/pulsar-client-go/pull/1153
> > - Download the source package (verify shasum, and asc) and follow the
> > README.md to build and run the pulsar-client-go.
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PMC affirmative votes.
> >
> > Source file:
> >
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.0-candidate-3/
> >
> > The tag to be voted upon:
> > v0.12.0-candidate-3
> > https://github.com/apache/pulsar-client-go/tree/v0.12.0-candidate-3
> >
> > SHA-512 checksums:
> >
> > 66c37c4439549a02d7e3d21ecc02c4a2f44bad2232fbf15fb04c42f02fc4caad758b7a1b1663d0df47414af99daa4e3a19d33c29c0decbc43ac4d17e46a126bc
> >  apache-pulsar-client-go-0.12.0-src.tar.gz
> >


Re: [DISCUSS] Release Pulsar Node.js client v1.10.0

2024-01-28 Thread Zike Yang
+1

Thanks,
Zike Yang

On Mon, Jan 29, 2024 at 9:30 AM PengHui Li  wrote:
>
> +1
>
> Thanks for driving the release.
>
> Penghui
>
> On Mon, Jan 29, 2024 at 9:08 AM Baodi Shi  wrote:
>
> > Hi all,
> >
> > I would like to propose releasing the Pulsar Node.js client v1.10.0
> >
> > It has been over 5 months since the last release (1.9.0). There have
> > been many new features and bug fixes since then. It's time to release
> > a new version.
> >
> >
> >- https://github.com/apache/pulsar-client-node/milestone/15?closed=1
> >
> >
> > Please let me know if you have any PRs that need to be included in 1.10.0.
> >
> >
> > Thanks,
> > Baodi Shi
> >


Re: [VOTE] PIP-329: Strategy for maintaining the latest tag to Pulsar docker images

2024-01-25 Thread Zike Yang
Thanks to everyone!

Close this vote with 3 bindings +1s:
- Jiwei Guo (Tboy)
- Penghui
- Yunze
And 1 non-binding +1:
- Zixuan

Thanks,
Zike Yang


On Fri, Jan 19, 2024 at 11:05 AM Yunze Xu  wrote:
>
> +1 (binding)
>
> Thanks,
> Yunze
>
> On Wed, Jan 17, 2024 at 12:37 PM PengHui Li  wrote:
> >
> > +1 (binding)
> >
> > Regards,
> > Penghui
> >
> > On Wed, Jan 17, 2024 at 11:05 AM guo jiwei  wrote:
> >
> > > +1 (binding)
> > >
> > >
> > > Regards
> > > Jiwei Guo (Tboy)
> > >
> > >
> > > On Mon, Jan 15, 2024 at 5:50 PM Zixuan Liu  wrote:
> > >
> > > > +1(non-binding)
> > > >
> > > > Thanks,
> > > > Zixuan
> > > >
> > > > Zike Yang  于2024年1月15日周一 16:14写道:
> > > >
> > > > > Hi, all
> > > > >
> > > > > I'm starting the vote for PIP-329: Strategy for maintaining the latest
> > > > > tag to Pulsar docker images
> > > > >
> > > > > PIP link: https://github.com/apache/pulsar/pull/21872
> > > > >
> > > > > Thanks,
> > > > > Zike Yang
> > > > >
> > > >
> > >


[VOTE] Pulsar Client Go Release 0.12.0 Candidate 3

2024-01-23 Thread Zike Yang
Hi everyone,
Please review and vote on the release candidate #3 for the version
0.12.0, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

This is the third release candidate for Apache Pulsar Go client,
version 0.12.0.

The release note/changelog for Go client 0.12.0:
https://github.com/apache/pulsar-client-go/pull/1153/files

Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
https://downloads.apache.org/pulsar/KEYS

Please download these packages and review this release candidate:
- Review release notes: https://github.com/apache/pulsar-client-go/pull/1153
- Download the source package (verify shasum, and asc) and follow the
README.md to build and run the pulsar-client-go.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

Source file:
https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.0-candidate-3/

The tag to be voted upon:
v0.12.0-candidate-3
https://github.com/apache/pulsar-client-go/tree/v0.12.0-candidate-3

SHA-512 checksums:
66c37c4439549a02d7e3d21ecc02c4a2f44bad2232fbf15fb04c42f02fc4caad758b7a1b1663d0df47414af99daa4e3a19d33c29c0decbc43ac4d17e46a126bc
 apache-pulsar-client-go-0.12.0-src.tar.gz


Re: [VOTE] Pulsar Client Go Release 0.12.0 Candidate 2

2024-01-21 Thread Zike Yang
 Hi yunze,

Thanks for reporting this. Actually, the `VERSION` file is not used in
the code even before that PR. We currently have two hardcoded version
files in place: `VERSION` which represents the current version and
`stable.txt` which represents the current stable version. However, I'm
curious about the intended function of these files. Are they merely
for developers to conveniently reference the current and stable
versions? And what is our approach to managing these files? For
instance, how do we determine what constitutes a stable version? If
there's no compelling reason to keep these files, I'd support their
removal.

Regarding the current 0.12.0 release, before we make a consensus on
whether we should remove these files. I can update the current version
in those files in the next release candidate.

Thanks,
Zike Yang

On Fri, Jan 19, 2024 at 4:27 PM Yunze Xu  wrote:
>
> The VERSION file is still 0.11.1, which is not updated. But it seems
> that this VERSION file is not used anywhere. I checked the stats and
> found the "clientVersion" is "Pulsar Go v0.12.0-candidate-2", which is
> expected.
>
> I see https://github.com/apache/pulsar-client-go/pull/856 supports
> getting the version from the dependency, then the hard-coded VERSION
> file is no longer needed. I think we can remove that file in the
> 0.12.0 or next release. But we should not maintain a file that could
> make users confused (i.e. the source code of 0.12.0 contains a version
> file of 0.11.1)
>
> Thanks,
> Yunze
>
> On Mon, Jan 15, 2024 at 2:41 PM Zike Yang  wrote:
> >
> > Hi everyone,
> > Please review and vote on the release candidate #2 for the version
> > 0.12.0, as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> > This is the second release candidate for Apache Pulsar Go client,
> > version 0.12.0.
> >
> > The release note/changelog for Go client 0.12.0:
> > https://github.com/apache/pulsar-client-go/pull/1153/files
> >
> > Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
> > https://downloads.apache.org/pulsar/KEYS
> >
> > Please download these packages and review this release candidate:
> > - Review release notes: https://github.com/apache/pulsar-client-go/pull/1153
> > - Download the source package (verify shasum, and asc) and follow the
> > README.md to build and run the pulsar-client-go.
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PMC affirmative votes.
> >
> > Source file:
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.0-candidate-2/
> >
> > The tag to be voted upon:
> > v0.12.0-candidate-2
> > https://github.com/apache/pulsar-client-go/tree/v0.12.0-candidate-2
> >
> > SHA-512 checksums:
> > e3c0845f60989b9ca4f6cf683d750c9361ca0e15ae7f8d990cfe14d7af86bd80475aeeda95870f2b8ef6fe8ec5fdbd59c67876546e282d76baae9a1737c6a7aa
> >  apache-pulsar-client-go-0.12.0-src.tar.gz


Re: [VOTE] PIP-330: getMessagesById gets all messages

2024-01-15 Thread Zike Yang
+1 (non-binding)

Thanks,
Zike Yang

On Mon, Jan 15, 2024 at 5:34 PM Zixuan Liu  wrote:
>
> Hi Pulsar Community,
>
> Voting for PIP-330: getMessagesById gets all messages
>
> PIP: https://github.com/apache/pulsar/pull/21873
> Discussion thread:
> https://lists.apache.org/thread/vqyh3mvtvovd383sd8zxnlzsspdr863z
>
> Thanks,
> Zixuan


[VOTE] PIP-329: Strategy for maintaining the latest tag to Pulsar docker images

2024-01-15 Thread Zike Yang
Hi, all

I'm starting the vote for PIP-329: Strategy for maintaining the latest
tag to Pulsar docker images

PIP link: https://github.com/apache/pulsar/pull/21872

Thanks,
Zike Yang


[VOTE] Pulsar Client Go Release 0.12.0 Candidate 2

2024-01-14 Thread Zike Yang
Hi everyone,
Please review and vote on the release candidate #2 for the version
0.12.0, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

This is the second release candidate for Apache Pulsar Go client,
version 0.12.0.

The release note/changelog for Go client 0.12.0:
https://github.com/apache/pulsar-client-go/pull/1153/files

Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
https://downloads.apache.org/pulsar/KEYS

Please download these packages and review this release candidate:
- Review release notes: https://github.com/apache/pulsar-client-go/pull/1153
- Download the source package (verify shasum, and asc) and follow the
README.md to build and run the pulsar-client-go.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

Source file:
https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.0-candidate-2/

The tag to be voted upon:
v0.12.0-candidate-2
https://github.com/apache/pulsar-client-go/tree/v0.12.0-candidate-2

SHA-512 checksums:
e3c0845f60989b9ca4f6cf683d750c9361ca0e15ae7f8d990cfe14d7af86bd80475aeeda95870f2b8ef6fe8ec5fdbd59c67876546e282d76baae9a1737c6a7aa
 apache-pulsar-client-go-0.12.0-src.tar.gz


Re: [VOTE] Pulsar Client Go Release 0.12.0 Candidate 1

2024-01-12 Thread Zike Yang
I will also include this PR to 0.12.0:
https://github.com/apache/pulsar-client-go/pull/1156
It fixes a regression bug related to
https://github.com/apache/pulsar/issues/21888. The bug is introduced
from https://github.com/apache/pulsar-client-go/pull/1137
Thanks crossoverJie for the quick fix.

BR,
Zike Yang

On Fri, Jan 12, 2024 at 4:04 PM Zike Yang  wrote:
>
> > Could you include this fix
> (https://github.com/apache/pulsar-client-go/pull/1155), which fixes a
> CVE?
>
> Sure. I am closing this vote. And will start releasing candidate 2 later.
>
> Thanks,
> Zike Yang
>
> On Fri, Jan 12, 2024 at 3:50 PM Yunze Xu  wrote:
> >
> > Could you include this fix
> > (https://github.com/apache/pulsar-client-go/pull/1155), which fixes a
> > CVE?
> >
> > Thanks,
> > Yunze
> >
> > On Wed, Jan 10, 2024 at 3:21 PM Zike Yang  wrote:
> > >
> > > Hi everyone,
> > > Please review and vote on the release candidate #1 for the version
> > > 0.12.0, as follows:
> > > [ ] +1, Approve the release
> > > [ ] -1, Do not approve the release (please provide specific comments)
> > >
> > > This is the first release candidate for Apache Pulsar Go client, version 
> > > 0.12.0.
> > >
> > > The release note/changelog for Go client 0.12.0:
> > > https://github.com/apache/pulsar-client-go/pull/1153/files
> > >
> > > Pulsar Client Go's KEYS file contains PGP keys we used to sign this 
> > > release:
> > > https://downloads.apache.org/pulsar/KEYS
> > >
> > > Please download these packages and review this release candidate:
> > > - Review release notes: 
> > > https://github.com/apache/pulsar-client-go/pull/1153
> > > - Download the source package (verify shasum, and asc) and follow the
> > > README.md to build and run the pulsar-client-go.
> > >
> > > The vote will be open for at least 72 hours. It is adopted by majority
> > > approval, with at least 3 PMC affirmative votes.
> > >
> > > Source file:
> > > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.0-candidate-1/
> > >
> > > The tag to be voted upon:
> > > v0.12.0-candidate-1
> > > https://github.com/apache/pulsar-client-go/tree/v0.12.0-candidate-1
> > >
> > > SHA-512 checksums:
> > > a32e1072646a13aa54f983f0d3fce9c1917773fcb261d3431e2ecf1bac519cf50d3e8c3479f527e3ec8fb69518e987f25f1e3b9eae6736739aaea77941766304
> > >  apache-pulsar-client-go-0.12.0-src.tar.gz


Re: [VOTE] Pulsar Client Go Release 0.12.0 Candidate 1

2024-01-12 Thread Zike Yang
> Could you include this fix
(https://github.com/apache/pulsar-client-go/pull/1155), which fixes a
CVE?

Sure. I am closing this vote. And will start releasing candidate 2 later.

Thanks,
Zike Yang

On Fri, Jan 12, 2024 at 3:50 PM Yunze Xu  wrote:
>
> Could you include this fix
> (https://github.com/apache/pulsar-client-go/pull/1155), which fixes a
> CVE?
>
> Thanks,
> Yunze
>
> On Wed, Jan 10, 2024 at 3:21 PM Zike Yang  wrote:
> >
> > Hi everyone,
> > Please review and vote on the release candidate #1 for the version
> > 0.12.0, as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> > This is the first release candidate for Apache Pulsar Go client, version 
> > 0.12.0.
> >
> > The release note/changelog for Go client 0.12.0:
> > https://github.com/apache/pulsar-client-go/pull/1153/files
> >
> > Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
> > https://downloads.apache.org/pulsar/KEYS
> >
> > Please download these packages and review this release candidate:
> > - Review release notes: https://github.com/apache/pulsar-client-go/pull/1153
> > - Download the source package (verify shasum, and asc) and follow the
> > README.md to build and run the pulsar-client-go.
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PMC affirmative votes.
> >
> > Source file:
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.0-candidate-1/
> >
> > The tag to be voted upon:
> > v0.12.0-candidate-1
> > https://github.com/apache/pulsar-client-go/tree/v0.12.0-candidate-1
> >
> > SHA-512 checksums:
> > a32e1072646a13aa54f983f0d3fce9c1917773fcb261d3431e2ecf1bac519cf50d3e8c3479f527e3ec8fb69518e987f25f1e3b9eae6736739aaea77941766304
> >  apache-pulsar-client-go-0.12.0-src.tar.gz


Re: [VERIFY] Pulsar Release 3.2.0 Candidate 1

2024-01-11 Thread Zike Yang
There is a regression bug introduced in 3.2.0:
https://github.com/apache/pulsar/issues/21888
The producer name will be conflicted when multiple consumers in the
same topic and subscription send messages to the same DLQ
concurrently.

I will provide a fix later.

Best,
Zike Yang

On Tue, Jan 9, 2024 at 8:34 PM houxiaoyu  wrote:
>
> +1 (non-binding)
>
>
> - Checksum and signatures
> - Build on Mac, using JDK17.0.8
> - Run Pulsar standalone and produce/consume case
>
> Thanks,
> Xiaoyu Hou
>
> guo jiwei  于2024年1月9日周二 16:15写道:
> >
> > This is the first release candidate for Apache Pulsar version 3.2.0.
> >
> > It fixes the following issues:
> > https://github.com/apache/pulsar/milestone/36?closed=1
> >
> > *** Please download, test and verify on this release. This release
> > candidate verification will stay open until Jan 15 ***
> >
> > Note that we are verifying upon the source (tag), binaries are provided for
> > convenience.
> >
> > Source and binary files:
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-3.2.0-candidate-1/
> >
> > SHA-512 checksums:
> >
> > cf4e661d78f4194f4cde88e102bc9a734e2777613c5315f09115d64236759fbc5ded868c7e0cc3d07813c3fd34b1b123ca6f06f4335d6c9c96393789c6eda5bc
> >
> > apache-pulsar-3.2.0-bin.tar.gz
> >
> > 6ebe72de801db9a3f51dde39587b93d947904856385a21020319edb6988776fd68ec079471bcce5db17ea1b79c58e22ebf89a854debb40437ad9dc2bc2350357
> >
> > apache-pulsar-3.2.0-src.tar.gz
> >
> > Maven staging repo:
> > https://repository.apache.org/content/repositories/orgapachepulsar-1259/
> >
> > The tag to verify:
> > v3.2.0-candidate-1 (4ab09374ade3c1402812c3c6be0d07984ab373a4)
> > https://github.com/apache/pulsar/commits/v3.2.0-candidate-1/
> >
> > Pulsar's KEYS file containing PGP keys you use to sign the release:
> > https://dist.apache.org/repos/dist/dev/pulsar/KEYS
> >
> > Docker images:
> >
> > pulsar images:
> > https://hub.docker.com/layers/technoboy8/pulsar/3.2.0-4ab0937/images/sha256-06d35d60f3bd4f954b8b1b6f4cc4f663556ace5da097173f41a61622e81a76b9?context=repo
> > <https://hub.docker.com/layers/mattison/pulsar/3.1.0-candidate-1/images/sha256-0efbaad7d893cc5041a46a2d4d56432bda855ae4068a38349777d1be6e98d27d?context=explore>
> > pulsar-all images:
> > https://hub.docker.com/layers/technoboy8/pulsar-all/3.2.0-4ab0937/images/sha256-a6f87bc5fd8025f096f35f26d47303267452e35d92f9f974d8536b61543ddbeb?context=repo
> >
> > Please download the source package, and follow the README to build
> > and run the Pulsar standalone service.
> >
> > Note that this RC doesn't require a formal vote, but we would also
> > appreciate your feedback with +1/-1. And please provide specific
> > comments if your feedback is not +1.
> >
> >
> > Regards
> > Jiwei Guo (Tboy)


[DISCUSS] PIP-329: Strategy for maintaining the latest tag to Pulsar docker images

2024-01-09 Thread Zike Yang
Hi, all

I've created a new proposal to define the strategy for maintaining the
latest tag to Pulsar docker images in the release process.

Details and motivation in the PIP: https://github.com/apache/pulsar/pull/21872

Please help review it.

Thanks,
Zike Yang


[VOTE] Pulsar Client Go Release 0.12.0 Candidate 1

2024-01-09 Thread Zike Yang
Hi everyone,
Please review and vote on the release candidate #1 for the version
0.12.0, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

This is the first release candidate for Apache Pulsar Go client, version 0.12.0.

The release note/changelog for Go client 0.12.0:
https://github.com/apache/pulsar-client-go/pull/1153/files

Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
https://downloads.apache.org/pulsar/KEYS

Please download these packages and review this release candidate:
- Review release notes: https://github.com/apache/pulsar-client-go/pull/1153
- Download the source package (verify shasum, and asc) and follow the
README.md to build and run the pulsar-client-go.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

Source file:
https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.12.0-candidate-1/

The tag to be voted upon:
v0.12.0-candidate-1
https://github.com/apache/pulsar-client-go/tree/v0.12.0-candidate-1

SHA-512 checksums:
a32e1072646a13aa54f983f0d3fce9c1917773fcb261d3431e2ecf1bac519cf50d3e8c3479f527e3ec8fb69518e987f25f1e3b9eae6736739aaea77941766304
 apache-pulsar-client-go-0.12.0-src.tar.gz


[DISCUSS] Release Pulsar Go Client 0.12.0

2024-01-03 Thread Zike Yang
Hi everyone,

I would like to propose releasing the Pulsar Go Client 0.12.0.

It has been several months since the last release. And there are
several new features and bug fixes in the master branch[0]. We have
also merged the pulsaradmin into the pulsar-client-go repo. It’s time
to release a new version.

Please let me know if you have any PRs that need to be included in 0.12.0.

[0] https://github.com/apache/pulsar-client-go/compare/v0.11.0...master

Thanks,
Zike Yang


Re: [DISCUSS] Add a new set of Python Client APIs for asyncio and coroutines

2024-01-03 Thread Zike Yang
LGTM. I'm +1 for making it as a submodule.
I have approved the PR.

Thanks,
Zike Yang

On Fri, Dec 29, 2023 at 6:33 PM Yunze Xu  wrote:
>
> Hi all,
>
> Recently I noticed the Pulsar Python client APIs are not friendly to
> Python users [1]. The existing asynchronous APIs are based on
> callbacks and they are hard to use. Since the Pulsar Python client is
> a wrapper on the Pulsar C++ client, wrapping the existing
> callback-based APIs for asyncio requires much knowledge on the
> underlying C++ implementation details [2].
>
> For the reasons above, I think it will be helpful to provide another
> set of APIs based on asyncio and coroutines. I opened my first PR [3]
> as the beginning. Instead of rewriting a new project, I'd like to add
> a submodule `pulsar.asyncio` for these APIs that share the same C
> extension with APIs in the `pulsar` module.
>
> The new APIs are in development and do not affect the original APIs,
> which are actually not tested well, see the regression [4]. Instead of
> adding more tests to existing APIs, I'd like to pay more attention
> when adding new APIs. Tests are required for each new configuration.
>
> Feel free to share your thoughts on this!
>
> [1] https://github.com/apache/pulsar-client-python/issues/184
> [2] 
> https://github.com/apache/pulsar-client-python/issues/55#issuecomment-1759925342
> [3] https://github.com/apache/pulsar-client-python/pull/189
> [4] https://github.com/apache/pulsar-client-python/issues/178
>
> Thanks,
> Yunze


[ANNOUNCE] Apache Pulsar Client Python 3.4.0 released

2024-01-03 Thread Zike Yang
The Apache Pulsar team is proud to announce Apache Pulsar Client
Python version 3.4.0.

Pulsar is a highly scalable, low latency messaging platform running on
commodity hardware. It provides simple pub-sub semantics over topics,
guaranteed at-least-once delivery of messages, automatic cursor management for
subscribers, and cross-datacenter replication.

You can download the source code and the Python wheels in:
https://archive.apache.org/dist/pulsar/pulsar-client-python-3.4.0/

The Python wheels were uploaded to PyPI as well so that they can be
installed by `pip install pulsar-client==3.4.0`.

Release Notes are at:
https://pulsar.apache.org/release-notes/versioned/client-python-3.4.0/

We would like to thank the contributors that made the release possible.

Regards,

The Pulsar Team


[ANNOUNCE] Apache Pulsar Client Python 3.4.0 released

2024-01-03 Thread Zike Yang
The Apache Pulsar team is proud to announce Apache Pulsar Client
Python version 3.4.0.

Pulsar is a highly scalable, low latency messaging platform running on
commodity hardware. It provides simple pub-sub semantics over topics,
guaranteed at-least-once delivery of messages, automatic cursor management for
subscribers, and cross-datacenter replication.

You can download the source code and the Python wheels in:
https://archive.apache.org/dist/pulsar/pulsar-client-python-3.4.0/

The Python wheels were uploaded to PyPI as well so that they can be
installed by `pip install pulsar-client==3.4.0`.

Release Notes are at:
https://pulsar.apache.org/release-notes/versioned/client-python-3.4.0/

We would like to thank the contributors that made the release possible.

Regards,

The Pulsar Team


Re: [VOTE] Pulsar Client Python Release 3.4.0 Candidate 1

2024-01-02 Thread Zike Yang
Thanks, everyone!

Close this vote with 3 binding votes:
- Penghui
- Yunze
- Jiwei Guo (Tboy)

Thanks,
Zike Yang

On Wed, Jan 3, 2024 at 2:30 PM guo jiwei  wrote:
>
> +1 (binding)
>
> - Checked the signature and checksums
> - Install the pulsar_client-3.4.0-cp39-cp39-macosx_10_15_universal2.whl
> - Run Pulsar standalone
> - Run the Python examples producer and consumer
>
>
> Regards
> Jiwei Guo (Tboy)
>
>
> On Fri, Dec 29, 2023 at 12:34 PM Yunze Xu  wrote:
>
> > +1 (binding)
> >
> > For source code,
> > * verified signatures and checksums
> > * built from source on macOS (with C++ client 3.4.2)
> >
> > For the following wheels, verified end-to-end with OAuth2
> > authentication on specific platforms.
> > * the wheel built from source (macOS Ventura 13.6.3)
> > * pulsar_client-3.4.0-cp312-cp312-macosx_10_15_universal2.whl (macOS
> > Ventura 13.6.3)
> > *
> > pulsar_client-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
> > (Rocky Linux 9)
> > *
> > pulsar_client-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
> > (Ubuntu 22.04)
> >
> > Thanks,
> > Yunze
> >
> > On Thu, Dec 28, 2023 at 5:13 PM PengHui Li  wrote:
> > >
> > > +1 (binding)
> > >
> > > - Checked the signature
> > > - Install the pulsar_client-3.4.0-cp39-cp39-macosx_10_15_universal2.whl
> > > - Run Pulsar standalone
> > > - Run the Python examples `python3 ./examples/consumer.py` and `python3
> > > ./examples/producer.py`
> > >
> > > Regards,
> > > Penghui
> > >
> > > On Tue, Dec 26, 2023 at 4:54 PM Zike Yang  wrote:
> > >
> > > > This is the first release candidate for Apache Pulsar Client Python,
> > > > version 3.4.0.
> > > >
> > > > It fixes the following issues:
> > > > https://github.com/apache/pulsar-client-python/milestone/5?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.4.0-candidate-1/
> > > >
> > > > The supported python versions are 3.8, 3.9, 3.10, 3.11 and 3.12. 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.4.0-candidate-1
> > > > (v3.4.0-candidate-1)
> > > > https://github.com/apache/pulsar-client-python/tree/v3.4.0-candidate-1
> > > >
> > > > 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.
> > > >
> >


[VOTE] Pulsar Client Python Release 3.4.0 Candidate 1

2023-12-26 Thread Zike Yang
This is the first release candidate for Apache Pulsar Client Python,
version 3.4.0.

It fixes the following issues:
https://github.com/apache/pulsar-client-python/milestone/5?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.4.0-candidate-1/

The supported python versions are 3.8, 3.9, 3.10, 3.11 and 3.12. 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.4.0-candidate-1
(v3.4.0-candidate-1)
https://github.com/apache/pulsar-client-python/tree/v3.4.0-candidate-1

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.


Re: [DISCUSS] Strategy for pushing the latest tag to Pulsar docker images

2023-12-18 Thread Zike Yang
Hi, Enrico,

> On the other side we should not encourage people to use 'latest' in
production as because it is by design unpredictable.

Agree. Fortunately, for the current document, we don't encourage
people to use 'latest', We specify the specific version when starting
the Pulsar docker in the doc.
https://pulsar.apache.org/docs/next/getting-started-docker/

> Honestly it would be better to not have a 'latest' tag.

Lack of the latest tag makes it less user-friendly and less intuitive
for the user. For most users who are new to Pulsar, they can just
start the Pulsar container without having to know beforehand what
version of Pulsar is out there. I think we still need the latest tag.

Just want to make sure do you +1 for this PR?
https://github.com/apache/pulsar-site/pull/745

Thanks,
Zike Yang

On Tue, Dec 12, 2023 at 7:50 PM Enrico Olivelli  wrote:
>
> The first option is better, as it allows people to try out the latest
> features and hopefully it is more stable.
>
> On the other side we should not encourage people to use 'latest' in
> production as because it is by design unpredictable. Let's day that you
> have a system that had been running for a year, then you restart it and the
> system picks a new major release (say from 3.0 to 4
> 0), then you have no control over the new defaults or about dropped
> features.
>
> Honestly it would be better to not have a 'latest' tag.
>
> Enrico
>
> Il Mar 12 Dic 2023, 08:41 Zike Yang  ha scritto:
>
> > Hi, penghui
> >
> > > Is it better to introduce a `lts` or `lts-latest` tag to the images?
> >
> > Good idea. I would prefer the `lts` tag. I have updated the PR for this.
> >
> > Thanks,
> > Zike Yang
> >
> > On Tue, Dec 12, 2023 at 11:43 AM PengHui Li  wrote:
> > >
> > > +1 for the first way.
> > >
> > > Is it better to introduce a `lts` or `lts-latest` tag to the images?
> > > Users can use the new tag if they want to get the latest LTS version.
> > >
> > > Thanks,
> > > Penghui
> > >
> > >
> > > On Tue, Dec 12, 2023 at 10:09 AM Zike Yang  wrote:
> > >
> > > > Thanks to all of you.
> > > >
> > > > I believe we have reached an agreement on this. Could you help review
> > > > the PR? https://github.com/apache/pulsar-site/pull/745
> > > >
> > > > Thanks,
> > > > Zike Yang
> > > >
> > > > On Thu, Dec 7, 2023 at 12:11 PM Zixuan Liu  wrote:
> > > > >
> > > > > Hi Zike,
> > > > >
> > > > > > I prefer the 1st way as well.
> > > > > +1
> > > > >
> > > > > Thanks,
> > > > > Zixuan
> > > > >
> > > > > Yunze Xu  于2023年12月5日周二 20:26写道:
> > > > >
> > > > > > I prefer the 1st way as well.
> > > > > >
> > > > > > Thanks,
> > > > > > Yunze
> > > > > >
> > > > > > On Tue, Dec 5, 2023 at 5:11 PM Zike Yang  wrote:
> > > > > > >
> > > > > > > Hi, everyone,
> > > > > > >
> > > > > > > There seems to be a gap in our current release process
> > concerning the
> > > > > > > pushing of the latest tag to our Docker images. Specifically, we
> > need
> > > > > > > to decide which version of Pulsar the latest tag should point to.
> > > > > > >
> > > > > > > I have come up with two options:
> > > > > > > 1. The latest tag could point to the most recent feature release
> > or
> > > > > > > the subsequent patch of that feature release. For instance, it
> > could
> > > > > > > currently point to 3.1.1, and in the future, it could point to
> > 3.1.2
> > > > > > > or 3.2.0.
> > > > > > > 2. The latest tag could point to the most recent LTS release or
> > the
> > > > > > > subsequent patch of that LTS release. As an example, it could
> > > > > > > currently point to 3.0.2, and in the future, it could point to
> > 3.0.3
> > > > > > > or 4.0.0.
> > > > > > >
> > > > > > > What do you think? I would prefer the option 1. I have pushed a
> > PR to
> > > > > > > update the release docker image process:
> > > > > > > https://github.com/apache/pulsar-site/pull/745.
> > > > > > > PTAL and leave your comments and feedback here.
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Zike Yang
> > > > > >
> > > >
> >


Re: [DISCUSS] Strategy for pushing the latest tag to Pulsar docker images

2023-12-11 Thread Zike Yang
Hi, penghui

> Is it better to introduce a `lts` or `lts-latest` tag to the images?

Good idea. I would prefer the `lts` tag. I have updated the PR for this.

Thanks,
Zike Yang

On Tue, Dec 12, 2023 at 11:43 AM PengHui Li  wrote:
>
> +1 for the first way.
>
> Is it better to introduce a `lts` or `lts-latest` tag to the images?
> Users can use the new tag if they want to get the latest LTS version.
>
> Thanks,
> Penghui
>
>
> On Tue, Dec 12, 2023 at 10:09 AM Zike Yang  wrote:
>
> > Thanks to all of you.
> >
> > I believe we have reached an agreement on this. Could you help review
> > the PR? https://github.com/apache/pulsar-site/pull/745
> >
> > Thanks,
> > Zike Yang
> >
> > On Thu, Dec 7, 2023 at 12:11 PM Zixuan Liu  wrote:
> > >
> > > Hi Zike,
> > >
> > > > I prefer the 1st way as well.
> > > +1
> > >
> > > Thanks,
> > > Zixuan
> > >
> > > Yunze Xu  于2023年12月5日周二 20:26写道:
> > >
> > > > I prefer the 1st way as well.
> > > >
> > > > Thanks,
> > > > Yunze
> > > >
> > > > On Tue, Dec 5, 2023 at 5:11 PM Zike Yang  wrote:
> > > > >
> > > > > Hi, everyone,
> > > > >
> > > > > There seems to be a gap in our current release process concerning the
> > > > > pushing of the latest tag to our Docker images. Specifically, we need
> > > > > to decide which version of Pulsar the latest tag should point to.
> > > > >
> > > > > I have come up with two options:
> > > > > 1. The latest tag could point to the most recent feature release or
> > > > > the subsequent patch of that feature release. For instance, it could
> > > > > currently point to 3.1.1, and in the future, it could point to 3.1.2
> > > > > or 3.2.0.
> > > > > 2. The latest tag could point to the most recent LTS release or the
> > > > > subsequent patch of that LTS release. As an example, it could
> > > > > currently point to 3.0.2, and in the future, it could point to 3.0.3
> > > > > or 4.0.0.
> > > > >
> > > > > What do you think? I would prefer the option 1. I have pushed a PR to
> > > > > update the release docker image process:
> > > > > https://github.com/apache/pulsar-site/pull/745.
> > > > > PTAL and leave your comments and feedback here.
> > > > >
> > > > > Thanks,
> > > > > Zike Yang
> > > >
> >


Re: [DISCUSS] Strategy for pushing the latest tag to Pulsar docker images

2023-12-11 Thread Zike Yang
Thanks to all of you.

I believe we have reached an agreement on this. Could you help review
the PR? https://github.com/apache/pulsar-site/pull/745

Thanks,
Zike Yang

On Thu, Dec 7, 2023 at 12:11 PM Zixuan Liu  wrote:
>
> Hi Zike,
>
> > I prefer the 1st way as well.
> +1
>
> Thanks,
> Zixuan
>
> Yunze Xu  于2023年12月5日周二 20:26写道:
>
> > I prefer the 1st way as well.
> >
> > Thanks,
> > Yunze
> >
> > On Tue, Dec 5, 2023 at 5:11 PM Zike Yang  wrote:
> > >
> > > Hi, everyone,
> > >
> > > There seems to be a gap in our current release process concerning the
> > > pushing of the latest tag to our Docker images. Specifically, we need
> > > to decide which version of Pulsar the latest tag should point to.
> > >
> > > I have come up with two options:
> > > 1. The latest tag could point to the most recent feature release or
> > > the subsequent patch of that feature release. For instance, it could
> > > currently point to 3.1.1, and in the future, it could point to 3.1.2
> > > or 3.2.0.
> > > 2. The latest tag could point to the most recent LTS release or the
> > > subsequent patch of that LTS release. As an example, it could
> > > currently point to 3.0.2, and in the future, it could point to 3.0.3
> > > or 4.0.0.
> > >
> > > What do you think? I would prefer the option 1. I have pushed a PR to
> > > update the release docker image process:
> > > https://github.com/apache/pulsar-site/pull/745.
> > > PTAL and leave your comments and feedback here.
> > >
> > > Thanks,
> > > Zike Yang
> >


Re: [ANNOUNCE] Apache Pulsar 3.0.2 released

2023-12-08 Thread Zike Yang
Hi, Kiryl

Thanks for reporting. I have submitted a PR to fix it:
https://github.com/apache/pulsar-site/pull/748

Thanks,
Zike Yang

On Fri, Dec 8, 2023 at 2:36 PM Kiryl Valkovich
 wrote:
>
> Hi, Zike
>
> Thanks for fixing it.
>
> One more thing to fix. v3.0.2 release is missing on the Downloads page. I 
> raised one more issue here:
> https://github.com/apache/pulsar/issues/21694
>
>
> From: Zike Yang 
> Date: Wednesday, December 6, 2023 at 1:08 PM
> To: dev@pulsar.apache.org 
> Subject: Re: [ANNOUNCE] Apache Pulsar 3.0.2 released
> Hi, Kiryl
>
> Thanks for your catch. I have submitted a PR to fix it:
> https://github.com/apache/pulsar-site/pull/746 PTAL.
>
> Thanks,
> Zike Yang
>
> On Wed, Dec 6, 2023 at 4:41 PM Kiryl Valkovich
>  wrote:
> >
> > Congrats on the release!
> >
> > Small fixes in the Release table are needed. I raised the issue here:
> > https://github.com/apache/pulsar/issues/21677
> >
> >
> > Best,
> > Kiryl
> >
> > From: Yubiao Feng 
> > Date: Wednesday, December 6, 2023 at 8:17 AM
> > To: dev@pulsar.apache.org , us...@pulsar.apache.org 
> > , annou...@apache.org 
> > Subject: [ANNOUNCE] Apache Pulsar 3.0.2 released
> > The Apache Pulsar team is proud to announce Apache Pulsar version 3.0.2.
> >
> > Pulsar is a highly scalable, low-latency messaging platform running on
> > commodity hardware. It provides simple pub-sub semantics over topics,
> > guaranteed at-least-once delivery of messages, automatic cursor management
> > for
> > subscribers, and cross-datacenter replication.
> >
> > For Pulsar release details and downloads, visit:
> >
> > https://pulsar.apache.org/download
> >
> > Release Notes are at:
> > https://pulsar.apache.org/release-notes
> >
> > We would like to thank the contributors that made the release possible.
> >
> > Regards,
> >
> > The Pulsar Team


Re: [ANNOUNCE] Apache Pulsar 3.0.2 released

2023-12-06 Thread Zike Yang
Hi, Kiryl

Thanks for your catch. I have submitted a PR to fix it:
https://github.com/apache/pulsar-site/pull/746 PTAL.

Thanks,
Zike Yang

On Wed, Dec 6, 2023 at 4:41 PM Kiryl Valkovich
 wrote:
>
> Congrats on the release!
>
> Small fixes in the Release table are needed. I raised the issue here:
> https://github.com/apache/pulsar/issues/21677
>
>
> Best,
> Kiryl
>
> From: Yubiao Feng 
> Date: Wednesday, December 6, 2023 at 8:17 AM
> To: dev@pulsar.apache.org , us...@pulsar.apache.org 
> , annou...@apache.org 
> Subject: [ANNOUNCE] Apache Pulsar 3.0.2 released
> The Apache Pulsar team is proud to announce Apache Pulsar version 3.0.2.
>
> Pulsar is a highly scalable, low-latency messaging platform running on
> commodity hardware. It provides simple pub-sub semantics over topics,
> guaranteed at-least-once delivery of messages, automatic cursor management
> for
> subscribers, and cross-datacenter replication.
>
> For Pulsar release details and downloads, visit:
>
> https://pulsar.apache.org/download
>
> Release Notes are at:
> https://pulsar.apache.org/release-notes
>
> We would like to thank the contributors that made the release possible.
>
> Regards,
>
> The Pulsar Team


[DISCUSS] Strategy for pushing the latest tag to Pulsar docker images

2023-12-05 Thread Zike Yang
Hi, everyone,

There seems to be a gap in our current release process concerning the
pushing of the latest tag to our Docker images. Specifically, we need
to decide which version of Pulsar the latest tag should point to.

I have come up with two options:
1. The latest tag could point to the most recent feature release or
the subsequent patch of that feature release. For instance, it could
currently point to 3.1.1, and in the future, it could point to 3.1.2
or 3.2.0.
2. The latest tag could point to the most recent LTS release or the
subsequent patch of that LTS release. As an example, it could
currently point to 3.0.2, and in the future, it could point to 3.0.3
or 4.0.0.

What do you think? I would prefer the option 1. I have pushed a PR to
update the release docker image process:
https://github.com/apache/pulsar-site/pull/745.
PTAL and leave your comments and feedback here.

Thanks,
Zike Yang


[DISCUSS] Release Pulsar Python clieng 3.4.0

2023-12-03 Thread Zike Yang
Hi all,

I would like to propose releasing the Pulsar Python client 3.4.0.

It's over three months since the release of 3.3.0, and there are 46 new commits:
https://github.com/apache/pulsar-client-python/compare/v3.0.0...main

The Pulsar C++ client 3.4.1 has been released. I have upgraded the C++
client for the Python client to 3.4.1:
https://github.com/apache/pulsar-client-python/pull/167

We need to cut a new release. Please let me know if you have any
important fixes that need to be included in Pulsar Python client 3.4.0.

Thanks,
Zike Yang


Re: Pulsar 3.0.2 docker image only supports arm64 platform

2023-12-03 Thread Zike Yang
We need to use the following commands to push the images:
```sh
regctl image copy 9947090/pulsar:3.0.2-12c92fe apachepulsar/pulsar:3.0.2
regctl image copy 9947090/pulsar-all:3.0.2-12c92fe apachepulsar/pulsar-all:3.0.2
```

It's missing in the release doc. I will update it later.

Thanks,
Zike Yang

On Mon, Dec 4, 2023 at 10:31 AM Yunze Xu  wrote:
>
> I found Matteo has updated 3.1.1 as the latest image:
> https://hub.docker.com/layers/apachepulsar/pulsar/latest/images/sha256-21e8bf1571e4ab559a51b3f6e524d725cffabe3c6836101f9d7ea7eb1e2bf62c?context=explore
>
> But the 3.0.2 still lacks the image for the amd64 platform.
>
> Thanks,
> Yunze
>
> On Mon, Dec 4, 2023 at 12:51 AM Yunze Xu  wrote:
> >
> > Hi all,
> >
> > When I ran unit tests for the pulsar-client-cpp repo, which uses
> > `apachepulsar/pulsar:latest` image to start a standalone, I found the
> > tests failed and the following error [1]:
> >
> > ```
> > standalone The requested image's platform (linux/arm64) does not match
> > the detected host platform (linux/amd64/v3) and no specific platform
> > was requested
> > ```
> >
> > It seems the 3.0.2 image [2] was only built for the arm64 platform. I
> > think there is something wrong with the steps to build the image. It
> > breaks the CI for pulsar-client-cpp repo, as well as any other repo
> > that depends on the latest image. We should fix the image and push it
> > again.
> >
> > [1] 
> > https://github.com/apache/pulsar-client-cpp/actions/runs/7078043224/job/19263093582?pr=360
> > [2] 
> > https://hub.docker.com/layers/apachepulsar/pulsar/3.0.2/images/sha256-5af72da140f3901bccc0a5b56de8764cd60f0d351011fd1b90c484a30889fbf8?context=explore
> >
> > Thanks,
> > Yunze


Re: [VOTE] Pulsar Release 3.0.2 Candidate 4

2023-11-20 Thread Zike Yang
Hi Yubiao,

I see that there is only arm64 arch for the docker image. We need to
follow this guide to build the image:
https://github.com/apache/pulsar-site/pull/595.

The current release process is incorrect for building the docker
image. This PR(https://github.com/apache/pulsar-site/pull/595) has
been blocked for some time. We need to move this PR forward.

BR,
Zike Yang

On Mon, Nov 20, 2023 at 5:07 PM Yubiao Feng
 wrote:
>
> Sorry, the SHA-512 checksums are wrong by mistake. Correct it below:
>
> apache-pulsar-3.0.2-bin.tar.gz
>
> b3421eb57233638e4d8305b040b1ffd1374b9ddfa55ea1a1043dc9be78ed89f72604cf249fcf5e663f1e3e1be86daf36991ee069ea1eb146f384c374484da0ff
>
> apache-pulsar-3.0.2-src.tar.gz
>
> 02154a2c190ac2ef7e1ff3fce5e90eab896f392317c28b28e9a6ab912a5ca3b3a38dc358b5925153ba1b0dde340cafd1e6aa72349dd9c9ae5dd99d0bdef587fb
>
>
> Thanks
> Yubiao Feng
>
> 233638e4d8305b040b1ffd1374b9ddfa55ea1a1043dc9be78ed89f72604cf249fcf5e663f1e3e1be86daf36991ee069ea1eb146f384c374484da0ff
> ./apache-pulsar-3.0.2-bin.tar.gz
>
> On Mon, Nov 20, 2023 at 10:24 AM Yubiao Feng 
> wrote:
>
> > This is the first release candidate for Apache Pulsar version 3.0.4.
> >
> > It fixes the following issues:
> >
> > https://github.com/apache/pulsar/pulls?q=is%3Apr+is%3Amerged+label%3Arelease%2F3.0.2+label%3Acherry-picked%2Fbranch-3.0+
> >
> > *** Please download, test and vote on this release. This vote will
> > stay open for at least 72 hours ***
> >
> > Note that we are voting upon the source (tag), binaries are provided
> > for convenience.
> >
> > Source and binary files:
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-3.0.2-candidate-4/
> >
> > SHA-512 checksums:
> >
> >
> > 9bd5b4030de47c10a906d6271731ca7bcfb8801984cdd625789bc0c5047138f0f2eb1aaceaec1c8941e2ccfa639bbb2458496518e87fb29abb9ebc518e2da60d
> >
> > apache-pulsar-3.0.2-bin.tar.gz
> >
> >
> > 6854d1776de08c9079228a5a5d2f670f92b1b905f0d92c50ee35c5bc9c53be5225626a6d84fc3bbb209b8b12ff3b142685b5c9ea33609e1bb934e9679402e0b8
> >
> > apache-pulsar-3.0.2-src.tar.gz
> >
> > Maven staging repo:
> > https://repository.apache.org/content/repositories/orgapachepulsar-1249
> >
> > The tag to verify:
> > v3.0.2-candidate-4 (12c92fed7847965e3bc3769a91c866b2f0ec2e44)
> > https://github.com/apache/pulsar/releases/tag/v3.0.2-candidate-4
> >
> > Pulsar's KEYS file containing PGP keys you use to sign the release:
> > https://dist.apache.org/repos/dist/dev/pulsar/KEYS
> >
> > Docker images:
> >
> > pulsar images:
> > https://hub.docker.com/repository/docker/9947090/pulsar-all
> >
> > pulsar-all images:
> > https://hub.docker.com/repository/docker/9947090/pulsar
> >
> > Please download the source package, and follow the README to build
> > and run the Pulsar standalone service.
> >
> >
> > Regards
> > Yubiao Feng(poorbarcode)
> >


Re: [Discuss] Release Pulsar C++ Client 3.4.1

2023-11-16 Thread Zike Yang
+1
Thanks for your fixes.

BR,
Zike Yang

On Thu, Nov 16, 2023 at 5:48 PM Yunze Xu  wrote:
>
> There is another critical issue introduced by 3.4.0:
> https://github.com/apache/pulsar-client-python/issues/162
>
> I will open another fix for it.
>
> Thanks,
> Yunze
>
> On Thu, Nov 16, 2023 at 12:45 PM Yunze Xu  wrote:
> >
> > In the latest C++ Client 3.4.0 release, we observed a regression
> > https://github.com/apache/pulsar-client-cpp/issues/346. It's a
> > critical bug that a crash could happen for each reconnection.
> >
> > I pushed a fix (https://github.com/apache/pulsar-client-cpp/pull/347).
> > After it's merged, I will start the release process for 3.4.1.
> >
> > Please let me know if you have any questions.
> >
> > Thanks,
> > Yunze


Re: [VOTE] PIP-312 Use StateStoreProvider to manage state in Pulsar Functions endpoints

2023-11-15 Thread Zike Yang
+1(no-binding)

Thanks,
Zike Yang

On Wed, Nov 15, 2023 at 4:01 PM Baodi Shi  wrote:
>
> +1(non-binding)
>
>
> Thanks,
> Baodi Shi
>
>
> On Nov 15, 2023 at 11:49:24, Neng Lu  wrote:
>
> > +1
> >
> > On 2023/11/15 03:39:42 Pengcheng Jiang wrote:
> >
> > Hi Pulsar Community,
> >
> >
> > This thread is to start a vote for PIP-312: Use StateStoreProvider to
> >
> > manage state in Pulsar Functions endpoints.
> >
> >
> > I start the voting process since there are some approves for the PIP PR.
> >
> >
> > PR: https://github.com/apache/pulsar/pull/21438
> >
> > Discussion thread:
> >
> > https://lists.apache.org/thread/0rz29wotonmdck76pdscwbqo19t3rbds
> >
> >
> > Sincerely,
> >
> > Pengcheng Jiang
> >
> >
> >


Re: [ANNOUNCE] Yubiao Feng as new PMC member in Apache Pulsar

2023-11-13 Thread Zike Yang
Congratulations!

BR,
Zike Yang

On Tue, Nov 14, 2023 at 3:34 AM Heesung Sohn  wrote:
>
> Congrats!
> Heesung
>
> On Mon, Nov 13, 2023 at 6:57 AM Yubiao Feng
>  wrote:
>
> > Thank you all
> >
> > Yubiao Feng
> >
> >
> >
> > On Mon, Nov 13, 2023 at 3:36 PM mattison chao 
> > wrote:
> >
> > > Dear Community,
> > >
> > > We are thrilled to announce that Yubiao Feng
> > > https://github.com/poorbarcode has been invited and has accepted the
> > role
> > > of a member of the Apache Pulsar Project Management Committee (PMC).
> > >
> > > Yubiao Feng has proven to be an invaluable asset to our community,
> > > consistently showcasing dedication and active engagement through
> > > substantial contributions. Beyond his noteworthy technical input, Yubiao
> > > plays a crucial role in meticulously reviewing pull requests, thereby
> > > ensuring the overall excellence of our project. We eagerly anticipate and
> > > appreciate his ongoing contributions. On behalf of the Pulsar PMC, we
> > > extend a heartfelt welcome and congratulations to Yubiao Feng.
> > >
> > > Sincerely,
> > > Mattison
> >


[ANNOUNCE] Apache Pulsar Go Client 0.11.1 released

2023-11-07 Thread Zike Yang
The Apache Pulsar team is proud to announce Apache Pulsar Go Client
version 0.11.1.

Pulsar is a highly scalable, low latency messaging platform running on
commodity hardware. It provides simple pub-sub semantics over topics,
guaranteed at-least-once delivery of messages, automatic cursor management for
subscribers, and cross-datacenter replication.

For Pulsar release details and downloads, visit:
https://github.com/apache/pulsar-client-go/releases/tag/v0.11.1

Release Notes are at:
https://github.com/apache/pulsar-client-go/blob/master/CHANGELOG.md

We would like to thank the contributors that made the release possible.

Regards,

The Pulsar Team


Re: [VOTE] Pulsar Client Go Release 0.11.1 Candidate 1

2023-11-07 Thread Zike Yang
Close this vote by 3 binding +1:

- Yunze
- Penghui
- Mattison

BR,
Zike Yang

On Tue, Nov 7, 2023 at 4:43 PM Zike Yang  wrote:
>
> > The KEYS file link is dead, I think it should be
> https://downloads.apache.org/pulsar/KEYS
>
> Thanks for your reminder. Yes, that should be the correct link. I have
> also pushed a PR to fix the release process:
> https://github.com/apache/pulsar-client-go/pull/1127 PTAL. Thanks!
>
> BR,
> Zike Yang
>
> On Tue, Nov 7, 2023 at 4:00 PM mattison chao  wrote:
> >
> > +1 (binding)
> >
> > - Built from the source
> > - Ran the test on pulsar 3.0.1
> >
> > Best,
> > Mattison
> >
> > > On Sep 11, 2023, at 18:07, Zike Yang  wrote:
> > >
> > > Hi everyone,
> > > Please review and vote on the release candidate #1 for the version
> > > 0.11.1, as follows:
> > > [ ] +1, Approve the release
> > > [ ] -1, Do not approve the release (please provide specific comments)
> > >
> > > This is the first release candidate for Apache Pulsar Go client, version 
> > > 0.11.1.
> > >
> > > It fixes the following issues:
> > > https://github.com/apache/pulsar-client-go/compare/v0.11.0...v0.11.1-candidate-1
> > >
> > > Pulsar Client Go's KEYS file contains PGP keys we used to sign this 
> > > release:
> > > https://dist.apache.org/repos/dist/dev/pulsar/KEYS
> > >
> > > Please download these packages and review this release candidate:
> > > - Review release notes: 
> > > https://github.com/apache/pulsar-client-go/pull/1092
> > > - Download the source package (verify shasum, and asc) and follow the
> > > README.md to build and run the pulsar-client-go.
> > >
> > > The vote will be open for at least 72 hours. It is adopted by majority
> > > approval, with at least 3 PMC affirmative votes.
> > >
> > > Source file:
> > > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.11.1-candidate-1/
> > >
> > > The tag to be voted upon:
> > > v0.11.1-candidate-1
> > > https://github.com/apache/pulsar-client-go/tree/v0.11.1-candidate-1
> > >
> > > SHA-512 checksums:
> > > d2209c652918acee8d2c77d52a0a556af16ff7fc3e30ad96d05e01285b83a61d1a1f0d32bace184f830e2dd2e4dd20910e9ce5ae23aac4a40eb3d19885cb0182
> > > apache-pulsar-client-go-0.11.1-src.tar.gz
> >


Re: [VOTE] Pulsar Client Go Release 0.11.1 Candidate 1

2023-11-07 Thread Zike Yang
> The KEYS file link is dead, I think it should be
https://downloads.apache.org/pulsar/KEYS

Thanks for your reminder. Yes, that should be the correct link. I have
also pushed a PR to fix the release process:
https://github.com/apache/pulsar-client-go/pull/1127 PTAL. Thanks!

BR,
Zike Yang

On Tue, Nov 7, 2023 at 4:00 PM mattison chao  wrote:
>
> +1 (binding)
>
> - Built from the source
> - Ran the test on pulsar 3.0.1
>
> Best,
> Mattison
>
> > On Sep 11, 2023, at 18:07, Zike Yang  wrote:
> >
> > Hi everyone,
> > Please review and vote on the release candidate #1 for the version
> > 0.11.1, as follows:
> > [ ] +1, Approve the release
> > [ ] -1, Do not approve the release (please provide specific comments)
> >
> > This is the first release candidate for Apache Pulsar Go client, version 
> > 0.11.1.
> >
> > It fixes the following issues:
> > https://github.com/apache/pulsar-client-go/compare/v0.11.0...v0.11.1-candidate-1
> >
> > Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
> > https://dist.apache.org/repos/dist/dev/pulsar/KEYS
> >
> > Please download these packages and review this release candidate:
> > - Review release notes: https://github.com/apache/pulsar-client-go/pull/1092
> > - Download the source package (verify shasum, and asc) and follow the
> > README.md to build and run the pulsar-client-go.
> >
> > The vote will be open for at least 72 hours. It is adopted by majority
> > approval, with at least 3 PMC affirmative votes.
> >
> > Source file:
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.11.1-candidate-1/
> >
> > The tag to be voted upon:
> > v0.11.1-candidate-1
> > https://github.com/apache/pulsar-client-go/tree/v0.11.1-candidate-1
> >
> > SHA-512 checksums:
> > d2209c652918acee8d2c77d52a0a556af16ff7fc3e30ad96d05e01285b83a61d1a1f0d32bace184f830e2dd2e4dd20910e9ce5ae23aac4a40eb3d19885cb0182
> > apache-pulsar-client-go-0.11.1-src.tar.gz
>


Re: Question about Pulsar gRPC client(s)

2023-10-31 Thread Zike Yang
Another point is that there are many features implemented on the
client side, including batching, chunking, DLQ, etc. This makes it
hard to replace the existing pulsar clients completely.

Zike Yang


On Wed, Nov 1, 2023 at 4:43 AM Christophe Bornet  wrote:
>
> Hi Kiryl,
>
> Thanks for mentioning pulsar-grpc.
> Indeed, using gRPC simplifies the implementation of the networking logic
> (keep-alive, reconnection, flow control,…). On the other hand, the Java
> gRPC implementation makes a lot of buffer copies to cleanly separate the
> network and app layers but that takes a toll on performance. Compared to
> that, the broker Pulsar protocol impl is optimized to not do copies between
> the consumer/producer endpoints and the bookkeeper client.
> So I think we could not replace completely the Pulsar protocol by gRPC.
> We could maybe support both but it’s a lot of work to maintain both
> protocols. (I kind of gave up maintaining pulsar-grpc because of the amount
> of work compared to the number of users, but if there’s interest I can
> reconsider).
> Another possibility would be to do a proxy instead of a low-level protocol
> handler. A bit like the WebSocket proxy. This would be far less work to
> maintain as it would use the Pulsar protocol to communicate with the
> brokers. It could be done as a Proxy extension. Compared to the WS proxy,
> this would provide type safety, discovery, and so on…
> As for the Admin, it’s a bit the same. It would be a bunch of work to
> support both gRPC and REST. You have some kind of type hinting with the
> OpenAPI spec that you can use to generate client SDKs (eg. with
> openapi-generator.
> I wonder what others have to say.
>
> Christophe
>
>
> Le mar. 31 oct. 2023 à 19:57, Kiryl Valkovich 
> a écrit :
>
> > Hi! Am I understanding it right, that if this project
> > https://github.com/cbornet/pulsar-grpc is merged to the apache/pulsar
> > repo, we could easily cover non-mainstream platforms that are supported by
> > gRPC, but don't have ready-to-use Pulsar clients?
> >
> > https://github.com/apache/pulsar/wiki/PIP-59:-gPRC-Protocol-Handler
> >
> > Similar to already supported language-agnostic client interfaces - REST
> > and WebSocket.
> >
> > Actively maintained gRPC libraries I found (19, or 15 if considering JVM
> > languages and web as duplicates):
> > - [C# / .NET](https://grpc.io/docs/languages/csharp/)
> > - [C++](https://grpc.io/docs/languages/cpp/)
> > - [Dart](https://grpc.io/docs/languages/dart/)
> > - [Go](https://grpc.io/docs/languages/go/)
> > - [Java](https://grpc.io/docs/languages/java/)
> > - [Kotlin](https://grpc.io/docs/languages/kotlin/)
> > - [Node](https://grpc.io/docs/languages/node/)
> > - [Objective-C](https://grpc.io/docs/languages/objective-c/)
> > - [PHP](https://grpc.io/docs/languages/php/)
> > - [Python](https://grpc.io/docs/languages/python/)
> > - [Ruby](https://grpc.io/docs/languages/ruby/)
> > - [OCaml](https://github.com/dialohq/ocaml-grpc)
> > - [Haskell](https://github.com/awakesecurity/gRPC-haskell)
> > - [Elixir](https://github.com/elixir-grpc/grpc)
> > - [Rust](https://github.com/hyperium/tonic)
> > - [Scala](https://scalapb.github.io/)
> > - [Swift](https://github.com/grpc/grpc-swift)
> > - Web client: https://github.com/grpc/grpc-web
> > - Web client 2: https://connectrpc.com/docs/web/getting-started
> >
> > Actively maintained Pulsar libraries (8):
> > - Java
> > - C++
> > - Python
> > - Go
> > - Node.js
> > - C#
> > - PHP
> > - Rust
> >
> > Is there any reason for not merging it to the apache/pulsar?
> >
> > I would definitely prefer to work with a statically typed gRPC client
> > instead of REST or WebSocket.
> >
> > By the way, the same can work for the Pulsar Admin API. Implement the gRPC
> > server once in Java, and we have full-featured native statically typed
> > (where applicable :)) Pulsar Admin clients for any platform.
> >
> > Best,
> > Kiryl
> >


Re: [DISCUSS] Auto release Nuget artifacts for DotPulsar

2023-10-30 Thread Zike Yang
Hi, David

Thanks for initializing this discussion.
I'm +1 for making the auto-release process for the DotPulsar. I have
left some comments in the PR.

Thanks,
Zike Yang

On Thu, Oct 26, 2023 at 5:39 PM David Jensen  wrote:
>
> Hi everyone,
> I have worked with Tison to make the release process smoother for DotPulsar
> <https://github.com/apache/pulsar-dotpulsar>. See GitHub Issue #184 Release
> process and GitHub Action
> <https://github.com/apache/pulsar-dotpulsar/pull/184> and the linked issues.
>
> In summary, the document presents a suggested approach for creating release
> notes and optimizing the release workflow of the Pulsar C# Client. This
> approach involves working closely with team members, adhering to ASF
> guidelines, participating in Apache release voting, implementing automation
> via GitHub Actions, and managing versioning through git tags and GitHub
> releases.
>
> Sincerely
> David Jensen


Re: [Discuss] Release Pulsar C++ Client 3.4.0

2023-10-23 Thread Zike Yang
+1,

BR,
Zike Yang

On Mon, Oct 23, 2023 at 1:10 PM PengHui Li  wrote:
>
> Thanks for driving the release,
>
> +1
>
> Penghui
>
> On Mon, Oct 23, 2023 at 11:00 AM Yunze Xu  wrote:
>
> > I would like to propose releasing the Pulsar C++ Client 3.4.0. It has
> > been about 3 months since the last release. There have been many new
> > features and bug fixes since then.
> >
> > Besides, from my own perspective, it's better to let Python and
> > Node.js clients depend on this new version of C++ client. Especially I
> > observed that the topic name was not shown correctly many times
> > recently, which are fixed by
> > https://github.com/apache/pulsar-client-cpp/pull/331 and
> > https://github.com/apache/pulsar-client-cpp/pull/329.
> >
> > So it's time to release a new version. Please let me know if you have
> > any PRs that need to be included in 3.4.0
> >
> > Thanks,
> > Yunze
> >


Re: [VOTE] PIP-302 Introduce refreshAsync API for TableView

2023-09-27 Thread Zike Yang
+1

BR,
Zike Yang

On Wed, Sep 27, 2023 at 3:05 PM Xiangying Meng  wrote:
>
> Hi dev,
>This thread is to start a vote for PIP-302 Add new API
> refreshAsync for TableView.
> Discuss thread: 
> https://lists.apache.org/thread/o085y2314o0fymvx0x8pojmgjwcwn59q
> PIP: https://github.com/apache/pulsar/pull/21166
>
> BR,
> Xiangying


Re: [DISCUSS] PIP-300: Add custom dynamic configuration for plugins

2023-09-25 Thread Zike Yang
Hi, Zixuan

Thanks for your proposal. I'm +1 for it.

>  This is a feature I need. If cherry-pick is not allowed, then it will
only be kept in 3.2+.

This is a new feature, and I also think that we couldn't cherry-pick
it. What about cherry-picking this change to your fork repo and
building the pulsar for your own to meet this need? Does it make sense
to you?

BR,
Zike Yang

On Mon, Sep 25, 2023 at 12:23 AM mattison chao  wrote:
>
> Hi, Zixuan
>
> I am afraid I can't support you in cherry-picking this feature for all of the 
> active branches by the current fact. Because this is a new feature and it's 
> not a bug fix or security issue.
>
> We can wait for other contributor's ideas.  WDYT?
>
> Thanks,
> Mattison
> On 19 Sep 2023 at 10:42 +0800, Zixuan Liu , wrote:
> > > 1. When you want to cherry-pick a PR, it should be cherry-picked for all 
> > > branches after the target branch. Isn't it?
> >
> > I think we should cherry-pick this PR to Pulsar 2.10, 2.11, 3.0.
> >
> > > 2. I've got a slight concern about cherry-picking. Do you have any issue 
> > > or feature request in the community that can demonstrate this feature is 
> > > required to cherry-pick?
> >
> > This is a feature I need. If cherry-pick is not allowed, then it will
> > only be kept in 3.2+.
> >
> > Thanks,
> > Zixuan
> >
> > mattison chao  于2023年9月18日周一 09:42写道:
> >
> > >
> > > HI, Zixuan
> > >
> > > Thanks for your discussion. It's a great feature. But I've got several 
> > > questions I want to discuss here.
> > >
> > > 1. When you want to cherry-pick a PR, it should be cherry-picked for all 
> > > branches after the target branch. Isn't it?
> > > 2. I've got a slight concern about cherry-picking. Do you have any issue 
> > > or feature request in the community that can demonstrate this feature is 
> > > required to cherry-pick?
> > >
> > >
> > > Best,
> > > Mattison
> > > On 12 Sep 2023 at 11:25 +0800, Zixuan Liu , wrote:
> > > > > BTW, I think we can cherry-pick this feature to the Pulsar 2.10. As
> > > > > far as I know, the Pulsar 2.10 is a stable/main version, because many
> > > > > users are using it.
> > > > >
> > > > > Thanks,
> > > > > Zixuan
> > > > >
> > > > > Zixuan Liu  于2023年9月5日周二 17:09写道:
> > > > > > >
> > > > > > > Hi Pulsar Community,
> > > > > > >
> > > > > > > Discuss for PIP-300: https://github.com/apache/pulsar/pull/21127
> > > > > > >
> > > > > > > Thanks,
> > > > > > > Zixuan


Re: [DISCUSS] Unload Rate Limiting during Graceful Shutdown of Pulsar

2023-09-25 Thread Zike Yang
> If we want the
maximum concurrency per second to be 1, and set the maximum
concurrency per minute to 60, then the actual maximum concurrency per
second could be up to 60, which is 60 times larger than our expected
maximum concurrency.

I think the RateLimiter can handle it:
https://github.com/apache/pulsar/blob/a1405ea006f175b1bd0b9d28b9444d592fb4a010/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java#L965-L968

> Secondly, we already have the `maxConcurrentUnloadPerSec`
configuration, which is provided to the user in the CLI. Adding a
similar `brokerShutdownMaxNumberOfGracefulBundleUnloadPerMinute`
configuration might confuse users.

`maxConcurrentUnloadPerSec ` is for the admin and CLI usage. This
proposal is to add
`brokerShutdownMaxNumberOfGracefulBundleUnloadPerMinute ` to the
broker configuration.


Overall, I'm +1 for this proposal. And I agree that we need a new PIP
for this change.

BR,
Zike Yang

On Mon, Sep 25, 2023 at 3:54 PM Xiangying Meng  wrote:
>
> Hi Donglai, Heesung
>
> >brokerShutdownMaxNumberOfGracefulBundleUnloadPerMinute=60 is the same as
> brokerShutdownMaxNumberOfGracefulBundleUnloadPerSec=1 So, the "per-min"
> config can be more granular.
>
> I have some doubts about introducing the
> `brokerShutdownMaxNumberOfGracefulBundleUnloadPerMinute`
> configuration.
>
> Firstly, I also think that a minute is too long. If we want the
> maximum concurrency per second to be 1, and set the maximum
> concurrency per minute to 60, then the actual maximum concurrency per
> second could be up to 60, which is 60 times larger than our expected
> maximum concurrency. Moreover, if the unload requests are concentrated
> in the last 10 seconds of the previous minute and the first 10 seconds
> of the next minute, then the concurrency during this period will
> exceed our configuration. Such fluctuations are inevitable, but the
> larger the time span we set, the greater the distortion of the
> configuration.
>
> Secondly, we already have the `maxConcurrentUnloadPerSec`
> configuration, which is provided to the user in the CLI. Adding a
> similar `brokerShutdownMaxNumberOfGracefulBundleUnloadPerMinute`
> configuration might confuse users. When designing configuration
> parameters, we should try to keep it simple and consistent, and avoid
> introducing unnecessary complexity.
>
> Thanks,
> Xiangying
>
> On Mon, Sep 25, 2023 at 12:14 PM Yubiao Feng
>  wrote:
> >
> > Hi Donglai, Mattison
> >
> > I agree with @Mattison
> >
> > Thanks
> > Yubiao Feng
> >
> > On Mon, Aug 21, 2023 at 8:50 PM  wrote:
> >
> > >
> > > Hi,
> > >
> > > I agree with this change to improve the stability of the pulsar cluster.
> > >
> > > Just one concern. it's better to move this discussion to a new PIP.
> > > because you wanna introduce a new broker configuration.
> > > `brokerShutdownMaxNumberOfGracefulBundleUnloadPerMinute`
> > >
> > > FYI: https://github.com/apache/pulsar/blob/master/pip/README.md
> > >
> > > Looking forward this change and thanks for your contribution. :)
> > >
> > > Best,
> > > Mattison
> > >
> > >
> > >
> > > On 7 Jul 2023 at 15:30 +0800, labuladong , wrote:
> > > > Thanks you guys.
> > > >
> > > >
> > > > I agree that per-minute is better than per-second, which is more
> > > flexible.
> > > >
> > > >
> > > > I open an issue here:
> > > >
> > > >
> > > > https://github.com/apache/pulsar/issues/20753
> > > >
> > > >
> > > > Regards,
> > > > donglai
> > >


Re: [DISCUSS] Release Pulsar 3.1.1

2023-09-25 Thread Zike Yang
+1

Zike Yang

On Mon, Sep 25, 2023 at 2:55 PM Enrico Olivelli  wrote:
>
> +1
>
> Enrico
>
> Il giorno lun 25 set 2023 alle ore 05:08 Yubiao Feng
>  ha scritto:
> >
> > +1
> >
> > Thanks
> > Yubiao Feng
> >
> > On Mon, Sep 18, 2023 at 1:32 PM guo jiwei  wrote:
> >
> > > Hi all,
> > >
> > > I would like to propose releasing the Pulsar 3.1.1.
> > >
> > > It's over one month since the release of 3.1.0 and there are 56 new 
> > > commits
> > > in branch-3.1:
> > > https://github.com/apache/pulsar/compare/v3.1.0...branch-3.1
> > >
> > > We need to cut a new release. Please let me know if you have any
> > > important fixes that need to be included in Pulsar 3.1.1.
> > >
> > >
> > > Regards
> > > Jiwei Guo (Tboy)
> > >


Re: [VOTE] PIP-302 Add new API readAllExistingMessages for TableView

2023-09-25 Thread Zike Yang
Hi, Xiangying

This PIP is a little confusing to me.
This mail title states that we are introducing `readAllExistingMessages`.
But actually, we only introduced `refreshAsync` in the PIP:
https://github.com/apache/pulsar/pull/21166/files#diff-45c655583d6c0c73d87afd3df3fe67f77caadbf1bd691cf8f8211cc89728a1ceR34-R36
And the PR title doesn't seem relevant. “PIP-302 Add alwaysRefresh
Configuration Option for TableView to Read Latest Values”

BR,
Zike Yang

On Mon, Sep 25, 2023 at 3:25 PM Xiangying Meng  wrote:
>
> Hi dev,
>This thread is to start a vote for PIP-302 Add new API
> readAllExistingMessages for TableView.
> Discuss thread: 
> https://lists.apache.org/thread/o085y2314o0fymvx0x8pojmgjwcwn59q
> PIP: https://github.com/apache/pulsar/pull/21166
>
> BR,
> Xiangying


Re: [DISCUSS] Release Pulsar 3.0.2

2023-09-24 Thread Zike Yang
+1

BR,
Zike Yang

On Sun, Sep 24, 2023 at 11:58 PM Dave Fisher  wrote:
>
> Please use the correct name of the project - Apache Pulsar.
>
> Thanks,
> Dave
>
> Sent from my iPhone
>
> > On Sep 24, 2023, at 7:08 AM, Yubiao Feng 
> >  wrote:
> >
> > Hi all
> >
> > I would like to propose releasing the Pulsar 3.0.2
> >
> > It's over one month since the release of 3.1.0, and there are 82 new
> > commits.
> >
> > in branch-3.0:
> > https://github.com/apache/pulsar/compare/v3.0.1...branch-3.0
> >
> > We need to cut a new release. Please let me know if you have any
> > important fixes that need to be included in Pulsar 3.0.2
> >
> > Thanks
> > Yubiao Feng
>


Re: [VOTE] PIP-286: Make the TopicCompactionService to support find entry based on publishTime or index

2023-09-17 Thread Zike Yang
+1 (non-binding)

BR,
Zike Yang

On Mon, Sep 18, 2023 at 9:35 AM mattison chao  wrote:
>
> +1 (binding)
>
> Best,
> Mattison
> On 18 Sep 2023 at 09:19 +0800, PengHui Li , wrote:
> > +1 (binding)
> >
> > Thanks,
> > Penghui
> >
> > On Thu, Sep 14, 2023 at 11:23 AM Cong Zhao  wrote:
> >
> > > Hi, all
> > >
> > > Since there are no other concerns in the discussion, I'm delighted to
> > > start the voting process for the PIP-286.
> > >
> > > Here is the link to the PIP: https://github.com/apache/pulsar/pull/20867
> > >
> > > Thanks,
> > > Cong Zhao
> > >


Re: [VOTE] Pulsar DotPulsar Release 3.0.0 Candidate 1

2023-09-12 Thread Zike Yang
> We may publish an X.Y.Z-rcN version on NuGet as a staged one for 
> verification. And publish
an X.Y.Z version on NuGet as a formal one when the vote is passed.

+1. Installing the NuGet package from a local package file is
complicated and not recommended. Publishing to the NuGet would make
the release validation easier.

Thanks,
Zike Yang

On Tue, Sep 12, 2023 at 9:30 PM tison  wrote:
>
> Thanks for your participants!
>
> The release is moved to
> https://dist.apache.org/repos/dist/release/pulsar/pulsar-dotpulsar-3.0.0.
>
> Here are several follow-ups for the next release:
>
> * NOTICE file - Fixed by https://github.com/apache/pulsar-dotpulsar/pull/174
> .
> * Write a RELEASE guide - I'll summarize to actions I did in this release.
> * Automaze releases - https://github.com/apache/pulsar-dotpulsar/issues/117
> * Binary release - @blankenstei...@apache.org 
> told me that releasing nuget package to SVN is meaningless. We may publish
> an X.Y.Z-rcN version on NuGet as a staged one for verification. And publish
> an X.Y.Z version on NuGet as a formal one when the vote is passed.
>
> Best,
> tison.
>
>
> mattison chao  于2023年9月11日周一 13:01写道:
>
> > +1 (binding)
> >
> > • Checked signature and checksums
> > • Built the client from the source
> > • Ran basic example.
> >
> >
> > Best,
> > Mattison
> > On 8 Sep 2023 at 17:57 +0800, tison , wrote:
> > > +1 (binding)
> > >
> > > I checked
> > >
> > > - Signature and checksums match
> > > - Build the client from the source
> > > - Run examples
> > >
> > > Best,
> > > tison.
> > >
> > >
> > > Yunze Xu  于2023年9月8日周五 01:15写道:
> > >
> > > > +1 (binding)
> > > >
> > > > - Verified signature and checksums
> > > > - Build from source with dotnet 7.0.400 on Windows 11
> > > > - Run the example by adding the dotpulsar 3.0.0 dependency
> > > >
> > > > But I think there are some points to improve with the document. I'm
> > > > new to the dotnet CLI though I have some experiences of C# a few years
> > > > ago. I created the project via Visual Studio. However, when I tried to
> > > > add the dependency via `dotnet add` command, I found it failed with a
> > > > project template created by Visual Studio. Eventually I have to create
> > > > and run a project via dotnet CLI:
> > > >
> > > > ```
> > > > cd project-dir
> > > > dotnet new console
> > > > dotnet add package DotPulsar --version 3.0.0
> > > > # Edit the Program.cs
> > > > dotnet build
> > > > dotnet run
> > > > ```
> > > >
> > > > It would be helpful to provide more guide, even links to existings
> > > > tutorial from MSDN.
> > > >
> > > > Thanks,
> > > > Yunze
> > > >
> > > > On Tue, Sep 5, 2023 at 3:51 PM Zike Yang  wrote:
> > > > > >
> > > > > > +1 (non-binding)
> > > > > >
> > > > > > - Verified signature and checksums
> > > > > > - Install the nupkg file
> > > > > > - Build the client from the source
> > > > > > - Run examples
> > > > > >
> > > > > > But I find that the dotpulsar 3.0.0 has already been published to
> > the
> > > > > > nuget.org: https://www.nuget.org/packages/DotPulsar/3.0.0
> > > > > >
> > > > > > BR,
> > > > > > Zike Yang
> > > > > >
> > > > > > On Sun, Sep 3, 2023 at 11:48 AM tison 
> > wrote:
> > > > > > > >
> > > > > > > > Hi everyone,
> > > > > > > >
> > > > > > > > This is the first release candidate for Apache DotPulsar,
> > version
> > > > 3.0.0.
> > > > > > > >
> > > > > > > > It fixes the following issues:
> > > > > > > >
> > https://github.com/apache/pulsar-dotpulsar/compare/2.11.1...3.0.0
> > > > > > > >
> > > > > > > > Please download the source files and review this release
> > candidate:
> > > > > > > > - Download the source package, verify shasum and asc
> > > > > > > > - Follow the README.md to build and run the DotPulsar.
> > > > > > > >
> > > > > > > > The vote will be open for at least 72 hours. It is adopted by
> > majority
> > > > > > > > approval, with at least 3 PMC affirmative votes.
> > > > > > > >
> > > > > > > > Source files:
> > > > > > > >
> > > >
> > https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-3.0.0-candidate-1/
> > > > > > > >
> > > > > > > > Pulsar's KEYS file containing PGP keys we use to sign the
> > release:
> > > > > > > > https://downloads.apache.org/pulsar/KEYS
> > > > > > > >
> > > > > > > > The tag to be voted upon:
> > > > > > > > v3.0.0
> > > > > > > > https://github.com/apache/pulsar-dotpulsar/releases/tag/3.0.0
> > > > > > > >
> > > > > > > > Please review and vote on the release candidate #1 for the
> > version
> > > > 3.0.0,
> > > > > > > > as follows:
> > > > > > > >
> > > > > > > > [ ] +1, Approve the release
> > > > > > > > [ ] -1, Do not approve the release (please provide specific
> > comments)
> > > > > > > >
> > > > > > > > Best,
> > > > > > > > tison.
> > > >
> >


Re: [DISCUSS] PIP-286: Add findNewestPosition method in the TopicCompactionService API

2023-09-11 Thread Zike Yang
+1 for me.

Thanks,
Zike Yang

On Mon, Sep 11, 2023 at 11:13 AM Cong Zhao  wrote:
>
> Hi, guys
>
> I noticed that the only globally ordered fields in the metadata are 
> 'publishTime' and 'entryIndex' (offset), so I split the previous method into 
> `findEntryByPublishTime` and `findEntryByEntryIndex`,
> this will make method definitions more precise.
>
> The method returns the entry directly instead of RawEntryMetadata to avoid 
> introducing a new interface, it's important to note that the caller needs to 
> release it manually.
>
> I already updated the proposal, please help review it.
>
> Thanks,
> Cong Zhao
>
> On 2023/07/25 04:12:09 Cong Zhao wrote:
> > Hi Pulsar Community, I am writing to start the discussion on PIP 286  PR
> > with PIP contents: https://github.com/apache/pulsar/pull/20867  Thanks,
> > Cong Zhao
> >


[VOTE] Pulsar Client Go Release 0.11.1 Candidate 1

2023-09-11 Thread Zike Yang
Hi everyone,
Please review and vote on the release candidate #1 for the version
0.11.1, as follows:
[ ] +1, Approve the release
[ ] -1, Do not approve the release (please provide specific comments)

This is the first release candidate for Apache Pulsar Go client, version 0.11.1.

It fixes the following issues:
https://github.com/apache/pulsar-client-go/compare/v0.11.0...v0.11.1-candidate-1

Pulsar Client Go's KEYS file contains PGP keys we used to sign this release:
https://dist.apache.org/repos/dist/dev/pulsar/KEYS

Please download these packages and review this release candidate:
- Review release notes: https://github.com/apache/pulsar-client-go/pull/1092
- Download the source package (verify shasum, and asc) and follow the
README.md to build and run the pulsar-client-go.

The vote will be open for at least 72 hours. It is adopted by majority
approval, with at least 3 PMC affirmative votes.

Source file:
https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-go-0.11.1-candidate-1/

The tag to be voted upon:
v0.11.1-candidate-1
https://github.com/apache/pulsar-client-go/tree/v0.11.1-candidate-1

SHA-512 checksums:
d2209c652918acee8d2c77d52a0a556af16ff7fc3e30ad96d05e01285b83a61d1a1f0d32bace184f830e2dd2e4dd20910e9ce5ae23aac4a40eb3d19885cb0182
 apache-pulsar-client-go-0.11.1-src.tar.gz


Re: [VOTE] PIP-277: Add `current` option in the Clusters list cmd

2023-09-06 Thread Zike Yang
+1 (non-binding)

BR,
Zike Yang

On Wed, Sep 6, 2023 at 11:47 PM tison  wrote:
>
> +1 (binding)
>
> Trivial with low risk.
>
> Best,
> tison.
>
>
> mattison chao  于2023年9月6日周三 22:50写道:
>
> > +1 (binding)
> >
> > Best,
> > Mattison
> > On 6 Sep 2023 at 22:37 +0800, PengHui Li , wrote:
> > > +1 (binding)
> > >
> > > The proposal just added a new option to show which cluster is the current
> > > cluster accessed. It will not break any existing behavior.
> > >
> > > Regards,
> > > Penghui
> > >
> > > On Wed, Sep 6, 2023 at 4:21 PM guo jiwei  wrote:
> > >
> > > > Hi dev,
> > > > This thread is to start a vote for PIP-277: Add `current` option in the
> > > > Clusters list cmd
> > > >
> > > > Discuss thread :
> > > > https://lists.apache.org/thread/800r6ld5wg7bttbywmk38m1qx12hs6nl
> > > > PIP: https://github.com/apache/pulsar/pull/20614
> > > >
> > > >
> > > >
> > > > Regards
> > > > Jiwei Guo (Tboy)
> > > >
> >


Re: [VOTE] PIP-297: Support terminating Function & Connector with the fatal exception

2023-09-06 Thread Zike Yang
Thank you all.

Close this vote by 3 binding +1s:
- Enrico
- Penghui Li
- Mattison

And 1 non-binding +1: Baodi Shi

Thanks,
ZIke Yang

On Tue, Sep 5, 2023 at 9:25 AM  wrote:
>
> +1 (binding)
>
> Best,
> Mattison
> On 5 Sep 2023 at 09:07 +0800, PengHui Li , wrote:
> > +1 (binding)
> >
> > Thanks,
> > Penghui
> >
> > On Tue, Sep 5, 2023 at 8:40 AM Baodi Shi  wrote:
> >
> > > +1(non-binding)
> > >
> > >
> > > Thanks,
> > > Baodi Shi
> > >
> > >
> > > On Sep 5, 2023 at 05:23:38, Enrico Olivelli  wrote:
> > >
> > > > > +1 (binding)
> > > > >
> > > > > Enrico
> > > > >
> > > > > Il giorno lun 4 set 2023 alle ore 12:32 Zike Yang  ha
> > > > > scritto:
> > > > >
> > > > >
> > > > > Hi, all
> > > > >
> > > > >
> > > > > Since there are no other concerns in the discussion, I'm delighted to
> > > > >
> > > > > start the voting process for the PIP-297.
> > > > >
> > > > >
> > > > > Here is the link to the PIP: 
> > > > > https://github.com/apache/pulsar/pull/21079
> > > > >
> > > > >
> > > > > BR,
> > > > >
> > > > > Zike Yang
> > > > >
> > > > >
> > >


Re: [VOTE] Pulsar DotPulsar Release 3.0.0 Candidate 1

2023-09-05 Thread Zike Yang
+1 (non-binding)

- Verified signature and checksums
- Install the nupkg file
- Build the client from the source
- Run examples

But I find that the dotpulsar 3.0.0 has already been published to the
nuget.org: https://www.nuget.org/packages/DotPulsar/3.0.0

BR,
Zike Yang

On Sun, Sep 3, 2023 at 11:48 AM tison  wrote:
>
> Hi everyone,
>
> This is the first release candidate for Apache DotPulsar, version 3.0.0.
>
> It fixes the following issues:
> https://github.com/apache/pulsar-dotpulsar/compare/2.11.1...3.0.0
>
> Please download the source files and review this release candidate:
> - Download the source package, verify shasum and asc
> - Follow the README.md to build and run the DotPulsar.
>
> The vote will be open for at least 72 hours. It is adopted by majority
> approval, with at least 3 PMC affirmative votes.
>
> Source files:
> https://dist.apache.org/repos/dist/dev/pulsar/pulsar-dotpulsar-3.0.0-candidate-1/
>
> Pulsar's KEYS file containing PGP keys we use to sign the release:
> https://downloads.apache.org/pulsar/KEYS
>
> The tag to be voted upon:
> v3.0.0
> https://github.com/apache/pulsar-dotpulsar/releases/tag/3.0.0
>
> Please review and vote on the release candidate #1 for the version 3.0.0,
> as follows:
>
> [ ] +1, Approve the release
> [ ] -1, Do not approve the release (please provide specific comments)
>
> Best,
> tison.


[VOTE] PIP-297: Support terminating Function & Connector with the fatal exception

2023-09-04 Thread Zike Yang
Hi, all

Since there are no other concerns in the discussion, I'm delighted to
start the voting process for the PIP-297.

Here is the link to the PIP: https://github.com/apache/pulsar/pull/21079

BR,
Zike Yang


Re: [DISCUSS] PIP-297: Support raising exceptions using Function & Connector context

2023-08-29 Thread Zike Yang
Hi, Enrico

Thanks for your review. I have replied under the PR.

BR,
Zike Yang

On Mon, Aug 28, 2023 at 6:39 PM Enrico Olivelli  wrote:
>
> Zike,
>
> Il giorno lun 28 ago 2023 alle ore 11:53 Zike Yang  ha 
> scritto:
> >
> > Hi, all
> >
> > I opened a new PIP: https://github.com/apache/pulsar/pull/21079
> >
> > This PIP is to improve the current function exception handler. It will
> > be applied to both Pulsar Function and Pulsar IO Connector.
> >
> > Please feel free to give your feedback. Thanks!
>
> I have added feedback ont he GH issue.
>
> Summary:
> - let's have two methods: raiseTemporaryError and raiseFatalError
> - please clarify what happens in the method is called on a thread that
> is not the main thread
>
> Enrico
>
> >
> > BR,
> > Zike Yang


[DISCUSS] PIP-297: Support raising exceptions using Function & Connector context

2023-08-28 Thread Zike Yang
Hi, all

I opened a new PIP: https://github.com/apache/pulsar/pull/21079

This PIP is to improve the current function exception handler. It will
be applied to both Pulsar Function and Pulsar IO Connector.

Please feel free to give your feedback. Thanks!

BR,
Zike Yang


Re: [DISCUSS] Release DotPulsar 3.0.0

2023-08-28 Thread Zike Yang
+1

I am looking forward to this new release.

Thanks,
Zike Yang

On Mon, Aug 28, 2023 at 9:15 AM PengHui Li  wrote:
>
> +1
>
> Thanks for driving the release.
>
> Penghui
>
> On Fri, Aug 25, 2023 at 9:48 PM David Jensen  wrote:
>
> > Dear Apache PMC and Committers
> >
> > Me and Daniel Blankensteiner (blankensteiner) would like to announce we are
> > soon ready to release DotPulsar 3.0.0.
> >
> > The release contains breaking changes, therefor we bump to a new major
> > version.
> >
> > Changelog
> >
> > ### Added
> > - Added partitioned topic support for the Consumer and Reader (was
> > already implemented for the Producer)
> > - MessageId now includes an extra field for the topic
> > - A TryParse method is added to MessageId. Therefore, it is now
> > possible to parse a string into a MessageId object
> > - Support for `ProducerAccessMode` to prevent multiple producers on a
> > single topic
> > - A new `Fenced` state for producers which is a final state
> > - The ability to explicitly set compression information on an outgoing
> > message using `MessageMetadata` (for sending pre-compressed messages)
> >
> > ### Changed
> > - The DelayedStateMonitor extension method now invokes onStateLeft
> > when the initial state change is to a final state
> >
> > ### Fixed
> > - Issue preventing readers from correctly going into the `Faulted` state
> > - Calling `await Send(...)` on a producer did not correctly terminate
> > with an exception when a send operation failed (e.g. because the
> > producer faulted)
> > - The 'Partition' in 'MessageId' will now be set to the correct
> > partition when producing to partitioned topics
> > - The OnStateChangeFrom extension method with delay functionality
> > returned the inputted state but should return the current state
> > - The DelayedStateMonitor extension method invoked onStateLeft with
> > the inputted state but should have invoked it with the current state
> >
> > ### Deprecated
> > - GetLastMessageId of the Consumer and Reader is deprecated, and soon
> > to be removed. Please use GetLastMessageIds instead.
> >
> > Repo: https://github.com/apache/pulsar-dotpulsar
> >
> > Greetings
> > David Jensen
> >


Re: [DISCUSS]PIP-295: Fixing Chunk Message Duplication Issue

2023-08-26 Thread Zike Yang
> Hi Zike
You can see the processMessageChunk method of the ConsumerImpl.

Ah. That seems like a regression bug introduced by
https://github.com/apache/pulsar/pull/18511. I have pushed a PR to fix
it: https://github.com/apache/pulsar/pull/21070

For the behavior before Pulsar 3.0.0. The consumer should assemble the
message using 3,4,5.

Thanks for pointing this out.

BR,
Zike Yang

On Sat, Aug 26, 2023 at 3:58 PM Xiangying Meng  wrote:
>
> >> Consumer receive:
> >1. SequenceID: 0, ChunkID: 0
> >2. SequenceID: 0, ChunkID: 1
> >3. SequenceID: 0, ChunkID: 0 // chunk ID out of order. Release this
> >chunk and recycle its `chunkedMsgCtx`.
> >4. SequenceID: 0, ChunkID: 1  // chunkedMsgCtx == null Release it.
> >5. SequenceID: 0, ChunkID: 2  // chunkedMsgCtx == null Release it.
> >
> >I think this case is wrong. For the current implementation, the
> >message 3,4,5 will be assembled as a original large message.
>
> Hi Zike
> You can see the processMessageChunk method of the ConsumerImpl.
>
> ```
>
> ChunkedMessageCtx chunkedMsgCtx = 
> chunkedMessagesMap.get(msgMetadata.getUuid());
>
> if (msgMetadata.getChunkId() == 0 && chunkedMsgCtx == null) {
> //assemble a chunkedMsgCtx and put into
> pendingChunkedMessageUuidQueue and chunkedMessagesMap.
> }
>
> if (chunkedMsgCtx == null || chunkedMsgCtx.chunkedMsgBuffer == null
> || msgMetadata.getChunkId() !=
> (chunkedMsgCtx.lastChunkedMessageId + 1)) {
> if (chunkedMsgCtx != null) {
> if (chunkedMsgCtx.chunkedMsgBuffer != null) {
> ReferenceCountUtil.safeRelease(chunkedMsgCtx.chunkedMsgBuffer);
> }
> chunkedMsgCtx.recycle();
> }
> chunkedMessagesMap.remove(msgMetadata.getUuid());
> compressedPayload.release();
> increaseAvailablePermits(cnx);
> }
>
> ```
>
> On Sat, Aug 26, 2023 at 3:48 PM Zike Yang  wrote:
> >
> > > Consumer receive:
> > 1. SequenceID: 0, ChunkID: 0
> > 2. SequenceID: 0, ChunkID: 1
> > 3. SequenceID: 0, ChunkID: 0 // chunk ID out of order. Release this
> > chunk and recycle its `chunkedMsgCtx`.
> > 4. SequenceID: 0, ChunkID: 1  // chunkedMsgCtx == null Release it.
> > 5. SequenceID: 0, ChunkID: 2  // chunkedMsgCtx == null Release it.
> >
> > I think this case is wrong. For the current implementation, the
> > message 3,4,5 will be assembled as a original large message.
> >
> > HI, Heesung
> >
> >
> > > I think brokers probably need to track map to dedup
> >
> > I propose a simpler solution in this mail thread earlier, which
> > doesn't need to introduce map :
> >
> > > I think a simple better approach is to only check the deduplication
> > for the last chunk of the large message. The consumer only gets the
> > whole message after receiving the last chunk. We don't need to check
> > the deduplication for all previous chunks. Also by doing this we only
> > need bug fixes, we don't need to introduce a new PIP.
> >
> > Could you explain or show a case in what cases would lead to this
> > simpler solution not working?
> >
> > Thanks,
> > Zike Yang
> >
> > On Sat, Aug 26, 2023 at 1:38 PM Heesung Sohn
> >  wrote:
> > >
> > > > In this case, the consumer only can receive m1.
> > >
> > > Regarding this comment, can you explain how the consumer only receives m1?
> > > Here, m1's and m2's uuid and msgId will be different(if we suffix with a
> > > chunkingSessionId), although the sequence id is the same.
> > >
> > > > If we throw an exception when users use the same sequence to send the
> > > message.
> > > Do You mean `If "producers" throw an exception when users use the same
> > > sequence to send the message.`.
> > > Again, when the producers restart, they lose the last sequence id sent.
> > >
> > >
> > > > If we do not throw an exception when users use the same sequence to
> > > send the message.
> > >
> > > For this logic, how do we handle if the producer suddenly resends the
> > > chunked message with a different chunking scheme(e.g. maxMessageSize) ?
> > > uuid=1, sid=0, cid=0
> > > uuid=1, sid=0, cid=1
> > > uuid=2, sid=0, cid=0
> > > uuid=2, sid=0, cid=1
> > >
> > > We could refine what to track and algo logic on the broker side more, but
> > > do we agree that the broker chunk dedup logic is needed?
> > >
> > > I will continue to think more next week. Have a nice weekend.
> > >
> > >
> > >
> > &g

Re: [DISCUSS]PIP-295: Fixing Chunk Message Duplication Issue

2023-08-26 Thread Zike Yang
> Consumer receive:
1. SequenceID: 0, ChunkID: 0
2. SequenceID: 0, ChunkID: 1
3. SequenceID: 0, ChunkID: 0 // chunk ID out of order. Release this
chunk and recycle its `chunkedMsgCtx`.
4. SequenceID: 0, ChunkID: 1  // chunkedMsgCtx == null Release it.
5. SequenceID: 0, ChunkID: 2  // chunkedMsgCtx == null Release it.

I think this case is wrong. For the current implementation, the
message 3,4,5 will be assembled as a original large message.

HI, Heesung


> I think brokers probably need to track map to dedup

I propose a simpler solution in this mail thread earlier, which
doesn't need to introduce map :

> I think a simple better approach is to only check the deduplication
for the last chunk of the large message. The consumer only gets the
whole message after receiving the last chunk. We don't need to check
the deduplication for all previous chunks. Also by doing this we only
need bug fixes, we don't need to introduce a new PIP.

Could you explain or show a case in what cases would lead to this
simpler solution not working?

Thanks,
Zike Yang

On Sat, Aug 26, 2023 at 1:38 PM Heesung Sohn
 wrote:
>
> > In this case, the consumer only can receive m1.
>
> Regarding this comment, can you explain how the consumer only receives m1?
> Here, m1's and m2's uuid and msgId will be different(if we suffix with a
> chunkingSessionId), although the sequence id is the same.
>
> > If we throw an exception when users use the same sequence to send the
> message.
> Do You mean `If "producers" throw an exception when users use the same
> sequence to send the message.`.
> Again, when the producers restart, they lose the last sequence id sent.
>
>
> > If we do not throw an exception when users use the same sequence to
> send the message.
>
> For this logic, how do we handle if the producer suddenly resends the
> chunked message with a different chunking scheme(e.g. maxMessageSize) ?
> uuid=1, sid=0, cid=0
> uuid=1, sid=0, cid=1
> uuid=2, sid=0, cid=0
> uuid=2, sid=0, cid=1
>
> We could refine what to track and algo logic on the broker side more, but
> do we agree that the broker chunk dedup logic is needed?
>
> I will continue to think more next week. Have a nice weekend.
>
>
>
>
> On Fri, Aug 25, 2023 at 9:14 PM Xiangying Meng  wrote:
>
> > Hi Heesung,
> >
> > Maybe we only need to maintain the last chunk ID in a map.
> > Map map1.
> > And we already have a map maintaining the last sequence ID.
> > Map map2.
> >
> > If we do not throw an exception when users use the same sequence to
> > send the message.
> >
> > For any incoming msg, m :
> > chunk ID = -1;
> > If m is a chunk message:
> > chunk ID = m.chunkID.
> >   If m.currentSeqid < LastSeqId, dedup.
> >   If m.currentSeqid > LastSeqId && m.chunk ID = 0, nodedup
> > if chunk ID exists in the map.
> >Update it and log an error. This means there is an
> > incomplete chunk message.
> > If chunk ID does not exist in the map.
> >Put it on the map.
> >   If m.currentSeqid == LastSeqId,
> >1. if m.chunk ID == -1 || m.chunk ID == 0. dedup.
> >2. If 1 <= m.chunkID <= total chunk.
> >   1. If chunk ID does not exist in the map. dedup.
> >   2. If chunk ID exists in the map. dedup. Check the order
> > of the chunkID to determine whether dedup;
> >3. If m.chunkID == total chunk, persistent the chunk and
> > remove the chunkID in the map.
> >
> >
> > If we throw an exception when users use the same sequence to send the
> > message.
> >
> > For any incoming msg, m :
> > chunk ID = 0;
> > If m is a chunk message:
> > chunk ID = m.chunkID.
> >If m.currentSeqid < LastSeqId, dedup.
> >If m.currentSeqid == LastSeqId.
> >If chunkID > 0, Check the last chunkID to determine whether to
> > dedup.
> > If chunkID == 1, put chunkID into the map if absent.
> >IF chunkID = 0, dedup.
> >
> > BR,
> > xiangying
> >
> > On Sat, Aug 26, 2023 at 11:53 AM Heesung Sohn
> >  wrote:
> > >
> > > However, what If the producer jvm gets restarted after the broker
> > persists
> > > the m1 (but before updating their sequence id in their persistence
> > > storage), and the producer is trying to resend the same msg(so m2) with
> > the
> > > same sequence id after restarting?
> > >
> > >
> > >
> > >
> > >
> > > On Fri, Aug 25, 2023 at 8:22 PM Xiangying Meng 
> > wrote:
> > 

Re: [VOTE] PIP 296: Introduce the `getLastMessageIds` API to Reader

2023-08-25 Thread Zike Yang
+1 (non-binding)

Thanks,
Zike Yang

On Fri, Aug 25, 2023 at 2:52 PM Xiangying Meng  wrote:
>
> Hi Pulsar Community,
>
> This is the vote thread for PIP 296:
> https://github.com/apache/pulsar/pull/21052
>
> This PIP will help to improve the flexibility of Reader usage.
>
> Thanks,
> Xiangying


Re: [DISCUSS]PIP-295: Fixing Chunk Message Duplication Issue

2023-08-25 Thread Zike Yang
HI xiangying

> The rewind operation is seen in the test log.

That seems weird. Not sure if this rewind is related to the chunk consuming.

> 1. SequenceID: 0, ChunkID: 0
2. SequenceID: 0, ChunkID: 1
3. SequenceID: 0, ChunkID: 1
4. SequenceID: 0, ChunkID: 2
Such four chunks cannot be processed correctly by the consumer.

How would this happen to get two duplicated and consecutive ChunkID-1
messages? The producer should guarantee to retry the whole chunked
messages instead of some parts of the chunks.

> But chunks 1, 2, 3, and 4 are still persisted in the topic.

I think it's OK to persist them all in the topic. Is there any issue
with doing that?

> There is another point. The resend of the chunk message has a bug that
I shared with you, and you fixed in PR [0]. It will make this case
happen in another way.

If the user sets the sequence ID manually, the case could be reproduced.

BR,
Zike Yang

On Thu, Aug 24, 2023 at 8:48 PM Xiangying Meng  wrote:
>
> >IIUC, this may change the existing behavior and may introduce 
> >inconsistencies.
> >Suppose that we have a large message with 3 chunks. But the producer
> >crashes and resends the message after sending the chunk-1. It will
> >send a total of 5 messages to the Pulsar topic:
> >
> >1. SequenceID: 0, ChunkID: 0
> >2. SequenceID: 0, ChunkID: 1
> >3. SequenceID: 0, ChunkID: 0   -> This message will be dropped
> >4. SequenceID: 0, ChunkID: 1-> Will also be dropped
> >5. SequenceID: 0, ChunkID: 2-> The last chunk of the message
>
> Hi Zike
> There is another point. The resend of the chunk message has a bug that
> I shared with you, and you fixed in PR [0]. It will make this case
> happen in another way.
> Sample description for the  bug:
> Because the chunk message uses the same message metadata, if the chunk
> is not sent out immediately. Then, when resending, all chunks of the
> same chunk message use the chunk ID of the last chunk.
> In this case, It should happen as:
> 1. SequenceID: 0, ChunkID: 0 (Put op1 into `pendingMessages` and send)
> 2. SequenceID: 0, ChunkID: 1 (Put op2 into `pendingMessages` and send)
> 3. SequenceID: 0, ChunkID: 2   -> (Put op3 into `pendingMessages`)
> 4. SequenceID: 0, ChunkID: 2   -> (Resend op1)
> 5. SequenceID: 0, ChunkID: 2   -> (Resend op2)
> 6. SequenceID: 0, ChunkID: 2   -> (Send op3)
>
>
> BR,
> Xiangying
>
> [0] - https://github.com/apache/pulsar/pull/21048
>
> On Thu, Aug 24, 2023 at 8:09 PM Xiangying Meng  wrote:
> >
> > >> This solution also cannot solve the out-of-order messages inside the
> > >>chunks. For example, the above five messages will still be persisted.
> > >The consumer already handles this case. The above 5 messages will all
> > >be persisted but the consumer will skip message 1 and 2.
> > >For messages 3, 4, and 5. The producer can guarantee these chunks are in 
> > >order.
> >
> > The rewind operation is seen in the test log. Every time an incorrect
> > chunk message is received, it will rewind, and the code has yet to be
> > studied in depth.
> > If it does not call rewind, then this case is considered a workable
> > case. Let's look at another case.
> > 1. SequenceID: 0, ChunkID: 0
> > 2. SequenceID: 0, ChunkID: 1
> > 3. SequenceID: 0, ChunkID: 1
> > 4. SequenceID: 0, ChunkID: 2
> > Such four chunks cannot be processed correctly by the consumer.
> >
> > In fact, this solution is my original idea. The PR I mentioned in the
> > first email above uses a similar solution and modifies the logic on
> > the consumer side.
> > Also, as I mentioned in the first email, this solution can only solve
> > the problem of end-to-end duplication. But chunks 1, 2, 3, and 4 are
> > still persisted in the topic.
> >
> > On Thu, Aug 24, 2023 at 3:00 PM Zike Yang  wrote:
> > >
> > > Hi Heesung,
> > >
> > > > I believe in this PIP "similar to the existing "sequence ID map",
> > > to facilitate effective filtering" actually means tracking the last
> > > chunkId(not all chunk ids) on the broker side.
> > >
> > > With this simple solution, I think we don't need to track the
> > > (sequenceID, chunkID) on the broker side at all. The broker just needs
> > > to apply the deduplication logic to the last chunk instead of all
> > > previous chunks. This PIP actually could do that, but it will
> > > introduce a new data format and compatibility issue.
> > >
> > > > This is still a behavior change(deduping chunk messages on the broker),
> > > and I believe we need to discuss this addition as a PIP.
> > &

Re: [DISCUSS] PIP-293: Add configuration for batching/chunking for retry letter and dead letter producers

2023-08-24 Thread Zike Yang
Hi, Rin

Thanks for your PIP!

Chunking/batching is the feature for the producer. It would be
confusing if we introduce these concepts to the DeadLetterPolicy.
Regarding the issue mentioned in this PIP. I have created a PR to try
to fix it: https://github.com/apache/pulsar/pull/21048
I'm trying to enable chunking and disable batching for retry and DLQ
producers. PTAL. Thanks.

BR,
Zike Yang

On Sat, Aug 19, 2023 at 5:28 AM Rin Davis
 wrote:
>
> Hi Pulsar Community, This is the discussion thread for PIP
> https://github.com/apache/pulsar/pull/20959
> This PIP will allow users to specify that chunking/batching is enabled on
> retry letter and dead letter producers associated with a consumer.
>
> Thank you,
> Rin


Re: [DISCUSS]PIP-295: Fixing Chunk Message Duplication Issue

2023-08-24 Thread Zike Yang
Hi Heesung,

> I believe in this PIP "similar to the existing "sequence ID map",
to facilitate effective filtering" actually means tracking the last
chunkId(not all chunk ids) on the broker side.

With this simple solution, I think we don't need to track the
(sequenceID, chunkID) on the broker side at all. The broker just needs
to apply the deduplication logic to the last chunk instead of all
previous chunks. This PIP actually could do that, but it will
introduce a new data format and compatibility issue.

> This is still a behavior change(deduping chunk messages on the broker),
and I believe we need to discuss this addition as a PIP.

Actually, we didn't specifically state the deduping chunk message
behavior before. The chunked message should be equally applicable to
the de-duplication logic as a regular message. Therefore, I think it
should be considered as a bug fix. But if this FIX is worth discussing
in depth. I have no objection to it being a new PIP.

> I think brokers can track the last chunkMaxMessageSize for
each producer.

Using different chunkMaxMessageSize is just one of the aspects. In
PIP-132 [0], we have included the message metadata size when checking
maxMessageSize.
The message metadata can be changed after splitting the chunks. We are
still uncertain about the way the chunked message is split, even using
the same ss chunkMaxMessageSize.

> then the brokers can assume that the producer is resending the chunks from
the beginning with a different scheme(restarted with a different
chunkMaxMessageSize) and accept those new chunks from the beginning.

Regarding this, it seems like we are implementing dynamic
configuration for the chunkMaxMessageSize. I'm afraid that this would
change the expected behavior and introduce more complexity to this
configuration.


[0] https://github.com/apache/pulsar/pull/14007

BR,
Zike Yang

On Thu, Aug 24, 2023 at 2:21 PM Zike Yang  wrote:
>
> Hi, xiangying
>
> > it will find that the message
> is out of order and rewind the cursor. Loop this operation, and
> discard this message after it expires instead of assembling 3, 4, 5
> into a message.
>
> Could you point out where the implementation for this?  From my
> understanding, there should not be any rewind operation for the
> chunking feature. You can check more detail here:
> https://streamnative.io/blog/deep-dive-into-message-chunking-in-pulsar#how-message-chunking-is-implemented
>
> > This solution also cannot solve the out-of-order messages inside the
> chunks. For example, the above five messages will still be persisted.
>
> The consumer already handles this case. The above 5 messages will all
> be persisted but the consumer will skip message 1 and 2.
> For messages 3, 4, and 5. The producer can guarantee these chunks are in 
> order.
>
> BR,
> Zike Yang
>
> On Thu, Aug 24, 2023 at 11:48 AM Yubiao Feng
>  wrote:
> >
> > > 1. SequenceID: 0, ChunkID: 0
> > > 2. SequenceID: 0, ChunkID: 1
> > > 3. SequenceID: 0, ChunkID: 0
> > > 4. SequenceID: 0, ChunkID: 1
> > > 5. SequenceID: 0, ChunkID: 2
> > > For the existing behavior, the consumer assembles
> > > messages 3,4,5 into
> > > the original large message. But the changes brought
> > > about by this PIP
> > > will cause the consumer to use messages 1,2,5 for
> > > assembly. There is
> > > no guarantee that the producer will split the message
> > > in the same way
> > > twice before and after. For example, the producer's
> > > maxMessageSize may
> > > be different. This may cause the consumer to
> > > receive a corrupt
> > > message.
> >
> > Good point.
> >
> >
> > Thanks
> > Yubiao Feng
> >
> > On Wed, Aug 23, 2023 at 12:34 PM Zike Yang  wrote:
> >
> > > Hi, xiangying,
> > >
> > > Thanks for your PIP.
> > >
> > > IIUC, this may change the existing behavior and may introduce
> > > inconsistencies.
> > > Suppose that we have a large message with 3 chunks. But the producer
> > > crashes and resends the message after sending the chunk-1. It will
> > > send a total of 5 messages to the Pulsar topic:
> > >
> > > 1. SequenceID: 0, ChunkID: 0
> > > 2. SequenceID: 0, ChunkID: 1
> > > 3. SequenceID: 0, ChunkID: 0   -> This message will be dropped
> > > 4. SequenceID: 0, ChunkID: 1-> Will also be dropped
> > > 5. SequenceID: 0, ChunkID: 2-> The last chunk of the message
> > >
> > > For the existing behavior, the consumer assembles messages 3,4,5 into
> > > the original large message. But the changes brought about by this PIP
> > > will cause the co

Re: [DISCUSS]PIP-295: Fixing Chunk Message Duplication Issue

2023-08-24 Thread Zike Yang
Hi, xiangying

> it will find that the message
is out of order and rewind the cursor. Loop this operation, and
discard this message after it expires instead of assembling 3, 4, 5
into a message.

Could you point out where the implementation for this?  From my
understanding, there should not be any rewind operation for the
chunking feature. You can check more detail here:
https://streamnative.io/blog/deep-dive-into-message-chunking-in-pulsar#how-message-chunking-is-implemented

> This solution also cannot solve the out-of-order messages inside the
chunks. For example, the above five messages will still be persisted.

The consumer already handles this case. The above 5 messages will all
be persisted but the consumer will skip message 1 and 2.
For messages 3, 4, and 5. The producer can guarantee these chunks are in order.

BR,
Zike Yang

On Thu, Aug 24, 2023 at 11:48 AM Yubiao Feng
 wrote:
>
> > 1. SequenceID: 0, ChunkID: 0
> > 2. SequenceID: 0, ChunkID: 1
> > 3. SequenceID: 0, ChunkID: 0
> > 4. SequenceID: 0, ChunkID: 1
> > 5. SequenceID: 0, ChunkID: 2
> > For the existing behavior, the consumer assembles
> > messages 3,4,5 into
> > the original large message. But the changes brought
> > about by this PIP
> > will cause the consumer to use messages 1,2,5 for
> > assembly. There is
> > no guarantee that the producer will split the message
> > in the same way
> > twice before and after. For example, the producer's
> > maxMessageSize may
> > be different. This may cause the consumer to
> > receive a corrupt
> > message.
>
> Good point.
>
>
> Thanks
> Yubiao Feng
>
> On Wed, Aug 23, 2023 at 12:34 PM Zike Yang  wrote:
>
> > Hi, xiangying,
> >
> > Thanks for your PIP.
> >
> > IIUC, this may change the existing behavior and may introduce
> > inconsistencies.
> > Suppose that we have a large message with 3 chunks. But the producer
> > crashes and resends the message after sending the chunk-1. It will
> > send a total of 5 messages to the Pulsar topic:
> >
> > 1. SequenceID: 0, ChunkID: 0
> > 2. SequenceID: 0, ChunkID: 1
> > 3. SequenceID: 0, ChunkID: 0   -> This message will be dropped
> > 4. SequenceID: 0, ChunkID: 1-> Will also be dropped
> > 5. SequenceID: 0, ChunkID: 2-> The last chunk of the message
> >
> > For the existing behavior, the consumer assembles messages 3,4,5 into
> > the original large message. But the changes brought about by this PIP
> > will cause the consumer to use messages 1,2,5 for assembly. There is
> > no guarantee that the producer will split the message in the same way
> > twice before and after. For example, the producer's maxMessageSize may
> > be different. This may cause the consumer to receive a corrupt
> > message.
> >
> > Also, this PIP increases the complexity of handling chunks on the
> > broker side. Brokers should, in general, treat the chunk as a normal
> > message.
> >
> > I think a simple better approach is to only check the deduplication
> > for the last chunk of the large message. The consumer only gets the
> > whole message after receiving the last chunk. We don't need to check
> > the deduplication for all previous chunks. Also by doing this we only
> > need bug fixes, we don't need to introduce a new PIP.
> >
> > BR,
> > Zike Yang
> >
> > On Fri, Aug 18, 2023 at 7:54 PM Xiangying Meng 
> > wrote:
> > >
> > > Dear Community,
> > >
> > > I hope this email finds you well. I'd like to address an important
> > > issue related to Apache Pulsar and discuss a solution I've proposed on
> > > GitHub. The problem pertains to the handling of Chunk Messages after
> > > enabling deduplication.
> > >
> > > In the current version of Apache Pulsar, all chunks of a Chunk Message
> > > share the same sequence ID. However, enabling the depublication
> > > feature results in an inability to send Chunk Messages. To tackle this
> > > problem, I've proposed a solution [1] that ensures messages are not
> > > duplicated throughout end-to-end delivery. While this fix addresses
> > > the duplication issue for end-to-end messages, there remains a
> > > possibility of duplicate chunks within topics.
> > >
> > > To address this concern, I believe we should introduce a "Chunk ID
> > > map" at the Broker level, similar to the existing "sequence ID map",
> > > to facilitate effective filtering. However, implementing this has led
> > > to a challenge: a producer requires storage for two Long values
> > > s

Re: [DISCUSS]PIP-295: Fixing Chunk Message Duplication Issue

2023-08-22 Thread Zike Yang
Hi, xiangying,

Thanks for your PIP.

IIUC, this may change the existing behavior and may introduce inconsistencies.
Suppose that we have a large message with 3 chunks. But the producer
crashes and resends the message after sending the chunk-1. It will
send a total of 5 messages to the Pulsar topic:

1. SequenceID: 0, ChunkID: 0
2. SequenceID: 0, ChunkID: 1
3. SequenceID: 0, ChunkID: 0   -> This message will be dropped
4. SequenceID: 0, ChunkID: 1-> Will also be dropped
5. SequenceID: 0, ChunkID: 2-> The last chunk of the message

For the existing behavior, the consumer assembles messages 3,4,5 into
the original large message. But the changes brought about by this PIP
will cause the consumer to use messages 1,2,5 for assembly. There is
no guarantee that the producer will split the message in the same way
twice before and after. For example, the producer's maxMessageSize may
be different. This may cause the consumer to receive a corrupt
message.

Also, this PIP increases the complexity of handling chunks on the
broker side. Brokers should, in general, treat the chunk as a normal
message.

I think a simple better approach is to only check the deduplication
for the last chunk of the large message. The consumer only gets the
whole message after receiving the last chunk. We don't need to check
the deduplication for all previous chunks. Also by doing this we only
need bug fixes, we don't need to introduce a new PIP.

BR,
Zike Yang

On Fri, Aug 18, 2023 at 7:54 PM Xiangying Meng  wrote:
>
> Dear Community,
>
> I hope this email finds you well. I'd like to address an important
> issue related to Apache Pulsar and discuss a solution I've proposed on
> GitHub. The problem pertains to the handling of Chunk Messages after
> enabling deduplication.
>
> In the current version of Apache Pulsar, all chunks of a Chunk Message
> share the same sequence ID. However, enabling the depublication
> feature results in an inability to send Chunk Messages. To tackle this
> problem, I've proposed a solution [1] that ensures messages are not
> duplicated throughout end-to-end delivery. While this fix addresses
> the duplication issue for end-to-end messages, there remains a
> possibility of duplicate chunks within topics.
>
> To address this concern, I believe we should introduce a "Chunk ID
> map" at the Broker level, similar to the existing "sequence ID map",
> to facilitate effective filtering. However, implementing this has led
> to a challenge: a producer requires storage for two Long values
> simultaneously (sequence ID and chunk ID). Because the snapshot of the
> sequence ID map is stored through the properties of the cursor
> (Map), so in order to satisfy the storage of two Longs
> (sequence ID, chunk ID) corresponding to one producer, we hope to add
> a mark DeleteProperties (Map) String, String>) to
> replace the properties (Map) field. To resolve this,
> I've proposed an alternative proposal [2] involving the introduction
> of a "mark DeleteProperties" (Map) to replace the
> current properties (Map) field.
>
> I'd appreciate it if you carefully review both PRs and share your
> valuable feedback and insights. Thank you immensely for your time and
> attention. I eagerly anticipate your valuable opinions and
> recommendations.
>
> Warm regards,
> Xiangying
>
> [1] https://github.com/apache/pulsar/pull/20948
> [2] https://github.com/apache/pulsar/pull/21027


Re: [ANNOUNCE] Apache Pulsar 3.1.0 released

2023-08-16 Thread Zike Yang
I have re-pushed the docker image, and the image for the intel arch
can work now.

BR,
Zike Yang

On Mon, Aug 14, 2023 at 6:29 PM Zike Yang  wrote:
>
> Congratulations!
>
> I just found an issue with the pulsar:3.1.0 docker image:
> There is only one arch supported `linux/arm64` for the pulsar:3.1.0:
> https://hub.docker.com/layers/apachepulsar/pulsar/3.1.0/images/sha256-307031b9bde3733344417a4d72702bc6727fad019056fe7922c50b6386eda46c?context=explore
> We need to push the `amd64` one.
>
> BR,
> Zike Yang
>
> On Mon, Aug 14, 2023 at 5:28 PM Enrico Olivelli  wrote:
> >
> > Congratulations!
> >
> > Enrico
> >
> > Il Lun 14 Ago 2023, 11:16 guo jiwei  ha scritto:
> >>
> >> The Apache Pulsar team is proud to announce Apache Pulsar version 3.1.0.
> >>
> >> Pulsar is a highly scalable, low latency messaging platform running on
> >> commodity hardware. It provides simple pub-sub semantics over topics,
> >> guaranteed at-least-once delivery of messages, automatic cursor management
> >> for
> >> subscribers, and cross-datacenter replication.
> >>
> >> For Pulsar release details and downloads, visit:
> >>
> >> https://pulsar.apache.org/download
> >>
> >> Release Notes are at:
> >> https://pulsar.apache.org/release-notes
> >>
> >> We would like to thank the contributors that made the release possible.
> >>
> >>
> >> Regards
> >> Jiwei Guo (Tboy)


Re: [Discuss] Release Pulsar Python Client 3.3.0

2023-08-15 Thread Zike Yang
+1

BR,
Zike Yang

On Tue, Aug 15, 2023 at 7:19 PM Baodi Shi  wrote:
>
> Hi all,
>
> I would like to propose releasing the Pulsar Python Client 3.3.0.
>
> It has been over 2 months since the last release (3.2.0). There have
> been some new features and bug fixes since then. It's time to release
> a new version.
>
>
>- https://github.com/apache/pulsar-client-python/milestone/4?closed=1
>
>
> Please let me know if you have any PRs that need to be included in 3.3.0.
>
>
> Thanks,
> Baodi Shi


  1   2   3   4   >