This is an automated email from the ASF dual-hosted git repository. rongr 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 4fe5227c09 Make broker's rest resource packages configurable (#10588) 4fe5227c09 is described below commit 4fe5227c09826b75d4e16b4391bccc2f92dd5db9 Author: Navina Ramesh <nav...@apache.org> AuthorDate: Wed Apr 12 08:37:46 2023 -0700 Make broker's rest resource packages configurable (#10588) * Making broker's rest resource packages configurable * Added -configOverride to StartBrokerCommand * remove redundant constant; fix typo * Adding regex for split --- .../apache/pinot/broker/broker/BrokerAdminApiApplication.java | 9 ++++++--- .../main/java/org/apache/pinot/spi/utils/CommonConstants.java | 7 +++++-- .../org/apache/pinot/tools/admin/command/StartBrokerCommand.java | 2 ++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/BrokerAdminApiApplication.java b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/BrokerAdminApiApplication.java index a0b5e9e330..44860ea50b 100644 --- a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/BrokerAdminApiApplication.java +++ b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/BrokerAdminApiApplication.java @@ -55,10 +55,10 @@ import org.slf4j.LoggerFactory; public class BrokerAdminApiApplication extends ResourceConfig { private static final Logger LOGGER = LoggerFactory.getLogger(BrokerAdminApiApplication.class); - private static final String RESOURCE_PACKAGE = "org.apache.pinot.broker.api.resources"; public static final String PINOT_CONFIGURATION = "pinotConfiguration"; public static final String BROKER_INSTANCE_ID = "brokerInstanceId"; + private final String _brokerResourcePackages; private final boolean _useHttps; private final boolean _swaggerBrokerEnabled; private final ExecutorService _executorService; @@ -68,7 +68,10 @@ public class BrokerAdminApiApplication extends ResourceConfig { public BrokerAdminApiApplication(BrokerRoutingManager routingManager, BrokerRequestHandler brokerRequestHandler, BrokerMetrics brokerMetrics, PinotConfiguration brokerConf, SqlQueryExecutor sqlQueryExecutor, ServerRoutingStatsManager serverRoutingStatsManager, AccessControlFactory accessFactory) { - packages(RESOURCE_PACKAGE); + _brokerResourcePackages = brokerConf.getProperty(CommonConstants.Broker.BROKER_RESOURCE_PACKAGES, + CommonConstants.Broker.DEFAULT_BROKER_RESOURCE_PACKAGES); + String[] pkgs = _brokerResourcePackages.split(","); + packages(pkgs); property(PINOT_CONFIGURATION, brokerConf); _useHttps = Boolean.parseBoolean(brokerConf.getProperty(CommonConstants.Broker.CONFIG_OF_SWAGGER_USE_HTTPS)); _swaggerBrokerEnabled = brokerConf.getProperty(CommonConstants.Broker.CONFIG_OF_SWAGGER_BROKER_ENABLED, @@ -137,7 +140,7 @@ public class BrokerAdminApiApplication extends ResourceConfig { beanConfig.setSchemes(new String[]{CommonConstants.HTTP_PROTOCOL, CommonConstants.HTTPS_PROTOCOL}); } beanConfig.setBasePath("/"); - beanConfig.setResourcePackage(RESOURCE_PACKAGE); + beanConfig.setResourcePackage(_brokerResourcePackages); beanConfig.setScan(true); HttpHandler httpHandler = new CLStaticHttpHandler(BrokerAdminApiApplication.class.getClassLoader(), "/api/"); 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 7a84ef257b..0cb3a54674 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 @@ -225,8 +225,12 @@ public class CommonConstants { public static final String CONFIG_OF_BROKER_ID = "pinot.broker.instance.id"; 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. + public static final String BROKER_RESOURCE_PACKAGES = "broker.restlet.api.resource.packages"; + public static final String DEFAULT_BROKER_RESOURCE_PACKAGES = "org.apache.pinot.broker.api.resources"; + // Configuration to consider the broker ServiceStatus as being STARTED if the percent of resources (tables) that - // are ONLINE for this this broker has crossed the threshold percentage of the total number of tables + // are ONLINE for this broker has crossed the threshold percentage of the total number of tables // that it is expected to serve. public static final String CONFIG_OF_BROKER_MIN_RESOURCE_PERCENT_FOR_START = "pinot.broker.startup.minResourcePercent"; @@ -259,7 +263,6 @@ public class CommonConstants { public static final String DISABLE_GROOVY = "pinot.broker.disable.query.groovy"; public static final boolean DEFAULT_DISABLE_GROOVY = true; - // Rewrite potential expensive functions to their approximation counterparts // - DISTINCT_COUNT -> DISTINCT_COUNT_SMART_HLL // - PERCENTILE -> PERCENTILE_SMART_TDIGEST diff --git a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java index e8e5ae7f68..9ff706b2b2 100644 --- a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java +++ b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java @@ -67,6 +67,8 @@ public class StartBrokerCommand extends AbstractBaseAdminCommand implements Comm // TODO: support forbids = {"-brokerHost", "-brokerPort"}) private String _configFileName; + @CommandLine.Option(names = {"-configOverrides"}, required = false, split = ",", + description = "Proxy config overrides") private Map<String, Object> _configOverrides = new HashMap<>(); public boolean getHelp() { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org