Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[improve][broker] Create non-partitioned system topics in auto topic creation #20397

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lhotari
Copy link
Member

@lhotari lhotari commented May 25, 2023

Motivation

Modifications

  • check for system topic names and system topic namespaces in auto topic creation

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

Matching PR in forked repository

PR in forked repository: lhotari#147

@lhotari
Copy link
Member Author

lhotari commented May 25, 2023

/pulsarbot rerun-failure-checks

Comment on lines +3322 to +3327
// system topics should be non-partitioned by default regardless of the broker config
// allowAutoTopicCreationType setting
if (SystemTopicNames.isSystemTopic(topicName)
|| NamespaceService.isSystemServiceNamespace(topicName.getNamespace())) {
return false;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why must it be non-partitioned?

Should it be configurable?

Should this be discussed in the mail list?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why must it be non-partitioned?

It's not "must", it's more about it being a bad default to make system topics such as the __change_events a partitioned topic. The amount of changes going into these topics isn't something that would justify using partitioned topics by default.

Should it be configurable?

If someone wants to use a specific amount of partitions, it's possible to create the system topics manually. Similarly as for transactions.

Should this be discussed in the mail list?

yes. I guess @michaeljmarshall had plans to open a discussion around this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am pretty sure we want most, if not all, of these to be a single topic to ensure a specific ordering of events. It's worth discussing on the mailing list though. I can start something later today.

Copy link
Member

@michaeljmarshall michaeljmarshall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I support the change, but I think we'll need to discuss on the ML first

Comment on lines +3322 to +3327
// system topics should be non-partitioned by default regardless of the broker config
// allowAutoTopicCreationType setting
if (SystemTopicNames.isSystemTopic(topicName)
|| NamespaceService.isSystemServiceNamespace(topicName.getNamespace())) {
return false;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am pretty sure we want most, if not all, of these to be a single topic to ensure a specific ordering of events. It's worth discussing on the mailing list though. I can start something later today.

@github-actions
Copy link

The pr had no activity for 30 days, mark with Stale label.

@michaeljmarshall
Copy link
Member

For anyone interested, I did raise this one the mailing list here: https://lists.apache.org/thread/1lndgf1hx821fc12t0pc6j6zdrhkntht. There wasn't much engagement. I am going to leave this open for now.

@github-actions github-actions bot removed the Stale label Aug 10, 2023
@github-actions
Copy link

The pr had no activity for 30 days, mark with Stale label.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/broker doc-not-needed Your PR changes do not impact docs ready-to-test Stale type/bug The PR fixed a bug or issue reported a bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants