Commit Graph

1408 Commits

Author SHA1 Message Date
tavplubix
1c5d6bbe44
Merge pull request #20051 from stigsb/materializemysql-system-tables-fix
Show details of MaterializeMySQL tables in `system.tables`
2021-02-06 14:50:11 +03:00
alesapin
011109c82a
Merge pull request #17348 from xjewer/alex/CLICKHOUSE-606_deduplication_UUID
CLICKHOUSE-606: query deduplication based on parts' UUID
2021-02-05 22:47:34 +03:00
Stig Bakken
3fc1641d91 Show details of MaterializeMySQL tables in system.tables 2021-02-05 21:37:29 +08:00
tavplubix
f59dc7f40d
Merge pull request #20066 from havardk/multi-table-update
Fix handling of TABLE_MAP_EVENT from MySQL
2021-02-05 13:11:59 +03:00
vdimir
30f98795bc
Merge remote-tracking branch 'upstream/master' into disk-s3-backup-restore-metadata 2021-02-04 18:38:28 +03:00
alesapin
933105a667 Fix session timeout 2021-02-04 16:31:38 +03:00
alesapin
d85e9b496c Fix gcc-10 build 2021-02-04 16:22:30 +03:00
Haavard Kvaalen
e6f1ce48fe Fix handling of TABLE_MAP_EVENT from MySQL
The MySQL replication code assumed that row update events would be
preceded by a single TABLE_MAP_EVENT.  However, if a single SQL
statement modifies rows in multiple tables, MySQL will first send
table map events for all involved tables, and then row update events.

Depending on circumstances, this could lead to an exception when the row
update was processed, the update could be incorrectly dropped, or the
update could be applied to the wrong table.
2021-02-04 12:49:10 +01:00
alesapin
9c04d912ec Merge branch 'master' into in_memory_raft 2021-02-04 11:50:32 +03:00
alesapin
e7a83868dd Fix build 2021-02-04 11:28:11 +03:00
alesapin
1ff87ac6f9 Add background session lifetime control 2021-02-03 23:32:15 +03:00
alexey-milovidov
402c018d1e
Merge pull request #19947 from azat/dist-INSERT-block-structure-mismatch
Fix "Block structure mismatch" for INSERT into Distributed
2021-02-03 21:27:45 +03:00
Pavel Kovalenko
b7151aa754 Merge remote-tracking branch 'origin/master' into disk-s3-backup-restore-metadata
# Conflicts:
#	src/Disks/DiskDecorator.h
#	src/Disks/IDisk.h
#	src/Disks/S3/DiskS3.cpp
2021-02-03 14:22:18 +03:00
alexey-milovidov
830b0eb36e
Merge pull request #19974 from qoega/kerberized-hdfs-port-clash
Fixed port clash from test_storage_kerberized_hdfs test.
2021-02-03 10:16:14 +03:00
alesapin
6743dd4656 Same for the first test 2021-02-02 22:56:07 +03:00
alesapin
1e0a528bac Fix possible test flakyness 2021-02-02 22:33:57 +03:00
Azat Khuzhin
ac510f9770 test_read_temporary_tables_on_failure: increase timeout to avoid false-positive
In [1]:

    start_cluster = <helpers.cluster.ClickHouseCluster object at 0x7f2d46895dd8>

        def test_different_versions(start_cluster):
            with pytest.raises(QueryTimeoutExceedException):
                node.query("SELECT sleep(3)", timeout=1)
            with pytest.raises(QueryRuntimeException):
    >           node.query("SELECT 1", settings={'max_concurrent_queries_for_user': 1})
    E           Failed: DID NOT RAISE <class 'helpers.client.QueryRuntimeException'>

  [1]: https://clickhouse-test-reports.s3.yandex.net/19451/b68508002d134ead05bf2ca0e22a13a34a5c55c6/integration_tests_(thread).html#fail1
