Il giorno mar 6 set 2022 alle ore 07:46 Lari Hotari <lhot...@apache.org> ha scritto: > > I have been thinking of the need for supporting renaming tenants, namespaces > and topics while doing some initial design for "Pulsar 3.0 brainstorming: > Going beyond PIP-45 Pluggable metadata interface", thread > https://lists.apache.org/thread/roohoc9h2gthvmd7t81do4hfjs2gphpk . (the > thread doesn't mention anything about renaming at the moment). > > Adding support for renaming would most likely require adding another level of > indirection to lookups so that a logical name would be mapped to a globally > unique identifier (GUID). There are tradeoffs involved in this change. > However, I think it would be useful to at least have full support for > renaming topics in a future Pulsar version. I'd also like to add that this > type of possible future requirements are yet another reason to let go of > "namespace bundles" centric architecture in Pulsar 3.0. > > Enrico mentioned the desire to support tenant names that aren't globally > unique and instead are contained in the context of the authenticated user. A > question about the use case: Would this user have access to multiple tenants > so that the user could decide the mapping of logical names to actual tenant > names? What is the actual use case and need for this?
One use case I have in mind is when you have a Pulsar cluster shared by main independent users (customers??), currently each user cannot use the same "tenant name" used by another user this is against the goal of giving every user a self-contained and logically independent workspace. I know that in the case of Pulsar this would be hard because we don't have a top level object that is a "container of tenants" and we don't even have the concept of "user". In order to support this use case we have to add a new object, like a "space", and when you connect to Pulsar you set the "space", then every reference to a tenant is relative to that "space". Enrico > > -Lari > > On 2022/09/05 13:50:30 Enrico Olivelli wrote: > > Hello, > > Now that we have started to think about Pulsar 3.0, let me share > > another long standing feature that can be implemented mostly only with > > such big changes that would deserve a major version bump. > > > > Currently every object managed by Pulsar is directly handled and > > referred using a logical, human readable name: > > - tenants > > - namespaces > > - topics > > - functions/sinks/sources > > > > This fact is limiting some interesting use case: > > - renaming objects (you cannot rename a topic for instance) > > - safe delete/recreate (clients may connect to the new version of the > > same object, but now it has a different meaning) > > - aliasing (giving multiple logical names to the same thing) > > > > Additionally it would be great to have the ability to not have > > globally unique tenant names, > > but allow that a tenant name is a logical name and its meaning depends > > on the user that authenticated: now in a big multi-tenant environment > > you cannot have multiple tenants with the same name, so if you are > > providing Pulsar as SaaS, all of your customer cannot use the same > > "tenant name". > > You cannot even have two tenants named "test-tenant" or "demo". > > > > I am not proposing here solutions for this problem, even if I already > > have some ideas, but I want to open this discussion and understand if > > others on the community would like to work on these kind of problems > > > > > > Cheers > > Enrico > >