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

   ## Summary
   
   When AWS Kinesis rate-limits a shard 
(`ProvisionedThroughputExceededException`), `KinesisConsumer.fetchMessages()` 
currently logs an `ERROR` on every fetch attempt with no throttling. In 
deployments with many shards (hundreds to thousands), this produces a log storm 
that can fill ephemeral node storage and trigger pod restarts.
   
   - Add `pinot-common` dependency to `pinot-kinesis` to make `ThrottledLogger` 
available
   - Replace `LOGGER.error(...)` in the 
`ProvisionedThroughputExceededException` catch block with 
`ThrottledLogger.warn(...)` at 5 logs/min
   - The error remains visible (logged at WARN with dropped-count reporting 
when the rate limit lifts) but no longer floods logs under sustained rate 
limiting
   
   `ThrottledLogger` is already used across `pinot-segment-local` and 
`pinot-core` for the same class of problem (per-row ingestion errors that can 
fire at high frequency).
   
   ## Changes
   - `pinot-kinesis/pom.xml`: add `pinot-common` dependency
   - `KinesisConsumer.java`: use `ThrottledLogger` for rate-limit error 
logging; downgrade from ERROR to WARN since this is a transient AWS-side 
condition
   
   ## Test plan
   - [ ] Existing `KinesisConsumerTest` passes
   - [ ] Manual: verify throttled log output when 
`ProvisionedThroughputExceededException` is thrown repeatedly


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