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