ClickHouse/tests/integration/test_storage_kafka/configs/kafka.xml
Aleksandr Musorin f9d81bc774 refactore: improve reading several configurations for kafka
Simplify and do some refactoring for kafka client settings.

Allows to set up separate
settings for consumer and producer like:

```
<consumer>
    ...
</consumer>

<producer>
    <kafka_topic>
        <name>topic_name</name>
        ...
    </kafka_topic>
</producer>
```

Moreover, this fixes warnings from kafka client like:
`Configuration property session.timeout.ms is a consumer property and
will be ignored by this producer instance`
2024-03-27 14:53:33 +01:00

59 lines
2.3 KiB
XML

<clickhouse>
<kafka>
<!-- Debugging of possible issues, like:
- https://github.com/edenhill/librdkafka/issues/2077
- https://github.com/edenhill/librdkafka/issues/1778
- #5615
XXX: for now this messages will appears in stderr.
-->
<debug>cgrp,consumer,topic,protocol</debug>
<!-- librdkafka stat in system.kafka_consumers -->
<!-- default 3000 (every three second) seems too long for test -->
<statistics_interval_ms>600</statistics_interval_ms>
<kafka_topic>
<name>consumer_hang</name>
<!-- default: 3000 -->
<heartbeat_interval_ms>301</heartbeat_interval_ms>
</kafka_topic>
<kafka_separate_settings>
<!-- This is old syntax. This setting will be set for consumer and producer-->
<!-- default 3000 -->
<heartbeat_interval_ms>302</heartbeat_interval_ms>
</kafka_separate_settings>
<consumer>
<auto_offset_reset>earliest</auto_offset_reset>
<kafka_topic>
<!-- Setting for topic will be applied only for consumer -->
<name>consumer_hang</name>
<!-- default: 10000 -->
<session_timeout_ms>6000</session_timeout_ms>
</kafka_topic>
<kafka_topic>
<name>separate_settings</name>
<!-- default: 10000 -->
<session_timeout_ms>6001</session_timeout_ms>
</kafka_topic>
</consumer>
<producer>
<kafka_separate_settings>
<!-- This is old syntax. And doesn't work inside producer and consumer tags-->
<!-- default 300000 -->
<message_timeout_ms>300001</message_timeout_ms>
</kafka_separate_settings>
<kafka_topic>
<name>separate_settings</name>
<!-- This is only producer setting, if it was applied to consumer,
it would create warning message in logs. -->
<!-- default 30000 -->
<request_timeout_ms>30001</request_timeout_ms>
</kafka_topic>
<!-- default 60000 -->
<transaction_timeout_ms>60001</transaction_timeout_ms>
</producer>
</kafka>
</clickhouse>