[ 
https://issues.apache.org/jira/browse/FLINK-30418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daren Wong updated FLINK-30418:
-------------------------------
    Description: 
h2. What?


Use synchronous KinesisClient for consumer 
registration/de-registration/describe.
h2.  
h2. Why?


KinesisProxyV2 supports the following operations:
 * subscribeToShard
 * describeStreamSummary
 * describeStreamConsumer
 * registerStreamConsumer
 * deregisterStreamConsumer

 

All the above operations are currently performed via an AsyncHTTPClient. 
However, only subsribeToShard needs to be asynchronous, the rest are called 
synchronously.

 
In addition, there are known issue with async client as follows:
 * Async client can cause the following RuntimeException when app parallelism 
is high.
{quote}Unable to execute HTTP request: The channel was closed before the 
protocol could be determined.
{quote}
 * It can also cause deadlock situation as described in 
https://issues.apache.org/jira/browse/FLINK-30304

  was:
Use synchronous KinesisClient for consumer registration/de-registration.
h3. 
Why?

This is because current async client can cause the following RuntimeException 
when app parallelism is high.
{quote}Unable to execute HTTP request: The channel was closed before the 
protocol could be determined.
{quote}
In addition, it can also cause deadlock situation as described in 
https://issues.apache.org/jira/browse/FLINK-30304


> Implement synchronous KinesisClient in EFO
> ------------------------------------------
>
>                 Key: FLINK-30418
>                 URL: https://issues.apache.org/jira/browse/FLINK-30418
>             Project: Flink
>          Issue Type: Improvement
>          Components: Connectors / AWS
>            Reporter: Daren Wong
>            Assignee: Daren Wong
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: aws-connector-4.1.0
>
>
> h2. What?
> Use synchronous KinesisClient for consumer 
> registration/de-registration/describe.
> h2.  
> h2. Why?
> KinesisProxyV2 supports the following operations:
>  * subscribeToShard
>  * describeStreamSummary
>  * describeStreamConsumer
>  * registerStreamConsumer
>  * deregisterStreamConsumer
>  
> All the above operations are currently performed via an AsyncHTTPClient. 
> However, only subsribeToShard needs to be asynchronous, the rest are called 
> synchronously.
>  
> In addition, there are known issue with async client as follows:
>  * Async client can cause the following RuntimeException when app parallelism 
> is high.
> {quote}Unable to execute HTTP request: The channel was closed before the 
> protocol could be determined.
> {quote}
>  * It can also cause deadlock situation as described in 
> https://issues.apache.org/jira/browse/FLINK-30304



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to