This is an automated email from the ASF dual-hosted git repository.

kharekartik 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 23dbb08e8d Make server resource classes configurable (#12324)
23dbb08e8d is described below

commit 23dbb08e8d6dcfc0d034e0145986d6b9df491ea2
Author: Kartik Khare <[email protected]>
AuthorDate: Sun Jan 28 01:41:54 2024 +0530

    Make server resource classes configurable (#12324)
    
    * Make server resource classes configurable
    
    * Update 
pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
    
    Co-authored-by: Xiaotian (Jackie) Jiang 
<[email protected]>
    
    * fix variable name
    
    * Fix imports
    
    ---------
    
    Co-authored-by: Kartik Khare <[email protected]>
    Co-authored-by: Xiaotian (Jackie) Jiang 
<[email protected]>
---
 .../java/org/apache/pinot/server/api/AdminApiApplication.java  | 10 +++++++---
 .../main/java/org/apache/pinot/spi/utils/CommonConstants.java  |  2 ++
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git 
a/pinot-server/src/main/java/org/apache/pinot/server/api/AdminApiApplication.java
 
b/pinot-server/src/main/java/org/apache/pinot/server/api/AdminApiApplication.java
index a590449f55..ae0fb5e2d0 100644
--- 
a/pinot-server/src/main/java/org/apache/pinot/server/api/AdminApiApplication.java
+++ 
b/pinot-server/src/main/java/org/apache/pinot/server/api/AdminApiApplication.java
@@ -53,17 +53,21 @@ import org.slf4j.LoggerFactory;
 public class AdminApiApplication extends ResourceConfig {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(AdminApiApplication.class);
   public static final String PINOT_CONFIGURATION = "pinotConfiguration";
-  public static final String RESOURCE_PACKAGE = 
"org.apache.pinot.server.api.resources";
   public static final String SERVER_INSTANCE_ID = "serverInstanceId";
 
   private final AtomicBoolean _shutDownInProgress = new AtomicBoolean();
   private final ServerInstance _serverInstance;
   private HttpServer _httpServer;
+  private final String _adminApiResourcePackages;
+
 
   public AdminApiApplication(ServerInstance instance, AccessControlFactory 
accessControlFactory,
       PinotConfiguration serverConf) {
     _serverInstance = instance;
-    packages(RESOURCE_PACKAGE);
+
+    _adminApiResourcePackages = 
serverConf.getProperty(CommonConstants.Server.CONFIG_OF_SERVER_RESOURCE_PACKAGES,
+        CommonConstants.Server.DEFAULT_SERVER_RESOURCE_PACKAGES);
+    packages(_adminApiResourcePackages);
     property(PINOT_CONFIGURATION, serverConf);
 
     register(new AbstractBinder() {
@@ -132,7 +136,7 @@ public class AdminApiApplication extends ResourceConfig {
       beanConfig.setSchemes(new String[]{CommonConstants.HTTP_PROTOCOL, 
CommonConstants.HTTPS_PROTOCOL});
     }
     beanConfig.setBasePath("/");
-    beanConfig.setResourcePackage(RESOURCE_PACKAGE);
+    beanConfig.setResourcePackage(_adminApiResourcePackages);
     beanConfig.setScan(true);
     try {
       beanConfig.setHost(InetAddress.getLocalHost().getHostName());
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 190de27151..368e194a39 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
@@ -568,6 +568,8 @@ public class CommonConstants {
     public static final String CONFIG_OF_SWAGGER_USE_HTTPS = 
"pinot.server.swagger.use.https";
     public static final String CONFIG_OF_ADMIN_API_PORT = 
"pinot.server.adminapi.port";
     public static final int DEFAULT_ADMIN_API_PORT = 8097;
+    public static final String CONFIG_OF_SERVER_RESOURCE_PACKAGES = 
"server.restlet.api.resource.packages";
+    public static final String DEFAULT_SERVER_RESOURCE_PACKAGES = 
"org.apache.pinot.server.api.resources";
 
     public static final String CONFIG_OF_SEGMENT_FORMAT_VERSION = 
"pinot.server.instance.segment.format.version";
     public static final String CONFIG_OF_REALTIME_OFFHEAP_ALLOCATION = 
"pinot.server.instance.realtime.alloc.offheap";


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to