Re: [DISCUSS] PIP-242 Topic name restrictions

2023-02-18 Thread mattisonchao
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 , 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  wrote:
> >
> > Mattison,
> >
> > Il giorno gio 16 feb 2023 alle ore 00:27  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 , 
> > > > wrote:
> > > > > > Il giorno mer 15 feb 2023 alle ore 17:07  
> > > > > > 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 
> > > > > > > > , 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 
> > > > > > > > > > > >  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 
> > > > > > > > > > > > > > > > , wrote:
> > > > > > > > > > > > > > > > > > > > > > > > On Tu

Re: [PROPOSAL] Roadmap for 3.0 release

2023-02-18 Thread mattisonchao
+1
On Feb 18, 2023, 14:56 +0800, Michael Marshall , wrote:
> +1 - this timeline sounds even better :)
>
> On Sat, Feb 18, 2023 at 12:41 AM Matteo Merli  wrote:
> >
> > Ups,
> >
> > I started from the release date I was meaning April for the RCs:
> >
> > * Tue - 2023-04-11
> > * Tue - 2023-04-18 - RC-2
> > * Tue - 2023-04-25 - RC-3
> > * Tue - 2023-05-02 - Announce 3.0 Release
> >
> > Sorry for the mixup!
> >
> > --
> > Matteo Merli
> > 
> >
> >
> > On Fri, Feb 17, 2023 at 10:39 PM Dave Fisher  wrote:
> >
> > > > +1.
> > > >
> > > > I think that there is a typo. See below.
> > > >
> > > > Sent from my iPhone
> > > >
> > > > > > On Feb 17, 2023, at 2:44 PM, Matteo Merli  wrote:
> > > > > >
> > > > > > Since the LTS release model has been formally approved, I'm 
> > > > > > proposing
> > > > > > the following schedule for the release:
> > > > > >
> > > > > > * Tue - 2023-05-11
> > > > > > - RC-1
> > > > > > - Code Freeze -- Only critical fixes will be merged in the 3.0
> > > > > > release branch. Contributors should plan to have all the changes 
> > > > > > merged
> > > > in
> > > > > > before this date. Exceptions should be extremely rare and strongly
> > > > > > motivated.
> > > > > >
> > > > > > * Tue - 2023-05-18 - RC-2
> > > > > > * Tue - 2023-05-25 - RC-3
> > > > > > * Tue - 2023-05-02 - Announce 3.0 Release
> > > >
> > > > You meant June 2, 2023?
> > > >
> > > > Best,
> > > > Dave
> > > > > >
> > > > > > These dates will be published on the website to present users with a
> > > > > > "roadmap" and we should commit to and respect these dates.
> > > > > >
> > > > > > I also wanted to propose trying out a model where we have 3 release
> > > > > > managers for all major releases.
> > > > > >
> > > > > > The reasoning behind this is for this small group of people to
> > > > collaborate
> > > > > > and divide the tasks for the release: merging patches from the 
> > > > > > "master"
> > > > > > branch, preparing RC, and testing.
> > > > > >
> > > > > > Since everyone also has other work duties and unexpected tasks that 
> > > > > > can
> > > > pop
> > > > > > up at any time, it will help to have redundancy in the 
> > > > > > release-management
> > > > > > "team", so that we can release on the exact dates.
> > > > > >
> > > > > > Thanks,
> > > > > > Matteo
> > > > > >
> > > > > > --
> > > > > > Matteo Merli
> > > > > > 
> > > >
> > > >


[VOTE][PIP-242] Topic name restriction

2023-02-18 Thread mattisonchao
Hi, All

After a fascinating discussion, I would start the vote of PIP-242.

We have chosen to drop out the `system topic` related improvement to another 
PIP. Therefore, the current version is simple enough and it has a clear 
boundary.

Please leave +1/-1 in this thread to join the vote. and feel free to leave any 
concerns.

Thanks to you guys.

Best,
Mattison

References:

• PIP https://github.com/apache/pulsar/issues/19239
• Discussion https://lists.apache.org/thread/oz79m0f2nw059jctq4cmms74yq5n2l1m




[DISSCUSS] Support getStats/update partitioned topic with `-partition-`

2023-02-18 Thread Ruguo Yu
Hello community,

 

### Motivation

Same as [19230](https://github.com/apache/pulsar/pull/19230), We allow users to 
use the `Client API` to create the partitioned topic which name contains 
`-partition-{not-number}` when `allowAutoTopicCreation` is `true` and 
`allowAutoTopicCreationType` is `partitioned` in configuration, such as topic 
`persistent://my-tenant/my-namespace/my-topic-partition-abc`. 

However we didn't get stats and update it because related method will strictly 
verify whether the topic's name contains keyword `partition` on the server 
side, which will lead to the impassability of such topics.

 

### Modifications

Support getting stats and updating partitioned topics with the keyword 
`-partition-{not-number}` in PR[0].

 

Best,

Ruguo Yu

 

[0] https://github.com/apache/pulsar/pull/19235