You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by Zike Yang <zi...@apache.org> on 2023/01/03 08:22:00 UTC

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

Thank you for verifying this release. Closing the vote

3 binding +1s:
* PengHui Li
* Yunze Xu
* Hang Chen

2 non-binding +1s:
* Baodi Shi
* Ran Gao

> However, I'm still wondering whether we still need to upload the
`napi-xxx.tar.gz` files? These files seem totally useless for users,
no matter in verification or using. We should not upload these files
to our release SVN repo.

When we install the pulsar nodejs client using npm, the npm needs to
download these files from https://archive.apache.org/. Without these
files, we cannot run `npm install` correctly. We upload these files to
svn only because they are necessary for the npm package installation,
so they are part of the release.
However, doing so also creates some inconvenience for the release
process. I was wondering if we could put these files(napi-xxx.tar.gz)
in the npm package file.
Do you have any ideas?

Thanks,
Zike Yang

On Fri, Dec 30, 2022 at 3:57 PM Baodi Shi <ba...@icloud.com.invalid> wrote:
>
> Supplement check:
>
> - Node.js version 10.24.1
> - Ubuntu 20.04
> - Install the NPM package via `npm install pulsar-client@1.8.0-rc.2`
> - Verify the producer and consumer.
>
>
>
> Thanks,
> Baodi Shi
>
> > 2022年12月30日 15:11,Hang Chen <ch...@apache.org> 写道:
> >
> > +1 (binding)
> >
> > - Check signatures
> > - Install from source on ubuntu 20.04 (node version >= 16.18 and npm
> > version >= 8.19.2)
> > - Run node producer and consumer to pub-sub messages
> >
> > Thanks,
> > Hang
> >
> > Yunze Xu <yz...@streamnative.io.invalid> 于2022年12月30日周五 10:54写道:
> >>
> >> +1 (binding)
> >> - Check signatures
> >> - Install from source
> >> - Install the NPM package via `npm install pulsar-client@1.8.0-rc.2`
> >> - Verify the producer, consumer, custom_logger examples with both two
> >> installation methods bove
> >>
> >> ----
> >>
> >> However, I'm still wondering whether we still need to upload the
> >> `napi-xxx.tar.gz` files? These files seem totally useless for users,
> >> no matter in verification or using. We should not upload these files
> >> to our release SVN repo.
> >>
> >> Thanks,
> >> Yunze
> >>
> >> On Wed, Dec 28, 2022 at 9:14 PM PengHui Li <pe...@apache.org> wrote:
> >>>
> >>> +1 (binding)
> >>>
> >>> Verify following the steps from
> >>> https://github.com/RobertIndie/pulsar-client-node-validation
> >>> - Start standalone (master branch)
> >>> - Start consumer (node ./examples/consumer.js)
> >>> - Start producer (node ./examples/producer.js)
> >>> - The consumer can receive the messages
> >>>
> >>> Regards,
> >>> Penghui
> >>>
> >>>
> >>> On Wed, Dec 28, 2022 at 1:45 PM Ran Gao <rg...@apache.org> wrote:
> >>>
> >>>> +1 (non-binding)
> >>>>
> >>>> - Checked npm package
> >>>> https://www.npmjs.com/package/pulsar-client/v/1.8.0-rc.2
> >>>> - Checked source code + napi-darwin-unknown-arm64 work on macOS 12.6 (M1
> >>>> Pro chip)
> >>>>
> >>>> Thanks,
> >>>> Ran Gao
> >>>>
> >>>> On 2022/12/27 08:29:35 Zike Yang wrote:
> >>>>> Hi everyone,
> >>>>>
> >>>>> This is the second release candidate for the Apache Pulsar Node.js
> >>>>> client, version 1.8.0.
> >>>>>
> >>>>> It fixes the following issues:
> >>>>> https://github.com/apache/pulsar-client-node/milestone/13?closed=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 rc package has been published to the npm registry:
> >>>>> https://www.npmjs.com/package/pulsar-client/v/1.8.0-rc.2
> >>>>> You can install it by `npm i pulsar-client@1.8.0-rc.2` 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.8.0-candidate-2/
> >>>>>
> >>>>> Pulsar's KEYS file containing PGP keys we use to sign the release:
> >>>>> https://dist.apache.org/repos/dist/dev/pulsar/KEYS
> >>>>>
> >>>>> SHA-512 checksum:
> >>>>>
> >>>> 80f9de8ca73b9a0bc7d083c6ba92e86721d381aa0689858270e074ff505f887533c40c5625b85a8b0943ced352e93eaafe67eb9bcb5afefadb4bd29b594620c4
> >>>>> pulsar-client-node-1.8.0.tar.gz
> >>>>>
> >>>>> The tag to be voted upon:
> >>>>> v1.8.0-rc.2
> >>>>> https://github.com/apache/pulsar-client-node/releases/tag/v1.8.0-rc.2
> >>>>>
> >>>>> Please review and vote on the release candidate #2 for the version
> >>>>> 1.8.0, as follows:
> >>>>> [ ] +1, Approve the release
> >>>>> [ ] -1, Do not approve the release (please provide specific comments)
> >>>>>
> >>>>> Thanks,
> >>>>> Zike Yang
> >>>>>
> >>>>
>

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

