Commit Graph

31 Commits

Author SHA1 Message Date
Robert Schulze
6906cafa99
Change to S3 cfg syntax 2023-02-23 20:04:41 +00:00
Robert Schulze
81bf43157f
Allow configuration of Kafka topics with periods
The Kafka table engine allows global configuration and per-Kafka-topic
configuration. The latter uses syntax <kafka_TOPIC>, e.g. for topic
"football":

  <kafka_football>
      <retry_backoff_ms>250</retry_backoff_ms>
      <fetch_min_bytes>100000</fetch_min_bytes>
  </kafka_football>

Some users had to find out the hard way that such configuration doesn't
take effect if the topic name contains a period, e.g. "sports.football".
The reason is that ClickHouse configuration framework already uses
periods as level separators to descend the configuration hierarchy.
(Besides that, per-topic configuration at the same level as global
configuration could be considered ugly.)

Note that Kafka topics may contain characters "a-zA-Z0-9._-" (*) and
a tree-like topic organization using periods is quite common in
practice.

This PR deprecates the existing per-topic configuration syntax (but
continues to support it for backward compat) and introduces a new
per-topic configuration syntax below the global Kafka configuration of
the form:

<kafka>
   <topic name="football">
       <retry_backoff_ms>250</retry_backoff_ms>
       <fetch_min_bytes>100000</fetch_min_bytes>
   </topic>
</kafka>

The period restriction doesn't apply to XML attributes, so <topic
name="sports.football"> will work. Also, everything Kafka-related is
below <kafka>.

Considered but rejected alternatives:
- Extending Poco ConfigurationView with custom separators (e.g."/"
  instead of "."). Won't work easily because ConfigurationView only
  builds a path but defers descending the configuration tree to the
  normal configuration classes.
- Reloading the configuration file in StorageKafka (instead of reading
  the loaded file) but with a custom separator. This mode is supported
  by XML configuration. Too ugly and error-prone since the true
  configuration is composed from multiple configuration files.

(*) https://stackoverflow.com/a/37067544
2023-02-22 20:35:09 +00:00
Alexey Milovidov
b42d26acfe Remove one line from XML, because we do not care 2022-08-28 02:44:02 +02:00
Roman Vasin
4c560584c7 Code cleanup in KerberosInit and kafka integration tests 2022-06-10 12:38:39 +03:00
Roman Vasin
2b76d0c6a9 Add new integration test for kerberized Kafka; remove old kinit code from HDFSCommon 2022-06-08 12:26:35 +03:00
Roman Vasin
a156a77890 Add KerberosInit into StorageKafka 2022-06-07 14:59:46 +03:00
Azat Khuzhin
9899b3f92d tests/integration: remove superfluous import of PartitionManager
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-05-13 10:57:24 +03:00
Mikhail f. Shiryaev
e6f5a3f98b
Apply black formatter to all *.py files in the repo 2022-03-22 17:39:58 +01:00
Mikhail f. Shiryaev
9340aab154
Clean kerberos keytab between running 2022-02-13 22:01:46 +01:00
Ilya Golshtein
587b663e56 a comment requested by reviewer 2021-12-17 22:49:40 +03:00
Ilya Golshtein
faaed87945 warm up for test_kafka_json_as_string_no_kdc 2021-12-17 01:24:21 +03:00
kssenii
69aa2da23e Update test 2021-11-30 09:56:10 +00:00
Alexey Milovidov
e9e77b4403 .tech -> .com 2021-09-22 03:22:57 +03:00
Alexey Milovidov
e513a5db32 Change <yandex> to <clickhouse> in configs 2021-09-20 01:38:53 +03:00
Yatsishin Ilya
9c22d07dea Mute current failures 2021-08-19 14:32:32 +03:00
Vitaly Baranov
3a3cbeb7aa Collect stderr.log and stdout.log in all integration tests by default. 2021-06-29 17:30:47 +03:00
alesapin
7179fafef0 Less timeouts in integration tests 2021-06-09 10:49:29 +03:00
Yatsishin Ilya
905cc7a2bd fixes 2021-02-24 14:46:58 +03:00
Yatsishin Ilya
2df4317aba wip 2021-02-19 00:21:50 +03:00
Yatsishin Ilya
872e36c207 wip 2021-02-18 15:57:45 +03:00
Yatsishin Ilya
ac168fe4e3 add sleep 2021-01-29 19:16:10 +03:00
Azat Khuzhin
9cb3c743bd
Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00
Alexander Tokmakov
a7d3a024c7 Revert "Revert "Test and doc for PR12771 krb5 + cyrus-sasl + kerberized kafka""
This reverts commit c298c633a7.
2020-09-29 11:56:37 +03:00
tavplubix
c298c633a7
Revert "Test and doc for PR12771 krb5 + cyrus-sasl + kerberized kafka" 2020-09-24 16:10:24 +03:00
Ilya Golshtein
624a4c4d55 kdc Dockerfile integrated 2020-09-17 16:51:34 +03:00
Ilya Golshtein
1862f58cf5 forgotten empty clickhouse_path dir 2020-09-17 16:51:34 +03:00
Ilya Golshtein
75836acddc code review changes 2020-09-17 16:51:34 +03:00
Ilya Golshtein
96c2a7c77e kerberized kafka test works after merge 2020-09-17 16:51:34 +03:00
Ilya Golshtein
1808a1e36c short krb ticket lifetime, Dockerile renamed 2020-09-17 16:51:34 +03:00
Ilya Golshtein
c227f91636 remove_files improved, proper docker images, tiny cleanup 2020-09-17 16:51:34 +03:00
Ilya Golshtein
2d5c31d588 test_storage_kerberized_kafka cleanup + negative test 2020-09-17 16:51:34 +03:00