Github user bowenli86 commented on a diff in the pull request: https://github.com/apache/flink/pull/4656#discussion_r138965647 --- Diff: flink-connectors/flink-connector-kinesis/src/main/java/org/apache/flink/streaming/connectors/kinesis/FlinkKinesisProducer.java --- @@ -171,8 +171,9 @@ public void open(Configuration parameters) throws Exception { super.open(parameters); // check and pass the configuration properties - KinesisProducerConfiguration producerConfig = KinesisConfigUtil.validateProducerConfiguration(configProps); + KinesisProducerConfiguration producerConfig = KinesisConfigUtil.getValidatedProducerConfiguration(configProps); producerConfig.setCredentialsProvider(AWSUtil.getCredentialsProvider(configProps)); + producerConfig.setThreadingModel(KinesisProducerConfiguration.ThreadingModel.POOLED); --- End diff -- On a second thought for this. Though I believe POOLED model is the best option for most of the use cases I can think of, we should give users the flexibility to make decisions. Adding PER_REQUEST model
---