Posted by Nozomi Kurihara <nk...@apache.org>.
Hi Zike,

Thank you for clarifying the issues.
Sounds good if we can remove dependency on SVN.

> In addition, I suddenly thought that we also needed to upload the npm
package file `pulsar-client-1.X.0.tgz` to the SVN repo during the
release process. This file could be generated from `npm pack` command.
WDYT?

I don't think that uploading the npm package file is necessary.
https://www.apache.org/legal/release-policy.html#artifacts
According to the above document, if my understanding is correct, uploading
at least sources to SVN seems enough.

Best Regards,
Nozomi

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

Posted by Zike Yang <zi...@apache.org>.
Hi, Baodi,

> I don't think it's a good idea to upload (napi-xx.tar.gz) to npm, these files are tens of MB in total, and it doesn't solve the problem that the release rc version needs to change the address.

If we add `Pulsar.node` (which currently included in napi-xx.tar.gz)
to npm package file, then the npm will not need to download the
Pulsar.node file from an external URL. In this way, we no longer need
to specify the binary path. Is it possible to be implemented? It seems
this should solve the issue of release rc package.

Regarding the file size issue, The key point is whether we can make
npm use different package files on different platforms, so we don't
need to put all the Pulsar.node files of all platforms in one npm
package file.

> I think we can provide scripts to automatically modify these addresses and modify the release process documentation to explain the steps of release rc separately.

That's a good idea. And I'm working on this.

BR,
Zike Yang

On Sat, Jan 7, 2023 at 11:21 AM Baodi Shi <ba...@icloud.com.invalid> wrote:
>
> Hi, Zike:
>
>
> > However, doing so also creates some inconvenience for the release
> > process. I was wondering if we could put these files(napi-xxx.tar.gz)
> > in the npm package file.
> > Do you have any ideas?
>
> I don't think it's a good idea to upload (napi-xx.tar.gz) to npm, these files are tens of MB in total, and it doesn't solve the problem that the release rc version needs to change the address.
>
> I think we can provide scripts to automatically modify these addresses and modify the release process documentation to explain the steps of release rc separately.
>
>
> Thanks,
> Baodi Shi

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

Posted by Baodi Shi <ba...@icloud.com.INVALID>.
Hi, Zike:


> However, doing so also creates some inconvenience for the release
> process. I was wondering if we could put these files(napi-xxx.tar.gz)
> in the npm package file.
> Do you have any ideas?

I don't think it's a good idea to upload (napi-xx.tar.gz) to npm, these files are tens of MB in total, and it doesn't solve the problem that the release rc version needs to change the address.

I think we can provide scripts to automatically modify these addresses and modify the release process documentation to explain the steps of release rc separately.


Thanks,
Baodi Shi

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

Posted by Zike Yang <zi...@apache.org>.
Hi Nozomi,

> * What is the "inconvenience" for the release?

This inconvenience is mainly from the process of uploading release
candidates to npm. For example, when we upload the 1.8.0-rc.X to npm,
the npm need to download files from SVN when installing. Therefore, we
need to change the `binary.host` and `binary.remote_path` in
`package.json`[0] before publishing the release candidate. If there
are any mistakes in this step, the rc version will not work anymore.

