xiangfu0 opened a new pull request, #19887:
URL: https://github.com/apache/pinot/pull/19887

   Pinot needs one place to stop new Groovy compilation in server and minion 
processes. This adds a process-wide switch at both evaluator construction and 
validation-script parsing, avoiding policy parameters throughout ingestion and 
minion APIs.
   
   Existing compiled evaluators continue to execute. Legacy Avro 
`__KEYS`/`__VALUES` extraction now uses Java, preserving map ordering and null 
handling when compilation is disabled.
   
   ## Usage
   
   The service configuration layer controls the gate:
   
   ```java
   GroovyFunctionEvaluator.setGroovyCompilationEnabled(false);
   // New evaluator construction and parseGroovyScript calls now fail before 
compilation.
   GroovyFunctionEvaluator.setGroovyCompilationEnabled(true);
   // Subsequent compilation is allowed again.
   ```
   
   The shared evaluator retains its existing enabled default until a service 
configures it. A separate stacked PR applies the cluster configuration to 
servers and minions, with compilation disabled by default there. Controller 
schema admission is handled separately in #19235.
   
   ## Validation
   
   - 59 focused evaluator, query-transform, and expression-transform tests pass.
   - Two focused additions cover disabling/re-enabling compilation, existing 
evaluator execution, and implicit map extraction.
   - Formatting, Checkstyle, license-format, license checks, and compilation 
with warning/deprecation reporting pass for the affected modules.
   


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