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