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

Ilya Shishkov updated IGNITE-19910:
-----------------------------------
    Description: 
Currently, in CDC through Kafka applications, single timeout property 
({{kafkaRequestTimeout)}} is used for all Kafka related operations instead of 
built-in timeouts of Kafka clients (moreover, default value of 3 seconds does 
not correspond to Kafka clients defaults):
# {{KafkaProducer}}:
** {{delivery.timeout.ms}}, defaults to 120s [1]
** {{request.timeout.ms}}, defaults to 30s [2]
# {{KafkaKonsumer}}:
** {{default.api.timeout.ms}}, defaults to 60s [3]
** {{request.timeout.ms}}, defaults to 30s [4]


----

Places where {{kafkaRequestTimeout}} is used:

*In ignite-cdc.sh* ({{IgniteToKafkaCdcStreamer}}):
 # Waiting for {{KafkaProducer#send}} future to finish.

*In kafka-to-ignite.sh:*
 # {{KafkaToIgniteCdcStreamerApplier}} as parameter of methods:
 ## {{KafkaConsumer#poll}}
 ## {{KafkaConsumer#commitSync}}
 # {{KafkaToIgniteMetadataUpdater}} as parameter of methods.
 ## {{KafkaConsumer#poll}}
 ## {{KafkaConsumer#endOffsets}}
 ## {{KafkaConsumer#partitionsFor}}

----

Also, there is difference of behavior of {{KafkaConsumer#poll}} and other used 
{{KafkaConsumer}} methods. Poll just waits for data until specified timeout 
expires, but other methods will raise an exception, thus, timeout should not be 
to low for them.


----

Links:
# 
https://kafka.apache.org/27/documentation.html#producerconfigs_delivery.timeout.ms
# 
https://kafka.apache.org/27/documentation.html#producerconfigs_request.timeout.ms
# 
https://kafka.apache.org/27/documentation.html#consumerconfigs_default.api.timeout.ms
# 
https://kafka.apache.org/27/documentation.html#consumerconfigs_request.timeout.ms

  was:
Currently, in CDC through Kafka applications, single timeout property 
({{kafkaRequestTimeout)}} is used for all Kafka related operations instead of 
built-in timeouts of Kafka clients (moreover, default value of 3 seconds does 
not correspond to Kafka clients defaults):
# {{KafkaProducer}}:
** {{delivery.timeout.ms}}, defaults to 120s [1]
** {{request.timeout.ms}}, defaults to 30s [2]
# {{KafkaKonsumer}}:
** {{default.api.timeout.ms}}, defaults to 60s [3]
** {{request.timeout.ms}}, defaults to 30s [4]


----

Places where {{kafkaRequestTimeout}} is used:

*In ignite-cdc.sh* ({{IgniteToKafkaCdcStreamer}}):
 # Waiting for {{KafkaProducer#send}} future to finish.

*In kafka-to-ignite.sh:*
 # {{KafkaToIgniteCdcStreamerApplier}} as parameter of methods:
 ## {{KafkaConsumer#poll}}
 ## {{KafkaConsumer#commitSync}}
 # {{KafkaToIgniteMetadataUpdater}} as parameter of methods.
 ## {{KafkaConsumer#poll}}
 ## {{KafkaConsumer#endOffsets}}
 ## {{KafkaConsumer#partitionsFor}}

----

Also, there is difference of behavior of {{KafkaConsumer#poll}} and other used 
{{KafkaConsumer}} methods. Poll just waits for data until specified timeout 
expires, but other methods will raise an exception, thus, timeout should not be 
to low for them.


Links:
# 
https://kafka.apache.org/27/documentation.html#producerconfigs_delivery.timeout.ms
# 
https://kafka.apache.org/27/documentation.html#producerconfigs_request.timeout.ms
# 
https://kafka.apache.org/27/documentation.html#consumerconfigs_default.api.timeout.ms
# 
https://kafka.apache.org/27/documentation.html#consumerconfigs_request.timeout.ms


> CDC through Kafka: refactor timeouts
> ------------------------------------
>
>                 Key: IGNITE-19910
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19910
>             Project: Ignite
>          Issue Type: Task
>          Components: extensions
>            Reporter: Ilya Shishkov
>            Priority: Minor
>              Labels: IEP-59, ise
>
> Currently, in CDC through Kafka applications, single timeout property 
> ({{kafkaRequestTimeout)}} is used for all Kafka related operations instead of 
> built-in timeouts of Kafka clients (moreover, default value of 3 seconds does 
> not correspond to Kafka clients defaults):
> # {{KafkaProducer}}:
> ** {{delivery.timeout.ms}}, defaults to 120s [1]
> ** {{request.timeout.ms}}, defaults to 30s [2]
> # {{KafkaKonsumer}}:
> ** {{default.api.timeout.ms}}, defaults to 60s [3]
> ** {{request.timeout.ms}}, defaults to 30s [4]
> ----
> Places where {{kafkaRequestTimeout}} is used:
> *In ignite-cdc.sh* ({{IgniteToKafkaCdcStreamer}}):
>  # Waiting for {{KafkaProducer#send}} future to finish.
> *In kafka-to-ignite.sh:*
>  # {{KafkaToIgniteCdcStreamerApplier}} as parameter of methods:
>  ## {{KafkaConsumer#poll}}
>  ## {{KafkaConsumer#commitSync}}
>  # {{KafkaToIgniteMetadataUpdater}} as parameter of methods.
>  ## {{KafkaConsumer#poll}}
>  ## {{KafkaConsumer#endOffsets}}
>  ## {{KafkaConsumer#partitionsFor}}
> ----
> Also, there is difference of behavior of {{KafkaConsumer#poll}} and other 
> used {{KafkaConsumer}} methods. Poll just waits for data until specified 
> timeout expires, but other methods will raise an exception, thus, timeout 
> should not be to low for them.
> ----
> Links:
> # 
> https://kafka.apache.org/27/documentation.html#producerconfigs_delivery.timeout.ms
> # 
> https://kafka.apache.org/27/documentation.html#producerconfigs_request.timeout.ms
> # 
> https://kafka.apache.org/27/documentation.html#consumerconfigs_default.api.timeout.ms
> # 
> https://kafka.apache.org/27/documentation.html#consumerconfigs_request.timeout.ms



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

Reply via email to