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)

Reply via email to