tarun11Mavani opened a new pull request, #19093: URL: https://github.com/apache/pinot/pull/19093
## Summary Follow-up fixes from PR #18643 (OPEN_STRUCT storage layer) review comments. **Review-comment fixes:** - `OpenStructColumnSplitter`: use `computeIfAbsent` instead of get+put; `Utf8.encodedLength` instead of allocating `byte[]` for length measurement - `MutableOpenStructIndex`: expanded volatile copy-on-write Javadoc; `tryCoerce` takes `PinotDataType` directly (avoids repeated conversion per ingested value) - `MutableKeyColumn`: cache `PinotDataType destType` at construction - `MutableOpenStructDataSource`: snapshot `keyColumns` before iteration (concurrent-modification guard) - `MutableSegmentImpl`: remove dead `getOpenStructIndex()` method - `IndexLoadingConfig`: persist `_openStructSegmentMetadata` so child configs survive `refreshIndexConfigs()` dirty rebuilds **Segment-lifecycle hardening:** - `ImmutableOpenStructDataSource`: add `getMapValue(docId)` — reconstructs the original map from dense per-key DataSources + sparse JSON; used by `PinotSegmentRecordReader` and `SegmentColumnarIndexCreator` - `ImmutableSegmentImpl`: warn log when skipping OPEN_STRUCT parent due to missing/wrong FieldSpec - `MutableSegmentImpl`: `Preconditions.checkState` guard in `toDataSource()` for OPEN_STRUCT with disabled index ## Test plan - [ ] `ImmutableOpenStructDataSourceTest` — 5 new tests for `getMapValue()`: dense-only, null doc, dense+sparse merge, sparse-only null, empty segment - [ ] Existing OPEN_STRUCT test suites pass unchanged -- 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]
