[
https://issues.apache.org/jira/browse/FLINK-39137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18090707#comment-18090707
]
Andreas Bube commented on FLINK-39137:
--------------------------------------
[~jingjia88], feel free to grab this one.
One could argue that the existing _source.reader.empty-records-fetch-interval_
setting would address the issue described in most cases. Unfortunately, I
haven't had the time to verify whether it resolves the issue in my case.
As for adding a new non-empty variant of the setting, that would align with the
precedent set by the DynamoDB stream source connector, which has both
_flink.dynamodbstreams.getrecords.empty.mindelay_ and
_flink.dynamodbstreams.getrecords.nonempty.mindelay_ settings.
I've got this
[commit|https://github.com/bube/flink-connector-aws/commit/ed31053c4d74cb588b06492c30d57a4d2c5e93e6]
with a suggested fix.
> Add configurable delay between non-empty GetRecords calls in Kinesis source
> ---------------------------------------------------------------------------
>
> Key: FLINK-39137
> URL: https://issues.apache.org/jira/browse/FLINK-39137
> Project: Flink
> Issue Type: Improvement
> Components: Connectors / AWS
> Affects Versions: 1.20.3, 2.2.0, 2.1.1, 2.3.0
> Reporter: Andreas Bube
> Priority: Minor
>
> Kinesis {{GetRecords}} quota is easy to exhaust (5 calls/sec/shard limit).
> With multiple consumers on the same stream/shard, one eager reader can starve
> others.
> *Proposed change:* Add a new Kinesis Streams source config option to throttle
> polling after successful (non-empty) fetches:
> * {{source.reader.nonempty-records-fetch-interval}}
> ** {{Duration type}}
> ** Disabled by default (preserves current behavior)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)