2021-02-02 22:04:45 +03:00
Azat Khuzhin
33628e1bd9 test_materialize_mysql_database: add retries for test_select_without_columns_8_0
Here is an example:

    2021.01.31 14:04:43.615618 [ 54 ] {} <Debug> executeQuery: (internal) /*Materialize MySQL step 1: execute dump data*/ INSERT INTO t(a, b, _sign, _version) VALUES
    2021.01.31 14:04:43.616453 [ 54 ] {} <Trace> db.t (fc55a47e-1cae-4f41-9a13-91ccde5a73bb): Renaming temporary part tmp_insert_0_1_1_0 to 0_1_1_0.
    ...
    2021.01.31 14:04:43.786823 [ 12 ] {4a0d1f80-4a96-4809-a84e-d55d7cd25cdd} <Debug> executeQuery: (from 172.18.0.1:45162, using production parser) SELECT count(_version) FROM db.t FORMAT TSV
    ...
    2021.01.31 14:04:44.566037 [ 54 ] {} <Debug> executeQuery: (internal) /*Materialize MySQL step 1: execute dump data*/ INSERT INTO t(a, b, _sign, _version) VALUES
    2021.01.31 14:04:44.566943 [ 54 ] {} <Trace> db.t (fc55a47e-1cae-4f41-9a13-91ccde5a73bb): Renaming temporary part tmp_insert_0_2_2_0 to 0_2_2_0.
    ...
    2021.01.31 14:04:52.343911 [ 54 ] {} <Error> MaterializeMySQLSyncThread: Code: 1002, e.displayText() = DB::Exception: Master maybe lost, Stack trace (when copying this message, always include the lines below):

  [1]: https://clickhouse-test-reports.s3.yandex.net/19584/978f23e3437d0d0eb64727e87ffe1b80289c9fc2/integration_tests_(release).html#fail1
2021-02-02 22:04:45 +03:00
Azat Khuzhin
3d3d6777d3 test_dictionaries_dependency_xml: decrease dictionaries lifetime
Since ExternalLoader::PeriodicUpdater::check_period_sec = 5, and so if
it will be scheduled too early the reload will be skipped, and indeed
this is what you can see in logs [1], the reload is done each 10
seconds, not 5:

    2021.01.31 14:20:22.590999 [ 48 ] {} <Trace> ExternalDictionariesLoader: Supposed update time for 'dep_x' is 2021-01-31 14:20:27 (loaded, lifetime [5, 5], no errors)
    2021.01.31 14:20:22.591016 [ 48 ] {} <Trace> ExternalDictionariesLoader: Next update time for 'dep_x' was set to 2021-01-31 14:20:27
    ...
    2021.01.31 14:20:32.164882 [ 50 ] {} <Trace> ExternalDictionariesLoader: Start loading object 'dep_x'

  [1]: https://clickhouse-test-reports.s3.yandex.net/19584/37797fdf5b30dc97147e73b3ac8ca9025b80aaed/integration_tests_(release).html#fail1
2021-02-02 22:04:32 +03:00
Aleksei Semiglazov
921518db0a CLICKHOUSE-606: query deduplication based on parts' UUID
* add the query data deduplication excluding duplicated parts in MergeTree family engines.

query deduplication is based on parts' UUID which should be enabled first with merge_tree setting
assign_part_uuids=1

allow_experimental_query_deduplication setting is to enable part deduplication, default ot false.

data part UUID is a mechanism of giving a data part a unique identifier.
Having UUID and deduplication mechanism provides a potential of moving parts
between shards preserving data consistency on a read path:
duplicated UUIDs will cause root executor to retry query against on of the replica explicitly
asking to exclude encountered duplicated fingerprints during a distributed query execution.

NOTE: this implementation don't provide any knobs to lock part and hence its UUID. Any mutations/merge will
update part's UUID.

* add _part_uuid virtual column, allowing to use UUIDs in predicates.

Signed-off-by: Aleksei Semiglazov <asemiglazov@cloudflare.com>