In addition, The path for the SVN dev repo[1] is unstable. It may be
removed and bring some issues. For example, the rc package
`1.8.0-rc.2` will not work after we publish the final release 1.8.0.

> * Will you upload napi-xxx.tar.gz to "both" npm and SVN? (In my
understanding, uploading to SVN is necessary according to the Apache
guideline)

Yes. I have uploaded them.

> * What is the benefit of uploading to npm?

The above issues would be solved if we could combine these files into
the npm package file. Then this package file will work just like the
python client's wheel file[2]. It will decouple the npm and SVN repo.
The npm no longer needs to download files from the apache SVN repo.

In addition, I suddenly thought that we also needed to upload the npm
package file `pulsar-client-1.X.0.tgz` to the SVN repo during the
release process. This file could be generated from `npm pack` command.
WDYT?


[0] https://github.com/apache/pulsar-client-node/blob/0bef7999874f35df9229d2b2fce8d6f5df4f053d/package.json#L62-L63
[1] https://dist.apache.org/repos/dist/dev/pulsar/pulsar-client-node/pulsar-client-node-1.8.0-candidate-1/
[2] https://archive.apache.org/dist/pulsar/pulsar-client-python-3.0.0/macos/

BR,
Zike Yang





Zike Yang

On Thu, Jan 5, 2023 at 6:31 PM Yunze Xu <yz...@streamnative.io.invalid> wrote:
>
> Hi Nozomi,
>
> AFAIK, the napi-xxx.tar.gz will be uploaded to SVN so that `npm
> install` can download these pre-built binaries directly. I didn't look
> deeper into the `npm install` process, it might also download the
> pre-built binaries from the temporary download links from the
> candidate directory.
>
> Thanks,
> Yunze
>
> On Thu, Jan 5, 2023 at 5:55 PM Nozomi Kurihara <nk...@apache.org> wrote:
> >
> > Hi Zike,
> >
> > Thank you for managing this release.
> >
> > > However, doing so also creates some inconvenience for the release
> > process. I was wondering if we could put these files(napi-xxx.tar.gz)
> > in the npm package file.
> >
> > I'm sorry I don't get the point of your suggestion yet...
> > Could you explain
> > * What is the "inconvenience" for the release?
> > * Will you upload napi-xxx.tar.gz to "both" npm and SVN? (In my
> > understanding, uploading to SVN is necessary according to the Apache
> > guideline)
> > * What is the benefit of uploading to npm?
> >
> > Best Regards,
> > Nozomi

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

Posted by Yunze Xu <yz...@streamnative.io.INVALID>.
Hi Nozomi,

AFAIK, the napi-xxx.tar.gz will be uploaded to SVN so that `npm
install` can download these pre-built binaries directly. I didn't look
deeper into the `npm install` process, it might also download the
pre-built binaries from the temporary download links from the
candidate directory.

Thanks,
Yunze

On Thu, Jan 5, 2023 at 5:55 PM Nozomi Kurihara <nk...@apache.org> wrote:
>
> Hi Zike,
>
> Thank you for managing this release.
>
> > However, doing so also creates some inconvenience for the release
> process. I was wondering if we could put these files(napi-xxx.tar.gz)
> in the npm package file.
>
> I'm sorry I don't get the point of your suggestion yet...
> Could you explain
> * What is the "inconvenience" for the release?
> * Will you upload napi-xxx.tar.gz to "both" npm and SVN? (In my
> understanding, uploading to SVN is necessary according to the Apache
> guideline)
> * What is the benefit of uploading to npm?
>
> Best Regards,
> Nozomi

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

Posted by Nozomi Kurihara <nk...@apache.org>.
Hi Zike,

Thank you for managing this release.

> However, doing so also creates some inconvenience for the release
process. I was wondering if we could put these files(napi-xxx.tar.gz)
in the npm package file.

I'm sorry I don't get the point of your suggestion yet...
Could you explain
* What is the "inconvenience" for the release?
* Will you upload napi-xxx.tar.gz to "both" npm and SVN? (In my
understanding, uploading to SVN is necessary according to the Apache
guideline)
* What is the benefit of uploading to npm?

Best Regards,
Nozomi