[
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)