Skip to content

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

Open
lhotari wants to merge 1 commit into
apache:masterfrom
lhotari:lh-create-nonpartitioned-system-topics
Open

[improve][broker] Create non-partitioned system topics in auto topic creation#20397
lhotari wants to merge 1 commit into
apache:masterfrom
lhotari:lh-create-nonpartitioned-system-topics

Conversation

@lhotari

@lhotari lhotari commented May 25, 2023

Copy link
Copy Markdown
Member

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

lhotari commented May 25, 2023

Copy link
Copy Markdown
Member Author

/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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

@michaeljmarshall michaeljmarshall left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown

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

@michaeljmarshall

Copy link
Copy Markdown
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
Copy Markdown

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