FYI, I pushed a PR: https://github.com/apache/pulsar/pull/18909

Thanks,
Yunze

On Tue, Dec 13, 2022 at 7:55 PM Yunze Xu <y...@streamnative.io> wrote:
>
> In addition to the setup process, Go client assumes the cluster was
> not created [1] while C++ and Python clients don't care if it's
> created because it checks if the cluster exists before.
>
> [1] 
> https://github.com/apache/pulsar-client-go/blob/1fe9b624ca673e3a647780b7c6c4b2567089285a/scripts/pulsar-test-service-start.sh#L55
>
> Thanks,
> Yunze Xu
>
> On Tue, Dec 13, 2022 at 7:40 PM Yunze Xu <y...@streamnative.io> wrote:
> >
> > Hi all,
> >
> > I found a breaking change introduced from #15186 [1] that changed the
> > behavior of Pulsar standalone.
> >
> > Before #15186, it used Pulsar's built-in admin client to create tenant
> > (public) and namespace (public/default).  After #15186, it created the
> > metadata nodes directly to the metadata store.
> >
> > It brought a breaking change for the case when other languages client
> > set up the standalone with authentication enabled.
> > - Before #15186, if the built-in admin was not configured with
> > authentication, the namespace would fail to be created.
> > - After #15186, the tenant and namespace would still be created 
> > successfully.
> >
> > #17864 [2] and #18837 [3] fixed the regression partialy by creating
> > the namespace via the built-in admin client, though the original
> > motivation is to fix the policies change. However, the regression
> > still existed because the tenant is still created by creating a
> > metadata node directly.
> >
> > I checked some clients of other languages.
> >
> > When setting up the standalone for unit tests, C++ client [4], Python
> > client [5], Go client [6] all assume the tenant and namespace were not
> > created. So it created the tenant and namespace via `pulsar-admin`.
> >
> > I checked the Node client as well, since it seems not to enable the
> > authentication for tests, there is no problem for that.
> >
> > Since the 2.11.0 is not released yet, I will push a PR to restore the
> > original behavior. Does anyone else has different opinions?
> >
> > [1] https://github.com/apache/pulsar/pull/15186
> > [2] https://github.com/apache/pulsar/pull/17864
> > [3] https://github.com/apache/pulsar/pull/18837
> > [4] 
> > https://github.com/apache/pulsar-client-cpp/blob/cd0dcb1a66b50c74cf2312955086e3dca023e886/build-support/start-test-service-inside-container.sh#L57-L59
> > [5] 
> > https://github.com/apache/pulsar-client-python/blob/724012b1019a7f7aad4cff4629c203e318d90dd5/build-support/start-test-service-inside-container.sh#L60-L62
> > [6] 
> > https://github.com/apache/pulsar-client-go/blob/1fe9b624ca673e3a647780b7c6c4b2567089285a/scripts/pulsar-test-service-start.sh#L63-L64
> >
> > Thanks,
> > Yunze

Reply via email to