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

     **Problem**
   `overwriteTableConfigForTier` runs on every segment during 
checkSegmentsReload polls. The current code does a full Jackson roundtrip on 
the entire TableConfig — serializing IndexingConfig,
     FieldConfigList, ingestion, validation, tenant, quota, routing, all of it 
— even though tier overrides can only live on IndexingConfig._tierOverwrites 
and FieldConfig._tierOverwrites.
   
    **Worst case:** tables with no tierOverwrites defined anywhere would still 
pay the full serialize cost before, because the master code serializes upfront 
and only then checks if there's anything to override.
   
   overwriteTableConfigForTier allocated ~4.5 GB (319 calls × ~14 MB each). 
Largest single allocator on the reload-check path.
   
     Fix
   
     Only roundtrip the pieces that can have overrides:
     - If IndexingConfig.getTierOverwrites() has an entry for this tier → 
roundtrip just IndexingConfig. Otherwise return the original reference.
     - For each FieldConfig with an override → roundtrip just that FieldConfig. 
Otherwise keep the original reference.
     - If nothing changed → return the original TableConfig reference (no 
allocation).
     - If something changed → shallow-copy TableConfig and swap the two 
affected fields.


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