This is an automated email from the ASF dual-hosted git repository.
jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 68264d294de Enforce broker instance tags configuration at startup
(#17786)
68264d294de is described below
commit 68264d294de086fefedf5cd13068ce05f0f4e336
Author: Suvodeep Pyne <[email protected]>
AuthorDate: Tue Mar 3 12:36:50 2026 -0800
Enforce broker instance tags configuration at startup (#17786)
---
.../org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java | 7 +++++++
.../src/main/java/org/apache/pinot/spi/utils/CommonConstants.java | 5 +++++
2 files changed, 12 insertions(+)
diff --git
a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
index 5ce5521662c..02a1e9bca59 100644
---
a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
+++
b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
@@ -681,6 +681,13 @@ public abstract class BaseBrokerStarter implements
ServiceStartable {
instanceConfig.addTag(instanceTag);
}
shouldUpdateBrokerResource = true;
+ } else if
(_brokerConf.getProperty(Broker.CONFIG_OF_BROKER_ENFORCE_INSTANCE_TAGS,
+ Broker.DEFAULT_BROKER_ENFORCE_INSTANCE_TAGS)) {
+ throw new IllegalStateException(String.format(
+ "Broker instance tags enforcement is enabled ('%s' = true), but
'%s' is not configured. "
+ + "Please set it for this broker or disable enforcement to
allow startup.",
+ Broker.CONFIG_OF_BROKER_ENFORCE_INSTANCE_TAGS,
+ Broker.CONFIG_OF_BROKER_INSTANCE_TAGS));
} else if
(ZKMetadataProvider.getClusterTenantIsolationEnabled(_propertyStore)) {
instanceConfig.addTag(TagNameUtils.getBrokerTagForTenant(null));
shouldUpdateBrokerResource = true;
diff --git
a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
index 7b5e6cf3685..f5c9e45b537 100644
--- a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
+++ b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
@@ -385,6 +385,11 @@ public class CommonConstants {
public static final long DEFAULT_EXTRA_PASSIVE_TIMEOUT_MS = 100L;
public static final String CONFIG_OF_BROKER_ID =
"pinot.broker.instance.id";
public static final String CONFIG_OF_BROKER_INSTANCE_TAGS =
"pinot.broker.instance.tags";
+ // When enabled, brokers must have pinot.broker.instance.tags configured
to start.
+ // Prevents misconfigured brokers from joining multi-tenant clusters
without tenant tags.
+ public static final String CONFIG_OF_BROKER_ENFORCE_INSTANCE_TAGS =
+ "pinot.broker.enforce.instance.tags";
+ public static final boolean DEFAULT_BROKER_ENFORCE_INSTANCE_TAGS = false;
public static final String CONFIG_OF_BROKER_HOSTNAME =
"pinot.broker.hostname";
public static final String CONFIG_OF_SWAGGER_USE_HTTPS =
"pinot.broker.swagger.use.https";
// Comma separated list of packages that contains javax service resources.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]