Vamsi-klu opened a new pull request, #19089:
URL: https://github.com/apache/pinot/pull/19089

   ## Why
   
   Columns that differ only by case (`memberId` vs `MemberID`) break 
case-insensitive external engines (e.g. Presto/Trino) and confuse operators. 
Pinot already rejects these when `enable.case.insensitive=true` (**cluster 
default true**). This PR hardens that check and locks it with explicit tests.
   
   **Compatibility note:** Always-on rejection even when case-insensitive mode 
is off still needs validation levels (#6645). This PR does **not** change that 
contract — it fixes Locale-safe lowercasing and adds regression tests for the 
default path maintainers already shipped.
   
   ## Impact
   
   - **Prevents schema footguns** on default (case-insensitive) clusters.
   - **Locale-safe** lowercasing (`Locale.ROOT`) avoids Turkish `I`/`ı` 
surprises.
   - **Documents** the current gate so contributors do not re-open always-on 
without #6645.
   - No behavior change for `enable.case.insensitive=false` (still allowed, as 
in 2021 guidance).
   
   ## How
   
   - `SchemaUtils.validate(..., isIgnoreCase)` uses `toLowerCase(Locale.ROOT)`.
   - Explicit unit tests for `memberId`/`MemberID` when ignore-case is on vs 
off.
   
   ## Test plan
   
   - [x] `SchemaUtilsTest` case-collision cases for ignore-case true/false.
   - [ ] `./mvnw -pl pinot-core,pinot-segment-local -am -Dtest=SchemaUtilsTest 
-Dsurefire.failIfNoSpecifiedTests=false test`
   
   ## Related
   
   fixes: #6644  
   related: #6645 (validation levels — not implemented here)
   
   ## Reviewers
   
   Suggested: xiangfu0, mcvsubbu (original discussion)
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [x] Yes — Grok Build (xAI)
   
   Generated-by: Grok Build (xAI)
   


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