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

   
   Virtual SparseKeyDataSource over the sparse blob column makes unmaterialized 
keys readable through the standard per-key DataSource seam. A sparseKeys 
manifest in parent column metadata short-circuits truly absent keys without 
touching the blob. An opt-in JSON index on the sparse column accelerates 
eligible STRING-typed EQ/IN/NOT_EQ/NOT_IN filters.
   
   Components:
   - OpenStructSparseBlobReader: shared per-parent blob parser with ThreadLocal 
LRU cache (10,000 entries, one projection block)
   - SparseKeyDataSource: virtual forward reader + lazy null vector per key
   - ImmutableOpenStructDataSource routing: materialized -> sparse virtual ->
     manifest-absent null
   - MapFilterOperator 4-tier dispatch: materialized index -> sparse JSON-index 
fast path -> virtual scan -> expression fallback
   - OpenStructIndexConfig.sparseJsonIndex (default false): opt-in JSON index 
on the sparse blob column
   - JSON-index fast path refusal rules: non-STRING type, default-value 
predicate, negation with null-handling-on
   
   Back-compat: segments without the manifest fall back to virtual scan for 
every unmaterialized key (correct but unoptimized).
   


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