Commit Graph

91 Commits

Author SHA1 Message Date
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
Alexey Milovidov
8276a1c8d2 Faster parts removal, more safe and efficient interface of IDisk 2021-01-14 19:24:13 +03:00
Amos Bird
a157a5b3b3
add max_partitions_to_read setting 2021-01-04 12:40:48 +08:00
alesapin
a50615a22b More correct error code 2020-12-25 16:38:04 +03:00
Anton Popov
c78861e86e Merge remote-tracking branch 'upstream/master' into HEAD 2020-12-15 01:45:01 +03:00
Azat Khuzhin
916cbd6610 Add ability to use custom TLD list
v2: Add a note that top_level_domains_lists aren not applied w/o restart
v3: Remove ExtractFirstSignificantSubdomain{Default,Custom}Lookup.h headers
v4: TLDListsHolder: remove FIXME for dense_hash_map (this is not significant)
2020-12-09 21:08:22 +03:00
Anton Popov
7aaa2c052f
Merge branch 'master' into merging-map 2020-12-05 22:41:46 +03:00
a.palagashvili
502355922d added errors checking, removed redundant variables 2020-11-29 15:14:42 +03:00
hexiaoting
5b3a7f5c98 Merge remote-tracking branch 'origin/master' into dev_map2 2020-11-26 16:43:27 +08:00
hexiaoting
74d875c837 Merge remote-tracking branch 'origin/master' into dev_map2 2020-11-26 15:13:52 +08:00
Vitaly Baranov
8146093794 Provide more information about errors. 2020-11-24 17:55:01 +03:00
Alexander Kuzmenkov
412c2fe079 Merge remote-tracking branch 'origin/master' into HEAD 2020-11-23 19:51:18 +03:00
a.palagashvili
6f5390cc70 introduce zstd compression 2020-11-17 19:02:10 +03:00
TCeason
45bacd6f74 Merge branch 'master' into add_sync_user_privs_exception 2020-11-16 12:59:44 +08:00
Denis Glazachev
5c801c42c1
Fix ROCKSDB_ERROR value 2020-11-15 23:48:46 +04:00
TCeason
d16cd29c83
Merge branch 'master' into add_sync_user_privs_exception 2020-11-12 19:44:48 +08:00
feng lv
b1cc582668 fix conflict 2020-11-12 10:42:53 +00:00
feng lv
b7e5c6ed4d fix conflict 2020-11-12 02:26:21 +00:00
TCeason
3912ed4965 Merge branch 'master' into add_sync_user_privs_exception 2020-11-12 09:34:08 +08:00
sundyli
5ef809931e
Merge branch 'master' into storage-rocksdb 2020-11-12 08:26:27 +08:00
taichong
d907afa77e throw exception when mysql sync user privs error. 2020-11-11 19:27:37 +08:00
Alexey Milovidov
0001433b82 Better code 2020-11-11 09:08:53 +08:00
a.palagashvili
f999ea2a6f renamed files, added new library, changed error codes, added tests for file() function 2020-11-10 01:52:22 +03:00
hexiaoting
28e87da976 remove map literal and Merge remote-tracking branch 'origin/master' into dev_map2 2020-11-06 15:07:41 +08:00
Alexander Kuzmenkov
2a0d9da5e4 cleanup 2020-11-05 12:25:42 +03:00
Alexander Kuzmenkov
faf1f1e0cd Merge remote-tracking branch 'origin/master' into HEAD 2020-11-05 11:09:11 +03:00
a.palagashvili
ceda5cb9c5 fix codestyle, resolvec conflict 2020-11-04 19:47:04 +03:00
alexey-milovidov
8a3f38f332
Merge branch 'master' into errorCode-v2 2020-11-04 01:40:41 +03:00
a.palagashvili
805bfd286c resolved git modules 2020-11-02 15:16:49 +03:00
alesapin
f3b3025719 Ban non comparable types in primary key 2020-11-02 14:39:27 +03:00
a.palagashvili
be2b002ff4 fixed cmake for building, added test for compression method, added basic code for encoding 2020-11-01 21:40:05 +03:00
Azat Khuzhin
c8f756707f Swap name and value in ErrorCodes definition 2020-10-31 11:32:44 +03:00
Azat Khuzhin
0cd79de632 Eliminate extra strlen() in errorCodeToName() 2020-10-29 21:53:09 +03:00
Azat Khuzhin
04bff595d3 Make check-style happy (by not using DB::ErrorCodes:: in comments) 2020-10-29 21:10:20 +03:00
Azat Khuzhin
b42f77a791 Covert error codes list to lookup table and drop generation of them. 2020-10-29 10:55:41 +03:00
feng lv
9b95ed9ead fix 2020-10-26 12:21:04 +00:00
feng lv
15e4e03469 add union distinct and setting union_default_mode 2020-10-24 13:18:04 +00:00
hexiaoting
483be134b2 Support MergeTree Engine 2020-10-23 16:36:17 +08:00
Vladimir Chebotarev
aa5f207fd4
Added disable_merges option for volumes in multi-disk configuration (#13956)
Co-authored-by: Alexander Kazakov <Akazz@users.noreply.github.com>
2020-10-20 18:10:24 +03:00
hexiaoting
fcd35b0619 Merge branch 'master' into dev_map2 2020-10-18 16:18:13 +08:00
hexiaoting
db8ba39c9c Implement Integer And Array for value type 2020-10-17 23:45:35 +08:00
Vitaly Baranov
997570780d
Merge branch 'master' into non_delimited_protobuf 2020-10-14 16:26:57 +03:00
hexiaoting
dea965832a Fix error for previous offset test 2020-10-13 11:32:43 +08:00
Mikhail Filimonov
87a8ba63f7
Few more CR fixes 2020-10-12 15:05:40 +02:00
Alexey Milovidov
059646743b Remove OpenCL 2020-09-19 17:20:00 +03:00
Vasily Nemkov
3973a17530
MySql datatypes dateTime64 and decimal (#11512) 2020-09-09 15:18:02 +03:00
Artem Zuikov
36972d34a7
Fix logical error in GLOBAL JOIN with table function (#14545) 2020-09-09 13:03:13 +03:00
kssenii
40c8290dde Tiny fixes, better tests 2020-09-07 14:48:50 +00:00
alesapin
17650e803f Tiny improvements 2020-09-07 14:08:53 +03:00
alexey-milovidov
7b53a0ef33 Revert "Added allow_merges option for volumes in multi-disk configuration (#13402)"
This reverts commit 1e2616542a.
2020-08-21 18:44:29 +03:00