ClickHouse v21.12 Release Notes
Release Date: 2021-12-15 // over 2 years ago-
Backward Incompatible Change
- A fix for a feature that previously had unwanted behaviour. Do not allow direct select for Kafka/RabbitMQ/FileLog. Can be enabled by setting
stream_like_engine_allow_direct_select
. Direct select will be not allowed even if enabled by setting, in case there is an attached materialized view. For Kafka and RabbitMQ direct selectm if allowed, will not commit massages by default. To enable commits with direct select, user must use storage level settingkafka{rabbitmq}_commit_on_select=1
(default0
). #31053 (Kseniia Sumarokova). - A slight change in behaviour of a new function. Return unquoted string in JSON_VALUE. Closes #27965. #31008 (Kseniia Sumarokova).
- Setting rename. Add custom null representation support for TSV/CSV input formats. Fix deserialing Nullable(String) in TSV/CSV/JSONCompactStringsEachRow/JSONStringsEachRow input formats. Rename
output_format_csv_null_representation
andoutput_format_tsv_null_representation
toformat_csv_null_representation
andformat_tsv_null_representation
accordingly. #30497 (Kruglov Pavel). - π Further deprecation of already unused code. This is relevant only for users of ClickHouse versions older than 20.6. A "leader election" mechanism is removed from
ReplicatedMergeTree
, because multiple leaders are supported since 20.6. If you are upgrading from an older version and some replica with an old version is a leader, then server will fail to start after upgrade. Stop replicas with old version to make new version start. After that it will not be possible to downgrade to version older than 20.6. #32140 (tavplubix).
π New Feature
- Implemented more of the ZooKeeper Four Letter Words commands in clickhouse-keeper: https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc_zkCommands. #28981 (JackyWoo). Now
clickhouse-keeper
is feature complete. - π Support for
Bool
data type. #31072 (kevin wan). - π Support for
PARTITION BY
in File, URL, HDFS storages and withINSERT INTO
table function. Closes #30273. #30690 (Kseniia Sumarokova). - β Added
CONSTRAINT ... ASSUME ...
(without checking duringINSERT
). Added query transformation to CNF (https://github.com/ClickHouse/ClickHouse/issues/11749) for more convenient optimization. Added simple query rewriting using constraints (only simple matching now, will be improved to support <,=,>... later). Added ability to replace heavy columns with light columns if it's possible. #18787 (Nikita Vasilev). - Basic access authentication for http/url functions. #31648 (michael1589).
- π Support
INTERVAL
type inSTEP
clause forWITH FILL
modifier. #30927 (Anton Popov). - β Add support for parallel reading from multiple files and support globs in
FROM INFILE
clause. #30135 (Filatenkov Artur). - β Add support for
Identifier
table and database query parameters. Closes #27226. #28668 (Nikolay Degterinsky). - TLDR: Major improvements of completeness and consistency of text formats. Refactor formats
TSV
,TSVRaw
,CSV
andJSONCompactEachRow
,JSONCompactStringsEachRow
, remove code duplication, add base interface for formats with-WithNames
and-WithNamesAndTypes
suffixes. Add formatsCSVWithNamesAndTypes
,TSVRawWithNames
,TSVRawWithNamesAndTypes
,JSONCompactEachRowWIthNames
,JSONCompactStringsEachRowWIthNames
,RowBinaryWithNames
. Support parallel parsing for formatsTSVWithNamesAndTypes
,TSVRaw(WithNames/WIthNamesAndTypes)
,CSVWithNamesAndTypes
,JSONCompactEachRow(WithNames/WIthNamesAndTypes)
,JSONCompactStringsEachRow(WithNames/WIthNamesAndTypes)
. Support columns mapping and types checking forRowBinaryWithNamesAndTypes
format. Add settinginput_format_with_types_use_header
which specify if we should check that types written inWIthNamesAndTypes
format matches with table structure. Add settinginput_format_csv_empty_as_default
and use it in CSV format instead ofinput_format_defaults_for_omitted_fields
(because this setting should not controlcsv_empty_as_default
). Fix usage of settinginput_format_defaults_for_omitted_fields
(it was used only ascsv_empty_as_default
, but it should control calculation of default expressions for omitted fields). Fix Nullable input/output inTSVRaw
format, make this format fully compatible with inserting into TSV. Fix inserting NULLs inLowCardinality(Nullable)
wheninput_format_null_as_default
is enabled (previously default values was inserted instead of actual NULLs). Fix strings deserialization inJSONStringsEachRow
/JSONCompactStringsEachRow
formats (strings were parsed just until first '\n' or '\t'). Add ability to useRaw
escaping rule in Template input format. Add diagnostic info for JSONCompactEachRow(WithNames/WIthNamesAndTypes) input format. Fix bug with parallel parsing of-WithNames
formats in case when settingmin_chunk_bytes_for_parallel_parsing
is less than bytes in a single row. #30178 (Kruglov Pavel). Allow to print/parse names and types of colums inCustomSeparated
input/output format. Add formatsCustomSeparatedWithNames/WithNamesAndTypes
similar toTSVWithNames/WithNamesAndTypes
. #31434 (Kruglov Pavel). - π Aliyun OSS Storage support. #31286 (cfcz48).
- π¦ Exposes all settings of the global thread pool in the configuration file. #31285 (TomΓ‘Ε‘ Hromada).
- π Introduced window functions
exponentialTimeDecayedSum
,exponentialTimeDecayedMax
,exponentialTimeDecayedCount
andexponentialTimeDecayedAvg
which are more effective thanexponentialMovingAverage
for bigger windows. Also more use-cases were covered. #29799 (Vladimir Chebotarev). - β Add option to compress logs before writing them to a file using LZ4. Closes #23860. #29219 (Nikolay Degterinsky).
- π Support
JOIN ON 1 = 1
that have CROSS JOIN semantic. This closes #25578. #25894 (Vladimir C). - β Add Map combinator for
Map
type. - Rename oldsum-, min-, max- Map
for mapped arrays tosum-, min-, max- MappedArrays
. #24539 (Ildus Kurbangaliev). - π Make reading from HTTP retriable. Closes #29696. #29894 (Kseniia Sumarokova).
Experimental Feature
WINDOW VIEW
to enable stream processing in ClickHouse. #8331 (vxider).- β¬οΈ Drop support for using Ordinary databases with
MaterializedMySQL
. #31292 (Stig Bakken). - βͺ Implement the commands BACKUP and RESTORE for the Log family. This feature is under development. #30688 (Vitaly Baranov).
π Performance Improvement
- Reduce memory usage when reading with
s3
/url
/hdfs
formatsParquet
,ORC
,Arrow
(controlled by settinginput_format_allow_seeks
, enabled by default). Also add settingremote_read_min_bytes_for_seek
to control seeks. Closes #10461. Closes #16857. #30936 (Kseniia Sumarokova). - β Add optimizations for constant conditions in JOIN ON, ref #26928. #27021 (Vladimir C).
- π Support parallel formatting for all text formats, except
JSONEachRowWithProgress
andPrettyCompactMonoBlock
. #31489 (Kruglov Pavel). - Speed up count over nullable columns. #31806 (RaΓΊl MarΓn).
- Speed up
avg
andsumCount
aggregate functions. #31694 (RaΓΊl MarΓn). - π Improve performance of JSON and XML output formats. #31673 (alexey-milovidov).
- π Improve performance of syncing data to block device. This closes #31181. #31229 (zhanglistar).
- π Fixing query performance issue in
LiveView
tables. Fixes #30831. #31006 (vzakaznikov). - π Speed up query parsing. #31949 (RaΓΊl MarΓn).
- π Allow to split
GraphiteMergeTree
rollup rules for plain/tagged metrics (optionalrule_type
field). #25122 (Michail Safronov). - β Remove excessive
DESC TABLE
requests forremote()
(in case ofremote('127.1', system.one)
(i.e. identifier as the db.table instead of string) there was excessiveDESC TABLE
request). #32019 (Azat Khuzhin). - Optimize function
tupleElement
to reading of subcolumn with enabled settingoptimize_functions_to_subcolumns
. #31261 (Anton Popov). - Optimize function
mapContains
to reading of subcolumnkey
with enabled settingsoptimize_functions_to_subcolumns
. #31218 (Anton Popov). - Add settings
merge_tree_min_rows_for_concurrent_read_for_remote_filesystem
andmerge_tree_min_bytes_for_concurrent_read_for_remote_filesystem
. #30970 (Kseniia Sumarokova). - Skipping mutations of different partitions in
StorageMergeTree
. #21326 (Vladimir Chebotarev).
π Improvement
- Do not allow to drop a table or dictionary if some tables or dictionaries depend on it. #30977 (tavplubix).
- π Allow versioning of aggregate function states. Now we can introduce backward compatible changes in serialization format of aggregate function states. Closes #12552. #24820 (Kseniia Sumarokova).
- π Support PostgreSQL style
ALTER MODIFY COLUMN
syntax. #32003 (SuperDJY). - β Added
update_field
support forRangeHashedDictionary
,ComplexKeyRangeHashedDictionary
. #32185 (Maksim Kita). - The
murmurHash3_128
andsipHash128
functions now accept an arbitrary number of arguments. This closes #28774. #28965 (ε°θ·―). - π Support default expression for
HDFS
storage and optimize fetching when source is column oriented. #32256 (ζζ¬). - π Improve the operation name of an opentelemetry span. #32234 (Frank Chen).
- π Use
Content-Type: application/x-ndjson
(http://ndjson.org/) for output formatJSONEachRow
. #32223 (Dmitriy Dorofeev). - π Improve skipping unknown fields with quoted escaping rule in Template/CustomSeparated formats. Previously you could skip only quoted strings, now you can skip values with any type. #32204 (Kruglov Pavel).
- π§ Now
clickhouse-keeper
refuses to start or apply configuration changes when they contain duplicated IDs or endpoints. Fixes #31339. #32121 (alesapin). - Set Content-Type in HTTP packets issued from URL engine. #32113 (Frank Chen).
- Return Content-Type as 'application/json' for
JSONEachRow
format ifoutput_format_json_array_of_rows
is enabled. #32112 (Frank Chen). - π Allow to parse
+
beforeFloat32
/Float64
values. #32079 (Kruglov Pavel). - π Allow a user configured
hdfs_replication
parameter forDiskHDFS
andStorageHDFS
. Closes #32039. #32049 (leosunli). - β Added ClickHouse
exception
andexception_code
fields to opentelemetry span log. #32040 (Frank Chen). - π Improve opentelemetry span log duration - it was is zero at the query level if there is a query exception. #32038 (Frank Chen).
- π Fix the issue that
LowCardinality
ofInt256
cannot be created. #31832 (alexey-milovidov). - π² Recreate
system.*_log
tables in case of different engine/partition_by. #31824 (Azat Khuzhin). MaterializedMySQL
: Fix issue with table named 'table'. #31781 (HΓ₯vard KvΓ₯len).- π ClickHouse dictionary source: support predefined connections. Closes #31705. #31749 (Kseniia Sumarokova).
- π Allow to use predefined connections configuration for Kafka and RabbitMQ engines (the same way as for other integration table engines). #31691 (Kseniia Sumarokova).
- Always re-render prompt while navigating history in clickhouse-client. This will improve usability of manipulating very long queries that don't fit on screen. #31675 (alexey-milovidov) (author: Amos Bird).
- β Add key bindings for navigating through history (instead of lines/history). #31641 (Azat Khuzhin).
- Improve the
max_execution_time
checks. Fixed some cases when timeout checks do not happen and query could run too long. #31636 (RaΓΊl MarΓn). - π Better exception message when
users.xml
cannot be loaded due to bad password hash. This closes #24126. #31557 (Vitaly Baranov). - π Use shard and replica name from
Replicated
database arguments when expanding macros inReplicatedMergeTree
arguments if these macros are not defined in config. Closes #31471. #31488 (tavplubix). - Better analysis for
min/max/count
projection. Now, with enabledallow_experimental_projection_optimization
, virtualmin/max/count
projection can be used together with columns from partition key. #31474 (Amos Bird). - β Add
--pager
support forclickhouse-local
. #31457 (Azat Khuzhin). - π Fix waiting of the editor during interactive query edition (
waitpid()
returns -1 onSIGWINCH
andEDITOR
andclickhouse-local
/clickhouse-client
works concurrently). #31456 (Azat Khuzhin). - π» Throw an exception if there is some garbage after field in
JSONCompactStrings(EachRow)
format. #31455 (Kruglov Pavel). - Default value of
http_send_timeout
andhttp_receive_timeout
settings changed from 1800 (30 minutes) to 180 (3 minutes). #31450 (tavplubix). MaterializedMySQL
now handlesCREATE TABLE ... LIKE ...
DDL queries. #31410 (Stig Bakken).- Return artificial create query when executing
show create table
on system's tables. #31391 (SuperDJY). - Previously progress was shown only for
numbers
table function. Now fornumbers_mt
it is also shown. #31318 (Kseniia Sumarokova). - π Initial user's roles are used now to find row policies, see #31080. #31262 (Vitaly Baranov).
- β If some obsolete setting is changed - show warning in
system.warnings
. #31252 (tavplubix). - Improved backoff for background cleanup tasks in
MergeTree
. Settingsmerge_tree_clear_old_temporary_directories_interval_seconds
andmerge_tree_clear_old_parts_interval_seconds
moved from users settings to merge tree settings. #31180 (tavplubix). - Now every replica will send to client only incremental information about profile events counters. #31155 (Dmitry Novik). This makes
--hardware_utilization
option inclickhouse-client
usable. - 0οΈβ£ Enable multiline editing in clickhouse-client by default. This addresses #31121 . #31123 (Amos Bird).
- π Function name normalization for
ALTER
queries. This helps avoid metadata mismatch between creating table with indices/projections and adding indices/projections via alter commands. This is a follow-up PR of https://github.com/ClickHouse/ClickHouse/pull/20174. Mark as improvements as there are no bug reports and the senario is somehow rare. #31095 (Amos Bird). - π Support
IF EXISTS
modifier forRENAME DATABASE
/TABLE
/DICTIONARY
query. If this directive is used, one will not get an error if the DATABASE/TABLE/DICTIONARY to be renamed doesn't exist. #31081 (victorgao). - π Cancel vertical merges when partition is dropped. This is a follow-up of https://github.com/ClickHouse/ClickHouse/pull/25684 and https://github.com/ClickHouse/ClickHouse/pull/30996. #31057 (Amos Bird).
- The local session inside a Clickhouse dictionary source won't send its events to the session log anymore. This fixes a possible deadlock (tsan alert) on shutdown. Also this PR fixes flaky
test_dictionaries_dependency_xml/
. #31013 (Vitaly Baranov). - Less locking in ALTER command. #31010 (Amos Bird).
- π Fix
--verbose
option in clickhouse-local interactive mode and allow logging into file. #30881 (Kseniia Sumarokova). - β Added
\l
,\d
,\c
commands inclickhouse-client
like in MySQL and PostgreSQL. #30876 (Pavel Medvedev). - For clickhouse-local or clickhouse-client: if there is
--interactive
option with--query
or--queries-file
, then first execute them like in non-interactive and then start interactive mode. #30851 (Kseniia Sumarokova). - π Fix possible "The local set of parts of X doesn't look like the set of parts in ZooKeeper" error (if DROP fails during removing znodes from zookeeper). #30826 (Azat Khuzhin).
- Avro format works against Kafka. Setting
output_format_avro_rows_in_file
added. #30351 (Ilya Golshtein). - π Allow to specify one or any number of PostgreSQL schemas for one
MaterializedPostgreSQL
database. Closes #28901. Closes #29324. #28933 (Kseniia Sumarokova). - 0οΈβ£ Replaced default ports for clickhouse-keeper internal communication from 44444 to 9234. Fixes #30879. #31799 (alesapin).
- Implement function transform with Decimal arguments. #31839 (ζεΈ ).
- Fix abort in debug server and
DB::Exception: std::out_of_range: basic_string
error in release server in case of bad hdfs url by adding additional check of hdfs url structure. #31042 (Kruglov Pavel). - π Fix possible assert in
hdfs
table function/engine, add test. #31036 (Kruglov Pavel).
π Bug Fixes
- π Fix group by / order by / limit by aliases with positional arguments enabled. Closes #31173. #31741 (Kseniia Sumarokova).
- π Fix usage of
Buffer
table engine with typeMap
. Fixes #30546. #31742 (Anton Popov). - Fix reading from
MergeTree
tables with enableduse_uncompressed_cache
. #31826 (Anton Popov). - Fixed the behavior when mutations that have nothing to do are stuck (with enabled setting
empty_result_for_aggregation_by_empty_set
). #32358 (Nikita Mikhaylov). - π Fix skipping columns while writing protobuf. This PR fixes #31160, see the comment #31160#issuecomment-980595318. #31988 (Vitaly Baranov).
- π Fix bug when remove unneeded columns in subquery. If there is an aggregation function in query without group by, do not remove if it is unneeded. #32289 (dongyifeng).
- π Quota limit was not reached, but the limit was exceeded. This PR fixes #31174. #31337 (sunny).
- π Fix SHOW GRANTS when partial revokes are used. This PR fixes #31138. #31249 (Vitaly Baranov).
- Memory amount was incorrectly estimated when ClickHouse is run in containers with cgroup limits. #31157 (Pavel Medvedev).
- π Fix
ALTER ... MATERIALIZE COLUMN ...
queries in case when data type of default expression is not equal to the data type of column. #32348 (Anton Popov). - π Fixed crash with SIGFPE in aggregate function
avgWeighted
withDecimal
argument. Fixes #32053. #32303 (tavplubix). - π Server might fail to start with
Cannot attach 1 tables due to cyclic dependencies
error ifDictionary
table looks at XML-dictionary with the same name, it's fixed. Fixes #31315. #32288 (tavplubix). - π Fix parsing error while NaN deserializing for
Nullable(Float)
forQuoted
escaping rule. #32190 (Kruglov Pavel). - β¬οΈ XML dictionaries: identifiers, used in table create query, can be qualified to
default_database
during upgrade to newer version. Closes #31963. #32187 (Maksim Kita). - Number of active replicas might be determined incorrectly when inserting with quorum if setting
replicated_can_become_leader
is disabled on some replicas. It's fixed. #32157 (tavplubix). - Dictionaries: fix cases when
{condition}
does not work for custom database queries. #32117 (Maksim Kita). - Fix
CAST
fromNullable
withcast_keep_nullable
(PARAMETER_OUT_OF_BOUND
error before for i.e.toUInt32OrDefault(toNullable(toUInt32(1)))
). #32080 (Azat Khuzhin). - π Fix CREATE TABLE of Join Storage in some obscure cases. Close #31680. #32066 (SuperDJY).
- π Fixed
Directory ... already exists and is not empty
error when detaching part. #32063 (tavplubix). MaterializedMySQL
(experimental feature): Fix misinterpretation ofDECIMAL
data from MySQL. #31990 (HΓ₯vard KvΓ₯len).FileLog
(experimental feature) engine unnesessary created meta data directory when create table failed. Fix #31962. #31967 (flynn).- π Some
GET_PART
entry might hang in replication queue if part is lost on all replicas and there are no other parts in the same partition. It's fixed in cases when partition key contains only columns of integer types orDate[Time]
. Fixes #31485. #31887 (tavplubix). - π Fix functions
empty
andnotEmpty
with arguments ofUUID
type. Fixes #31819. #31883 (Anton Popov). - Change configuration path from
keeper_server.session_timeout_ms
tokeeper_server.coordination_settings.session_timeout_ms
when constructing aKeeperTCPHandler
. Same withoperation_timeout
. #31859 (JackyWoo). - π Fix invalid cast of Nullable type when nullable primary key is used. (Nullable primary key is a discouraged feature - please do not use). This fixes #31075. #31823 (Amos Bird).
- π Fix crash in recursive UDF in SQL. Closes #30856. #31820 (Maksim Kita).
- π Fix crash when function
dictGet
with type is used for dictionary attribute when type isNullable
. Fixes #30980. #31800 (Maksim Kita). - π Fix crash with empty result of ODBC query (with some ODBC drivers). Closes #31465. #31766 (Kseniia Sumarokova).
- Fix disabling query profiler (In case of
query_profiler_real_time_period_ns>0
/query_profiler_cpu_time_period_ns>0
query profiler can stayed enabled even after query finished). #31740 (Azat Khuzhin). - π Fixed rare segfault on concurrent
ATTACH PARTITION
queries. #31738 (tavplubix). - π Fix race in JSONEachRowWithProgress output format when data and lines with progress are mixed in output. #31736 (Kruglov Pavel).
- π Fixed
there are no such cluster here
error on execution ofON CLUSTER
query if specified cluster name is name ofReplicated
database. #31723 (tavplubix). - π Fix exception on some of the applications of
decrypt
function on Nullable columns. This closes #31662. This closes #31426. #31707 (alexey-milovidov). - π Fixed function ngrams when string contains UTF-8 characters. #31706 (yandd).
- Settings
input_format_allow_errors_num
andinput_format_allow_errors_ratio
did not work for parsing of domain types, such asIPv4
, it's fixed. Fixes #31686. #31697 (tavplubix). - π Fixed null pointer exception in
MATERIALIZE COLUMN
. #31679 (Nikolai Kochetov). - π
RENAME TABLE
query worked incorrectly on attempt to rename an DDL dictionary inOrdinary
database, it's fixed. #31638 (tavplubix). - π Implement
sparkbar
aggregate function as it was intended, see: #26175#issuecomment-960353867, comment. #31624 (ε°θ·―). - π Fix invalid generated JSON when only column names contain invalid UTF-8 sequences. #31534 (Kevin Michel).
- π Disable
partial_merge_join_left_table_buffer_bytes
before bug in this optimization is fixed. See #31009). Remove redundant optionpartial_merge_join_optimizations
. #31528 (Vladimir C). - π Fix progress for short
INSERT SELECT
queries. #31510 (Azat Khuzhin). - π Fix wrong behavior with group by and positional arguments. Closes #31280#issuecomment-968696186. #31420 (Kseniia Sumarokova).
- Resolve
nullptr
in STS credentials provider for S3. #31409 (Vladimir Chebotarev). - β Remove
notLike
function from index analysis, because it was wrong. #31169 (sundyli). - π Fix bug in Keeper which can lead to inability to start when some coordination logs was lost and we have more fresh snapshot than our latest log. #31150 (alesapin).
- Rewrite right distributed table in local join. solves #25809. #31105 (abel-cheng).
- π Fix
Merge
table with aliases and where (it did not work before at all). Closes #28802. #31044 (Kseniia Sumarokova). - Fix JSON_VALUE/JSON_QUERY with quoted identifiers. This allows to have spaces in json path. Closes #30971. #31003 (Kseniia Sumarokova).
- Using
formatRow
function with not row-oriented formats led to segfault. Don't allow to use this function with such formats (because it doesn't make sense). #31001 (Kruglov Pavel). - π Fix bug which broke select queries if they happened after dropping materialized view. Found in #30691. #30997 (Kseniia Sumarokova).
- Skip
max_partition_size_to_drop check
in case of ATTACH PARTITION ... FROM and MOVE PARTITION ... #30995 (Amr Alaa). - π Fix some corner cases with
INTERSECT
andEXCEPT
operators. Closes #30803. #30965 (Kseniia Sumarokova).
π Build/Testing/Packaging Improvement
- π Fix incorrect filtering result on non-x86 builds. This closes #31417. This closes #31524. #31574 (alexey-milovidov).
- π Make ClickHouse build fully reproducible (byte identical on different machines). This closes #22113. #31899 (alexey-milovidov). Remove filesystem path to the build directory from binaries to enable reproducible builds. This needed for #22113. #31838 (alexey-milovidov).
- π· Use our own CMakeLists for
zlib-ng
,cassandra
,mariadb-connector-c
andxz
,re2
,sentry
,gsasl
,arrow
,protobuf
. This is needed for #20151. Part of #9226. A small step towards removal of annoying trash from the build system. #30599 (alexey-milovidov). - π Hermetic builds: use fixed version of libc and make sure that no source or binary files from the host OS are using during build. This closes #27133. This closes #21435. This closes #30462. #30011 (alexey-milovidov).
- β Adding function
getFuzzerData()
to easily fuzz particular functions. This closes #23227. #27526 (Alexey Boykov). - π³ More correct setting up capabilities inside Docker. #31802 (Constantine Peresypkin).
- Enable clang
-fstrict-vtable-pointers
,-fwhole-program-vtables
compile options. #20151 (Maksim Kita). - Avoid downloading toolchain tarballs for cross-compiling for FreeBSD. #31672 (alexey-milovidov).
- π Initial support for risc-v. See development/build-cross-riscv for quirks and build command that was tested. #31309 (Vladimir Smirnov).
- π Support compile in arm machine with parameter "-DENABLE_TESTS=OFF". #31007 (zhanghuajie).
- A fix for a feature that previously had unwanted behaviour. Do not allow direct select for Kafka/RabbitMQ/FileLog. Can be enabled by setting