Commit Graph

2164 Commits

Author SHA1 Message Date
Val Doroshchuk
5c221d123d MaterializedMySQL: Introduce MySQL Binlog Client
One binlog connection for many databases.

Suggesting to disable this feature by default for now. It should be explicitly enabled by SETTINGS use_binlog_client=1.
But if you would permanently enable it in MaterializedMySQLSettings, it should keep old behavior and all tests should pass too.

1. Introduced `IBinlog` and its impl to read the binlog events from socket - `BinlogFromSocket`, or file - `BinlogFromFile`. Based on prev impl of `EventBase` and the same old binlog parsers. It fully keeps BC with old version. Fixed `./check-mysql-binlog` to test new impl.
2. Introduced `BinlogEventsDispatcher`, it reads the event from the source `IBinlog` and sends it to currently attached `IBinlog` instances.
3. Introduced `BinlogClient`, which is used to group a list of `BinlogEventsDispatcher` by MySQL binlog connection which is defined by `user:password@host:port`. All dispatchers with the same binlog position should be merged to one.
4. Introduced `BinlogClientFactory`, which is a singleton and it is used to track all binlogs created over the instance.
5. Introduced `use_binlog_client` setting to `MaterializedMySQL`, which forces to reuse a `BinlogClient` if it already exists in `BinlogClientCatalog` or create new one. By default, it is disabled.
6. Introduced `max_bytes_in_binlog_queue` setting to define the limit of bytes in binlog's queue of events. If bytes in the queue increases this limit, `BinlogEventsDispatcher` will stop reading new events from source `IBinlog` until the space for new events will be freed.
7. Introduced `max_milliseconds_to_wait_in_binlog_queue` setting to define max ms to wait when the max bytes exceeded.
7. Introduced `max_milliseconds_to_wait_in_binlog_queue` setting to define max ms to wait when the max bytes exceeded.
8. Introduced `max_bytes_in_binlog_dispatcher_buffer` setting to define max bytes in the binlog dispatcher's buffer before it is flushed to attached binlogs.
9. Introduced `max_flush_milliseconds_in_binlog_dispatcher` setting to define max milliseconds in the binlog dispatcher's buffer to wait before it is flushed to attached binlogs.
10. Introduced `system.mysql_binlogs` system table, which shows a list of active binlogs.
11. Introduced `UnparsedRowsEvent` and `MYSQL_UNPARSED_ROWS_EVENT`, which defines that an event is not parsed and should be explicitly parsed later.
12. Fixed bug when not possible to apply DDL since syntax error or unsupported SQL.

