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]

Reply via email to