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