Jackie-Jiang commented on code in PR #8711:
URL: https://github.com/apache/pinot/pull/8711#discussion_r874168340


##########
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java:
##########
@@ -94,6 +94,7 @@ public abstract class BaseBrokerRequestHandler implements 
BrokerRequestHandler {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(BaseBrokerRequestHandler.class);
   private static final String IN_SUBQUERY = "insubquery";
   private static final String IN_ID_SET = "inidset";
+  private static final boolean DEFAULT_DISABLE_GROOVY = true;

Review Comment:
   Let's put this constant along with the `DISABLE_GROOVY` in 
`CommonConstants.Broker`



##########
pinot-controller/src/main/java/org/apache/pinot/controller/ControllerConf.java:
##########
@@ -867,7 +867,7 @@ public String getControllerResourcePackages() {
    * @return true if Groovy functions are disabled in controller config, 
otherwise returns false.
    */
   public boolean isDisableIngestionGroovy() {
-    return getProperty(DISABLE_GROOVY, false);
+    return getProperty(DISABLE_GROOVY, true);

Review Comment:
   Add a default constant for this



##########
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseBrokerRequestHandler.java:
##########
@@ -1033,8 +1034,18 @@ private HandlerContext getHandlerContext(@Nullable 
TableConfig offlineTableConfi
       }
     }
 
-    // Disable Groovy if either offline or realtime table config disables 
Groovy
-    boolean disableGroovy = offlineTableDisableGroovyQuery | 
realtimeTableDisableGroovyQuery;
+    // Disable Groovy in the following cases:

Review Comment:
   Good findings. Actually `useApproximateFunction` has the same issue, and we 
can fix them all together.
   I feel it might be easier to read and understand if we separate the override 
from the default, and use override if exists:
   ```
     private HandlerContext getHandlerContext(@Nullable TableConfig 
offlineTableConfig,
         @Nullable TableConfig realtimeTableConfig) {
       Boolean disableGroovyOverride = null;
       Boolean useApproximateFunctionOverride = null;
       if (offlineTableConfig != null && offlineTableConfig.getQueryConfig() != 
null) {
         QueryConfig offlineTableQueryConfig = 
offlineTableConfig.getQueryConfig();
         Boolean disableGroovyOfflineTableOverride = 
offlineTableQueryConfig.getDisableGroovy();
         if (disableGroovyOfflineTableOverride != null) {
           disableGroovyOverride = disableGroovyOfflineTableOverride;
         }
         Boolean useApproximateFunctionOfflineTableOverride = 
offlineTableQueryConfig.getUseApproximateFunction();
         if (useApproximateFunctionOfflineTableOverride != null) {
           useApproximateFunctionOverride = 
useApproximateFunctionOfflineTableOverride;
         }
       }
       if (realtimeTableConfig != null && realtimeTableConfig.getQueryConfig() 
!= null) {
         QueryConfig realtimeTableQueryCOnfig = 
realtimeTableConfig.getQueryConfig();
         Boolean disableGroovyRealtimeTableOverride = 
realtimeTableQueryCOnfig.getDisableGroovy();
         if (disableGroovyRealtimeTableOverride != null) {
           if (disableGroovyOverride == null) {
             disableGroovyOverride = disableGroovyRealtimeTableOverride;
           } else {
             // Disable Groovy if either offline or realtime table config 
disables Groovy
             disableGroovyOverride |= disableGroovyRealtimeTableOverride;
           }
         }
         Boolean useApproximateFunctionRealtimeTableOverride = 
realtimeTableQueryCOnfig.getUseApproximateFunction();
         if (useApproximateFunctionRealtimeTableOverride != null) {
           if (useApproximateFunctionOverride == null) {
             useApproximateFunctionOverride = 
useApproximateFunctionRealtimeTableOverride;
           } else {
             // Use approximate function if both offline and realtime table 
config uses approximate function
             useApproximateFunctionOverride &= 
useApproximateFunctionRealtimeTableOverride;
           }
         }
       }
   
       boolean disableGroovy = disableGroovyOverride != null ? 
disableGroovyOverride : _disableGroovy;
       boolean useApproximateFunction =
           useApproximateFunctionOverride != null ? 
useApproximateFunctionOverride : _useApproximateFunction;
       return new HandlerContext(disableGroovy, useApproximateFunction);
     }
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to