address comments
2021-02-02 16:53:39 +00:00
alesapin
9979181c02 Merge branch 'master' into in_memory_raft 2021-02-02 17:05:20 +03:00
alesapin
94201ebf04 More info in test 2021-02-02 15:41:09 +03:00
Yatsishin Ilya
19d6e867c6 HDFS test had a clash with 9000 ClickHouse port. 2021-02-02 12:08:47 +03:00
tavplubix
dbcddbcebd
Merge pull request #19770 from stigsb/materializemysql_system_parts
Show MaterializeMySQL tables in system.parts
2021-02-02 11:43:42 +03:00
alesapin
d265e3b419 Less timeouts 2021-02-02 11:02:25 +03:00
alesapin
a9c50caa9a
Merge pull request #19942 from ClickHouse/fix_test_keeper_b2b_test
Fix test keeper integration tests
2021-02-02 10:17:27 +03:00
alesapin
e6fd6abe6f Fix test keeper integration tests 2021-02-01 18:07:34 +03:00
alesapin
365bf65f5a Fix install script 2021-02-01 17:14:59 +03:00
alesapin
2aa8a6304b
Merge pull request #15450 from CurtizJ/fix-ttl-group-by
Fix some cases of TTL expressions
2021-02-01 16:48:07 +03:00
alesapin
0aca40d8cb Merge branch 'master' into in_memory_raft 2021-02-01 14:30:11 +03:00
Stig Bakken
bedc472bb0 Show MaterializeMySQL tables in system.parts 2021-02-01 16:59:10 +08:00
alesapin
67412bd529 Don't accept connections if we don't see leader + race fix from upstream 2021-02-01 10:51:10 +03:00
alesapin
d9598c47b4
Merge pull request #19702 from ClickHouse/fix_rare_bug_after_part_corruption
Fix incorrect virtual_parts after part corruption
2021-02-01 10:09:48 +03:00
Alexey Milovidov
7b8589dbde Merge branch 'master' into utf8mb4-in-mysql-client 2021-01-31 01:37:27 +03:00
Alexey Milovidov
282409e8a9 Add a patch from Stig Bakken 2021-01-31 01:37:12 +03:00
Ilya Yatsishin
1684be296c
Merge pull request #19833 from filimonov/fixes-int-tests 2021-01-30 22:51:52 +03:00
Ilya Yatsishin
5afcc927ac
Merge pull request #19706 from qoega/easier-integration-no-project-dir 2021-01-30 17:22:00 +03:00
Mikhail Filimonov
39f75ccd19
Revert changes in test_multiple_disks 2021-01-30 11:26:31 +01:00
Alexander Kuzmenkov
98e88d7305
Merge pull request #19793 from excitoon-favorites/fixcompressions3
Fixed table function S3 `auto` compression mode
2021-01-29 23:42:05 +03:00
Mikhail Filimonov
ab8db8a239
Try to make test_dir.tar smaller 2021-01-29 17:57:52 +01:00
Yatsishin Ilya
ac168fe4e3 add sleep 2021-01-29 19:16:10 +03:00
Yatsishin Ilya
01c9b90144 fix project name for clickhouse instance 2021-01-29 19:16:10 +03:00
Yatsishin Ilya
5f6a4ad60d Remove --project-directory for docker-compose. Fix logs formatting from docker container. 2021-01-29 19:16:10 +03:00
alesapin
e4f9a4ea65 Merge branch 'master' into in_memory_raft 2021-01-29 15:56:54 +03:00
alesapin
bcc3c4193e
Merge pull request #19697 from qoega/easier-macro-xml-generate
No more dicttoxml with excessive logs in integration tests
2021-01-29 12:00:20 +03:00
Vladimir Chebotarev
d729aacb09 Fixed table function S3 auto compression mode. 2021-01-29 07:54:52 +03:00
alesapin
2881c830e3 Merge branch 'master' into fix_rare_bug_after_part_corruption 2021-01-28 23:16:52 +03:00
alexey-milovidov
aeaa8d2439
Merge pull request #19759 from ClickHouse/fix_test_test_postgres_odbc
Make integration odbc tests idempotent
2021-01-28 20:18:16 +03:00
Yatsishin Ilya
70963e4396 Fixed test_kafka_flush_by_time test. 2021-01-28 18:03:23 +03:00
Anton Popov
7db0766192 fix flaky checks 2021-01-28 17:40:50 +03:00
alesapin
1510e3147d Different ports for nodes 2021-01-28 16:08:07 +03:00
alesapin
8d0d2ca8e0 Add some partition tests 2021-01-28 15:07:26 +03:00
alesapin
18f1fd0caa Make integration odbc tests idempotent 2021-01-28 11:40:12 +03:00
Anton Popov
e5125b8c73 add comments and test for compatibility 2021-01-28 02:39:15 +03:00
alesapin
c74631c650 Fix test and add logical error 2021-01-27 21:54:05 +03:00
alesapin
a33963e211 Better raft server startup 2021-01-27 20:54:25 +03:00
alesapin
dd54e5afe8 Merge branch 'master' into in_memory_raft 2021-01-27 15:32:16 +03:00
alesapin
4a6aef5421 Merge branch 'debug/test_concurrent_ttl_merges' of https://github.com/qoega/ClickHouse into fix_flaky_test_multiple_ttl 2021-01-27 14:51:55 +03:00
alesapin
01c8b9e1b1 Fix rare bug when some replicated operations (like mutation) cannot process some parts after data corruption 2021-01-27 13:07:18 +03:00
Yatsishin Ilya
d21d838604 No more dicttoxml with excessive logs 2021-01-27 12:50:11 +03:00
vdimir
fc8b8d23b2
Merge pull request #18812 from excitoon-favorites/betters3endpoints
Added prefix-based S3 endpoint settings
2021-01-26 20:47:57 +03:00
Yatsishin Ilya
76adc85c75 fix 2021-01-26 19:33:37 +03:00
Yatsishin Ilya
403e74d941 Add more debuginfo for test_concurrent_ttl_merges test 2021-01-26 18:12:08 +03:00
alesapin
6441d3200b Merge branch 'master' into in_memory_raft 2021-01-26 14:14:39 +03:00
bo zeng
c2d079d40e
fix issue #18086 (#18124)
* fix issue #18086

