You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Brad Atcheson (Jira)" <ji...@apache.org> on 2024/01/08 12:44:00 UTC
[jira] [Created] (FLINK-34023) Expose Kinesis client retry config in sink
Brad Atcheson created FLINK-34023:
-------------------------------------
Summary: Expose Kinesis client retry config in sink
Key: FLINK-34023
URL: https://issues.apache.org/jira/browse/FLINK-34023
Project: Flink
Issue Type: Improvement
Components: Connectors / Kinesis
Reporter: Brad Atcheson
The consumer side exposes client retry configuration like [flink.shard.getrecords.maxretries|https://nightlies.apache.org/flink/flink-docs-stable/api/java/org/apache/flink/streaming/connectors/kinesis/config/ConsumerConfigConstants.html#SHARD_GETRECORDS_RETRIES] but the producer side lacks similar config for PutRecords.
The KinesisStreamsSinkWriter constructor calls
{code}
this.httpClient = AWSGeneralUtil.createAsyncHttpClient(kinesisClientProperties);
this.kinesisClient = buildClient(kinesisClientProperties, this.httpClient);
{code}
But those methods only refer to these values (aside from endpoint/region/creds) in the kinesisClientProperties:
* aws.http-client.max-concurrency
* aws.http-client.read-timeout
* aws.trust.all.certificates
* aws.http.protocol.version
Without control over retry, users can observe exceptions like {code}Request attempt 2 failure: Unable to execute HTTP request: connection timed out after 2000 ms: kinesis.us-west-2.amazonaws.com{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)