Akanksha-kedia opened a new pull request, #18959:
URL: https://github.com/apache/pinot/pull/18959

   ## Summary
   
   `JsonIndexConfig.equals()` and `hashCode()` were introduced when the class 
had fewer fields. Two later additions were never included:
   
   - **`_indexPaths`** (`Set<String>`) — controls which JSON sub-paths are 
indexed; added to support fine-grained path-level indexing
   - **`_maxBytesSize`** (`Long`) — caps the mutable JSON index's on-heap 
footprint
   
   As a result, two configs that differ **only** in `indexPaths` or 
`maxBytesSize` incorrectly compare as equal. This breaks:
   - `Map`/`Set` lookups keyed by config
   - Config-change detection (e.g. index reload logic comparing desired vs. 
stored config)
   - Any unit test asserting config equality
   
   **Fix:** add both fields to `equals()` and `hashCode()`.
   
   **Tests:** adds 5 targeted tests to the existing `JsonIndexConfigTest` to 
document and verify the fix (including a "without fix" naming convention to 
make the intent obvious in CI history).
   
   ## Test plan
   - [ ] 5 new tests in `JsonIndexConfigTest` — all green
   - [ ] `./mvnw checkstyle:check -pl pinot-spi` — 0 violations
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


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