* Update convertMySQLDataType.cpp

* add test case for type mapping for mysql

* remove type mapping test case from materialize_with_ddl.py, will add case in mysql engine.

* add test on types and values for mysql database engine.

* typo T_T

* add missing variables

* update the assert code to align with new test data.

* better code for testing, and remove null test since it is not supported.

* remove edge value from test since it always fail. should fix it in clickhouse-client.

* remove some testcases currently not support.

* correct test case

* correct test case. maybe I need to build up a test environment in my local pc...

* correct test data

* Update convertMySQLDataType.cpp

Co-authored-by: Ivan <5627721+abyss7@users.noreply.github.com>
2021-01-26 13:37:57 +03:00
alesapin
97b9dba460 Multinode config 2021-01-25 17:10:18 +03:00
tavplubix
4be33e81ee
Merge pull request #19344 from zhang2014/patch-2
ISSUES-18684 fix MaterializeMySQL integration test failure
2021-01-25 12:46:53 +03:00
Vladimir Chebotarev
8ba8e8efd5 Added prefix-based S3 endpoint settings. 2021-01-25 06:40:57 +03:00
alexey-milovidov
be2d1deac2
Merge pull request #19431 from ClickHouse/integration_tests_forbid_check_call
Integration tests: print stderr of failed subprocess
2021-01-23 02:28:42 +03:00
Alexander Tokmakov
14e842c197 print stderr of failed subprocess 2021-01-22 17:27:23 +03:00
Ivan Lezhankin
c965e66a3b Increase timeout for crash report 2021-01-22 15:02:41 +03:00
Winter Zhang
7f68afa362
ISSUES-18684 fix MaterializeMySQL integration failure 2021-01-21 13:11:07 +08:00
Alexander Tokmakov
e2467427d1 Merge branch 'master' into update_cassandra 2021-01-19 14:10:15 +03:00
Pavel Kovalenko
1e3a059f64 Merge remote-tracking branch 'origin/master' into disk-s3-backup-restore-metadata
# Conflicts:
#	src/Disks/DiskCacheWrapper.cpp
#	src/Disks/S3/DiskS3.cpp
2021-01-18 13:39:49 +03:00
Pavel Kovalenko
2dda8ed1e0 Ability to backup-restore metadata files for DiskS3 (minor fixes) 2021-01-18 13:37:09 +03:00
alexey-milovidov
d2366b5c6c
Merge pull request #18233 from vitlibar/fix-access-rights-for-select-count
Fix access rights for SELECT count()
2021-01-17 00:12:08 +03:00
alexey-milovidov
7de745ce77
Merge pull request #18554 from kssenii/pg2ch
Add PostgreSQL table function, dictionary source, database engine
2021-01-16 23:55:05 +03:00
Azat Khuzhin
7135faf672 Cover distributed send with different headers 2021-01-16 00:45:11 +03:00
Alexey Milovidov
b293d56a63 Merge branch 'master' into kssenii-pg2ch 2021-01-15 22:32:03 +03:00
alexey-milovidov
b97beea22a
Merge pull request #19101 from ClickHouse/check_compression_codec_read
Fix compression codec read for empty files
2021-01-15 20:55:58 +03:00
Alexey Milovidov
a19e7edd14 Merge branch 'master' into kssenii-pg2ch 2021-01-15 17:33:19 +03:00
alexey-milovidov
ca825f36f1
Merge pull request #18853 from azat/dist-send-checksums
Improve checksum checks for async INSERT into Distributed on the sender
2021-01-15 17:12:54 +03:00
alesapin
d601faa669
Merge pull request #18935 from fastio/bugfix_attach_partition_does_not_reset_mutation
Bugfix: attach partition should reset the mutation
2021-01-15 12:21:16 +03:00
alesapin
0662d6bd7d Fix compression codec read for empty files 2021-01-15 12:04:23 +03:00
Alexander Tokmakov
f2184eea5e try update cassandra driver library 2021-01-14 21:05:08 +03:00
Pavel Kovalenko
53389f79c0 Ability to backup-restore metadata files for DiskS3 (minor fixes) 2021-01-13 15:05:32 +03:00
alesapin
7650968b1e
Fix flaky test 2021-01-13 10:19:43 +03:00
alesapin
73e536a074
Merge pull request #18928 from ClickHouse/more_checks_in_writer_wide
More checks in merge tree writer wide
2021-01-13 09:59:45 +03:00
Pavel Kovalenko
b09862b7b9 Ability to backup-restore metadata files for DiskS3 (fixes and tests) 2021-01-12 20:18:40 +03:00
alesapin
f3e55183ad Better test and check 2021-01-12 11:46:31 +03:00
fastio
b43bd4d900 test 2021-01-12 12:54:59 +08:00
Pavel Kovalenko
0164965bc0 Fix get_process_pid 2021-01-11 20:40:11 +03:00
Pavel Kovalenko
0856b2c514 Ability to backup-restore metadata files for DiskS3 (fixes and tests) 2021-01-11 20:37:08 +03:00
tavplubix
213c653ef8
Merge pull request #17656 from bharatnc/ncb/ddl-worker-queue-table
add  system.distributed_ddl_queue table
2021-01-11 14:59:26 +03:00
Azat Khuzhin
22c07e7342 Update test_check_table expectations
Since now CompressedReadBufferBase read checksum and header at once it
will expect 25 (16+9) bytes not 16 (only checksum)
2021-01-11 08:05:56 +03:00
Azat Khuzhin
f09a53103f Add a test for corruption during distributed send 2021-01-10 18:17:14 +03:00
kssenii
fc9de76f7d Fix incorrect getCreateTableQueryImpl with multidim arrays 2021-01-10 09:00:35 +00:00
kssenii
0088d66d59 Hopefully better array conversions for insert query 2021-01-09 22:42:42 +00:00
Azat Khuzhin
471deab63a Rename fsync_tmp_directory to fsync_directories for Distributed engine 2021-01-09 17:51:30 +03:00
Azat Khuzhin
9cdb1d4ae6 Simple coverage of fsync_after_insert/fsync_tmp_directory with batching 2021-01-09 16:31:52 +03:00