@larspars is the author of following:
`GTIDSets::contains()`
`ReplicationHelper`
`shouldReconnectOnException()`
2024-01-03 15:26:09 +01:00
Alexey Milovidov
78523639e0 Remove function 2023-12-30 14:52:54 +01:00
Alexey Milovidov
96876aa4f4
Merge pull request #58345 from ClickHouse/dos-windows
Add a style check against DOS and Windows
2023-12-29 15:02:46 +01:00
Alexey Milovidov
4843d5d099
Update check-style 2023-12-29 16:29:30 +03:00
Alexey Milovidov
48a397577c Add a style check against DOS and Windows 2023-12-29 13:10:40 +01:00
Michael Kolupaev
609b2c216c Fix some of the CI 2023-12-28 17:56:05 +00:00
Alexander Tokmakov
38fe70c68a
Revert "Refreshable materialized views (takeover)" 2023-12-28 13:12:20 +01:00
robot-clickhouse
27657a3eb6 Update version_date.tsv and changelogs after v23.12.1.1368-stable 2023-12-28 10:32:09 +00:00
Alexey Milovidov
a2faa65b08
Merge pull request #56946 from ClickHouse/mv
Refreshable materialized views (takeover)
2023-12-28 09:29:44 +01:00
Alexey Milovidov
345d29a3c1
Revert "Implement punycode encoding/decoding" 2023-12-28 09:12:22 +03:00
Michael Kolupaev
673743e2ac Fix some of the CI 2023-12-27 20:24:55 +00:00
Sema Checherinda
617ee5abaf
Merge pull request #57551 from bharatnc/ncb/async-metrics-pri-key-size
add asynchronous metrics for total primary key size in memory and allocated
2023-12-27 20:24:20 +01:00
Alexey Milovidov
d0ca383bca
Merge pull request #58095 from azat/metrics/max-rss
Add max/peak RSS into system.asynchronous_metrics
2023-12-23 13:13:44 +01:00
Azat Khuzhin
74ea601dc2 Add documentation for MemoryResidentMax metric in system.asynchronous_metrics
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2023-12-22 18:38:44 +01:00
Bharat Nallan Chakravarthy
62b28d365c Merge with upstream/master 2023-12-21 17:04:25 -08:00
robot-clickhouse
547050d41b Update version_date.tsv and changelogs after v23.11.3.23-stable 2023-12-21 08:44:28 +00:00
Robert Schulze
ecb6f31211
Merge pull request #57969 from rschu1ze/punycode-is-cool
Implement punycode encoding/decoding
2023-12-20 10:20:34 +01:00
robot-ch-test-poll3
39b77ddc02
Merge pull request #56138 from crackhead-koala/add-documentation-for-sample-size-functions
Add documentation for minSampleSizeConversion and minSampleSizeContinous
2023-12-19 23:19:55 +01:00
Robert Schulze
00c407ecc1
Merge remote-tracking branch 'rschu1ze/master' into punycode-is-cool 2023-12-19 06:27:23 +00:00
Bharat Nallan Chakravarthy
aef4e2e6ec Merge upstream/master into ncb/async-metrics-pri-key-size 2023-12-18 09:46:51 -08:00
Robert Schulze
29d70c12f6
Fix CI checks 2023-12-18 10:47:40 +00:00
Raúl Marín
2639d0715f Merge remote-tracking branch 'blessed/master' into log_message_string 2023-12-18 10:40:18 +01:00
Max K
84e5870b71
Reapply "improve CI with digest for docker, build and test jobs" (#57904)
* Revert "Revert "improve CI with digest for docker, build and test jobs""

* fix: docker manifest merge for missing images only
2023-12-18 09:07:22 +01:00
Sergei Trifonov
3634b949a8
Merge pull request #57793 from ClickHouse/rename-system-table
Rename `system.async_loader` into `system.asynchronous_loader`
2023-12-16 17:33:04 +01:00
Raúl Marín
b269f87f4c Better text_log with ErrnoException 2023-12-15 19:27:56 +01:00
Max K
8c7add0334 Revert "improve CI with digest for docker, build and test jobs (#56317)"
This reverts commit 7844fcc196.
2023-12-15 15:48:01 +01:00
Max K
7844fcc196
improve CI with digest for docker, build and test jobs (#56317)
* CI with digests to tag docker images, reuse builds, reuse tests and others
2023-12-15 15:21:20 +01:00
Julia Kartseva
7a5b40563a
Merge pull request #57574 from ClibMouse/dev-seriesPeriodDetect
Revert "Revert "Implemented series period detect method using pocketfft lib""
2023-12-14 21:10:23 -08:00
robot-clickhouse
30e6797c7e Update version_date.tsv and changelogs after v23.11.2.11-stable 2023-12-13 17:19:14 +00:00
serxa
57d7a58dbe Rename system.async_loader into system.asynchronous_loader 2023-12-12 16:55:27 +00:00
Kruglov Pavel
3b1ffbd77c
Merge branch 'master' into schema-inference-union 2023-12-11 18:59:15 +01:00
Robert Schulze
d24f389a0a
Fix spelling 2023-12-11 11:28:38 +00:00
avogar
ee7af95bc0 Merge branch 'master' of github.com:ClickHouse/ClickHouse into schema-inference-union 2023-12-08 20:29:28 +00:00
Bhavna Jindal
1f58b0f150
Merge branch 'master' into dev-seriesPeriodDetect 2023-12-08 10:26:39 -05:00
robot-clickhouse
2d134fd120
Merge pull request #57612 from danipozo/fix-reading-s3-script-backupview
Fix parsing virtual hosted S3 URI in clickhouse_backupview script
2023-12-08 10:17:12 +01:00
hdhoang
fc8292182c
fix typo TKSV
correct name is TS-KV
2023-12-07 20:19:00 +07:00
Dani Pozo
7ac4e83acc Fix parsing virtual hosted S3 URI 2023-12-07 12:32:32 +01:00
Robert Schulze
0159a4d4a2
Merge pull request #57512 from rschu1ze/revert-revert-sqid
Revert "Revert "Add `sqid()` function""
2023-12-07 10:26:02 +01:00
robot-clickhouse
2bd0888966 Update version_date.tsv and changelogs after v23.11.1.2711-stable 2023-12-06 23:05:48 +00:00
Bhavna Jindal
dad268c33b Revert "Revert "Implemented series period detect method using pocketfft lib""
This reverts commit d7d83c99e5.
2023-12-06 13:31:49 -08:00
Bharat Nallan Chakravarthy
41b2b63cee add docs 2023-12-05 18:50:36 -08:00
Robert Schulze
f56dd6561f
Merge remote-tracking branch 'rschu1ze/master' into revert-revert-sqid 2023-12-05 18:41:10 +00:00
Alexey Milovidov
d7d83c99e5
Revert "Implemented series period detect method using pocketfft lib" 2023-12-05 18:17:07 +03:00
Alexey Milovidov
2988f6f92a
Revert "Add new aggregation function groupArraySorted()" 2023-12-05 15:31:17 +03:00
Robert Schulze
a2cd240317
Revert "Revert "Add sqid() function""
This reverts commit 8d5d0ef38f.
2023-12-05 10:50:30 +00:00
Alexey Milovidov
8d5d0ef38f
Revert "Add sqid() function" 2023-12-05 13:45:33 +03:00
Alexey Milovidov
cbea3545aa
Revert "add function getClientHTTPHeader" 2023-12-05 13:34:34 +03:00
Alexey Milovidov
02439eee58
Merge pull request #49351 from ClickHouse/async-loader-integration
Asynchronous loading of tables
2023-12-04 17:16:12 +01:00
Robert Schulze
f6036fbb29
Some fixups 2023-12-03 16:20:59 +00:00
Kruglov Pavel
575ee1e665
Merge pull request #56868 from zvonand/zvonand-fileCluster
Introduce `fileCluster` table function
2023-11-30 13:49:53 +01:00