Hi, All

After discussing with Enrico and Michael offline.
I will split the discussed topic into two PIP.

1. Topic name restrictions
    a. `-partition-` keyword.
    b. enable topic name character pattern.
2. System topic
    a. System topic name pattern.
    b. System topic authorisation.
    c. ...

In this approach, we will get a clear boundary and avoid going off the initial 
scope.

Since we don't have any question about the first scope. I will start vote next 
week.

Thanks to all participant.

Best,
Mattison



On Feb 18, 2023, 14:24 +0800, Michael Marshall <mmarsh...@apache.org>, wrote:
> I support breaking this into two PIPs. It was my fault the two PIPs
> were merged in the first place. I am sorry if I created any confusion.
> My intention was only to point out that names are a meaningful way to
> simplify logic, and we should reserve certain names for Pulsar's own
> usage with a well defined pattern so that we can simplify lifecycle
> operations.
>
> Thanks,
> Michael
>
> On Fri, Feb 17, 2023 at 1:55 AM Enrico Olivelli <eolive...@gmail.com> wrote:
> >
> > Mattison,
> >
> > Il giorno gio 16 feb 2023 alle ore 00:27 <mattisonc...@gmail.com> ha 
> > scritto:
> > > >
> > > > > > I am sorry but I am not sure that this is enough to 
> > > > > > preventreads/writes from unallowed clients.
> > > > IMO, We can consider the authorisation part in another PIP because We 
> > > > are just focusing on adding the topic name constraint of topic creation.
> > > >
> > > > Maybe we can use another PIP to clearify all of system topic's 
> > > > behaviour, like authorisation something.
> > > > e.g. we just allow superusers to read/write the data to that system 
> > > > topic.
> > > > > > We should elaborate more on this topic on the PIP
> > > > I will add the internal system topic creation logic in the PIP.
> > Why do you think that this is enough ?
> >
> > I think that we are going off the initial scope of the PIP.
> > The initial problem is about preventing clients from creating topics
> > that contain the "-partition-" keyword.
> >
> > I totally agree that there must be a clear way to distinguish topics
> > that are not meant to be accessed by "regular clients".
> >
> > The answer is in Micheal's words: only super users are allowed to
> > access topics that are not meant to be accessed by clients.
> > Broker to Broker communications are always running with a "super user"
> > role, so it is not a problem.
> >
> > BTW I wonder if it is better to narrow down the scope of the PIP and
> > go back to "-partition-"
> >
> >
> > Enrico
> >
> >
> > > >
> > > > Best,
> > > > Mattison
> > > > On Feb 16, 2023, 00:41 +0800, Enrico Olivelli <eolive...@gmail.com>, 
> > > > wrote:
> > > > > > Il giorno mer 15 feb 2023 alle ore 17:07 <mattisonc...@gmail.com> 
> > > > > > ha scritto:
> > > > > > > >
> > > > > > > > Hi Enrico
> > > > > > > >
> > > > > > > > I think it's a good question. We can introduce a new method in 
> > > > > > > > the BrokerService to help brokers create the topic internally 
> > > > > > > > first(maybe just metadata is enough), and then to use a pulsar 
> > > > > > > > client to connect to it.
> > > > > >
> > > > > > I am sorry but I am not sure that this is enough to prevent
> > > > > > reads/writes from unallowed clients.
> > > > > > We should elaborate more on this topic on the PIP
> > > > > >
> > > > > > Enrico
> > > > > >
> > > > > > > >
> > > > > > > > WDYT?
> > > > > > > >
> > > > > > > >
> > > > > > > > Best,
> > > > > > > > Mattison
> > > > > > > > On Feb 16, 2023, 00:01 +0800, Enrico Olivelli 
> > > > > > > > <eolive...@gmail.com>, wrote:
> > > > > > > > > > > > I have one question (apologies for the top posting).
> > > > > > > > > > > >
> > > > > > > > > > > > The Broker (and the other Pulsar components) use the 
> > > > > > > > > > > > regular Pulsar
> > > > > > > > > > > > client to connect to "system topics"
> > > > > > > > > > > > and in general they use the Pulsar wire protocol.
> > > > > > > > > > > >
> > > > > > > > > > > > The question is "how do you distinguish an internal 
> > > > > > > > > > > > component from a
> > > > > > > > > > > > user component ?"
> > > > > > > > > > > > How can you say that the broker is able to connect to a 
> > > > > > > > > > > > system topic
> > > > > > > > > > > > and any other client cannot do it ?
> > > > > > > > > > > >
> > > > > > > > > > > > Enrico
> > > > > > > > > > > >
> > > > > > > > > > > > Il giorno mer 15 feb 2023 alle ore 15:38 
> > > > > > > > > > > > <mattisonc...@gmail.com> ha scritto:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Hi Asaf
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > There is a link to introduce the dynamic 
> > > > > > > > > > > > > > > > configuration.
> > > > > > > > > > > > > > > > https://pulsar.apache.org/docs/2.10.x/admin-api-brokers/#dynamic-broker-configuration
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Best,
> > > > > > > > > > > > > > > > Mattison
> > > > > > > > > > > > > > > > On Feb 14, 2023, 17:06 +0800, Asaf Mesika 
> > > > > > > > > > > > > > > > <asaf.mes...@gmail.com>, wrote:
> > > > > > > > > > > > > > > > > > > > > > > > On Tue, Feb 14, 2023 at 3:46 AM 
> > > > > > > > > > > > > > > > > > > > > > > > <mattisonc...@gmail.com> wrote:
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Asaf
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Welcome to join 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > this discussion.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You mean that allows the *system* to use it when it's a 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partitioned
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > topic?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sorry, I didn't 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > get your point. 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What do you 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mean by 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *system*?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > This sentence was a reply to:
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > 2. Make the `-partition-` 
> > > > > > > > > > > > > > > > > > > > > > > > string the keyword. That allows 
> > > > > > > > > > > > > > > > > > > > > > > > the user to use
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it when it's a 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partitioned 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > topic.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > I wanted to say that this 
> > > > > > > > > > > > > > > > > > > > > > > > sentence should be:
> > > > > > > > > > > > > > > > > > > > > > > > Make the `-partition-` string 
> > > > > > > > > > > > > > > > > > > > > > > > the keyword, that allows the 
> > > > > > > > > > > > > > > > > > > > > > > > *system* to use
> > > > > > > > > > > > > > > > > > > > > > > > it when it's a partitioned 
> > > > > > > > > > > > > > > > > > > > > > > > topic.
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Why postfix of `__`?Why uppercase ?Maybe `__system__<name>`?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yes, That is a 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > key point that 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I want to 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > discuss in this
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > thread. 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > `__system__<name>`
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  is good for me.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Can you please elaborate what it means to make it dynamic 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > exactly?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sorry, I will 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > refine it. it 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > means we can 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > update this 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > configuration
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > dynamically. 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (using rest api 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > or sth)
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > I'm unfamiliar with how Pulsar 
> > > > > > > > > > > > > > > > > > > > > > > > supports dynamic configuration. 
> > > > > > > > > > > > > > > > > > > > > > > > I would
> > > > > > > > > > > > > > > > > > > > > > > > love it if you can share a link 
> > > > > > > > > > > > > > > > > > > > > > > > or explain it briefly, thus 
> > > > > > > > > > > > > > > > > > > > > > > > explaining what
> > > > > > > > > > > > > > > > > > > > > > > > exactly you are going to change 
> > > > > > > > > > > > > > > > > > > > > > > > to support dynamic 
> > > > > > > > > > > > > > > > > > > > > > > > configuration.
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > General 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > question: In 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the last thread 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > you said 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > something about
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > configurablerules,
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  etc? You 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > decided not to 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > use this idea?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > IMO, That idea 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > is an advanced 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature. we may 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > need more time 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > to discuss
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the details and 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > for the topic 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > name 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > restriction, 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > maybe we don't 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > have strong
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > reason to use 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > that.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We can 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > introduce this 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > advanced 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > feature when we 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > have a need for 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > it.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > WDYT?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > I agree. Future PIP and 
> > > > > > > > > > > > > > > > > > > > > > > > discussion.
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best,
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Mattison
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Feb 13, 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2023, 22:21 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +0800, Asaf 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Mesika 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > <asaf.mes...@gmail.com>,
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  wrote:
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You mean that allows the *system* to use it when it's a 
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > partitioned
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > topic?
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

Reply via email to