Commit Graph

29705 Commits

Author SHA1 Message Date
Azat Khuzhin
420089c301
Add new dictionary layout (sparse_hashed) that is more memory efficient
With this new layout, sparsehash will be used over default HashMap,
sparsehash is more memory efficient but it is also slower.

So in a nutshell:
- HashMap uses ~2x more memory then sparse_hash_map
- HashMap ~2-2.5x faster then sparse_hash_map
(tested on lots of input, and the most close to production was
dictionary with 600KK hashes and UInt16 as value)

TODO:
- fix allocated memory calculation
- getBufferSizeInBytes/getBufferSizeInCells interface
- benchmarks

v0: replace HashMap with google::sparse_hash_map
v2: use google::sparse_hash_map only when <sparse> isset to true
v3: replace attributes with different layout
v4: use ch hash over std::hash
2019-09-21 02:22:40 +03:00
alexey-milovidov
1fe79ad43c
Merge pull request #6941 from dimarub2000/enums_in_section
IN with Enums numeric values
2019-09-19 02:24:34 +03:00
alexey-milovidov
9c675e50bb
Merge pull request #6963 from nicelulu/issue_6616
optimize limit 1,0 and test.
2019-09-19 02:23:56 +03:00
alexey-milovidov
ba492274e2
Update settings.md 2019-09-19 02:03:29 +03:00
alexey-milovidov
9b61939b68
Merge pull request #6979 from sherold/max_threads_default
Updating max_threads default value in docs.
2019-09-19 02:02:35 +03:00
alexey-milovidov
24d1b9b8c2
Update settings.md 2019-09-19 02:02:25 +03:00
alexey-milovidov
01a1920e9b
Merge pull request #6970 from infinivision/add_bitmapMin_bitmapMax
added bitmapMin and bitmapMax
2019-09-19 02:01:16 +03:00
alexey-milovidov
1327e71d80
Changed C-style cast to constructor-style cast. 2019-09-19 02:01:06 +03:00
alexey-milovidov
7325f4a77b
Merge pull request #6974 from yandex/aku/mmap-linux
Use MAP_POPULATE only on Linux.
2019-09-19 01:58:40 +03:00
alexey-milovidov
bc1ecb0be5
Merge pull request #6951 from yandex/aku/alloc-continue
Make the quadratic Arena::allocContinue less bad.
2019-09-19 01:57:26 +03:00
alexey-milovidov
d7681d0239
Merge pull request #6977 from Akazz/minor_fixes_in_tests-2
Reworked flapping test - 00715_fetch_merged_or_mutated_part_zookeeper
2019-09-19 01:54:27 +03:00
alexey-milovidov
0bdb48ed65
Merge pull request #6966 from azat-archive/build--fixes
Add missing linking with jemalloc
2019-09-19 01:52:22 +03:00
alexey-milovidov
fd73186a74
Update CHANGELOG.md 2019-09-19 00:10:26 +03:00
alexey-milovidov
8bda1cabb3
Update CHANGELOG.md 2019-09-19 00:09:10 +03:00
alexey-milovidov
fd6ecaa1ef
Update CHANGELOG.md 2019-09-19 00:05:04 +03:00
alexey-milovidov
7c62336504
Update CHANGELOG.md 2019-09-18 23:35:54 +03:00
alexey-milovidov
572583715d
Update CHANGELOG.md 2019-09-18 23:33:17 +03:00
alexey-milovidov
36075fd7c6
Update CHANGELOG.md 2019-09-18 23:32:10 +03:00
alexey-milovidov
e17f54f5b5
Update CHANGELOG.md 2019-09-18 23:31:26 +03:00
alexey-milovidov
061bcf2819
Update CHANGELOG.md 2019-09-18 23:29:32 +03:00
alexey-milovidov
d9c99457ee
Update CHANGELOG.md 2019-09-18 23:25:22 +03:00
alexey-milovidov
144803d308
Update CHANGELOG.md 2019-09-18 23:23:31 +03:00
alexey-milovidov
dfa9b7fa86
Update CHANGELOG.md 2019-09-18 23:20:15 +03:00
alexey-milovidov
6c87f2340a
Update CHANGELOG.md 2019-09-18 23:13:26 +03:00
alexey-milovidov
de072629e9
Merge pull request #6971 from yandex/changelog-19.14.3.3
Changelog for 19.14.3.3
2019-09-18 23:12:32 +03:00
Azat Khuzhin
6cb5d0046b
Add missing linking with jemalloc for clickhouse_common_io
clickhouse_common_io incudes new_delete.cpp, that uses memory.h, which
uses sdallocx (jemalloc).

And since there is -Wl,--no-undefined every undefined symbols are not
allowed, hence clickhouse_common_io must know about sdallocx symbol.

For the default build (-DUNBUNDLED=OFF) everything is good, because
jemalloc is static, and clickhouse_common_io linked with libcommon
(which is linked with jemalloc)

But if jemalloc will be shared, and clickhouse_common_io and libcommon
is different shared libraries then clickhouse_common_io should be linked
with jemalloc, otherwise you will undefined reference to sdallocx error.

This can be reproduced using the following build configuration:
   -DUSE_STATIC_LIBRARIES=OFF -DCLICKHOUSE_SPLIT_BINARY=ON -DSPLIT_SHARED_LIBRARIES=ON -DUNBUNDLED=ON
Provided that you have systemd-wide jemalloc>=4 (see memory.h).

Refs: https://github.com/yandex/ClickHouse/pull/6878#discussion_r324902295
v2: do not link jemalloc if it is static
2019-09-18 21:26:23 +03:00
chertus
194e49e751 fix UB in MergeJoinCursor 2019-09-18 19:46:00 +03:00
Stepan Herold
edb43371a0 Updating max_threads default value in docs. 2019-09-18 16:09:45 +02:00
Artem Zuikov
aae82eed5a
Merge pull request #6940 from 4ertus2/mjoin
PartialMergeJoin
2019-09-18 16:16:10 +03:00
Akazz
aa8ef05955 Reworked test 00715_fetch_merged_or_mutated_part_zookeeper 2019-09-18 16:14:56 +03:00
chertus
dd46c08e90 move JoinCommon funcs out of IJoin.h/cpp 2019-09-18 15:46:57 +03:00
Alexander Kuzmenkov
e3a9863260 Use MAP_POPULATE only on Linux. 2019-09-18 15:32:23 +03:00
chertus
0cf5bfdf44 fix typo 2019-09-18 15:24:35 +03:00
Alexander Kuzmenkov
e1898ca89a Make the quadratic Arena::allocContinue less bad.
Scenarios that use Arena::allocContinue may waste quadratically many
memory and perform quadratically many copying, when the memory range
size reaches Arena's linear allocation threshold. To alleviate this,
make sure that the next memory chunk allocated by allocContinue is at
least linear_growth_threshold bytes bigger than the previous one, so
that we don't reallocate and copy that often.
2019-09-18 15:04:56 +03:00
Nikolai Kochetov
d98fe1d81e
Update CHANGELOG.md 2019-09-18 13:55:53 +03:00
alexey-milovidov
fe9e110a6a
Merge pull request #6965 from azat-archive/sparsehash-c11
Replace libsparsehash with sparsehash-c11
2019-09-18 12:46:13 +03:00
Zhichang Yu
460ccb04a2 added bitmapMin and bitmapMax 2019-09-18 16:56:12 +08:00
alexey-milovidov
03014fe920
Merge pull request #6944 from malkfilipp/add-limit-clause-to-show-queries
Add LIMIT clause to SHOW queries
2019-09-18 02:07:45 +03:00
alexey-milovidov
d8cd375c8b
Merge pull request #6958 from proller/fix25
Build fixes
2019-09-18 01:48:46 +03:00
Azat Khuzhin
780341060f
Replace libsparsehash with sparsehash-c11
- use sparsehash-c11 over libsparsehash
- fix typos in find_sparsehash and users of the vars (s/SPARCE/SPARSE/)
- drop libsparsehash-dev from docker images (but keep for unbunlded build)
- use ::google over GOOGLE_NAMESPACE
2019-09-18 00:08:20 +03:00
alesapin
f682cbc31d Add time logging to build script 2019-09-17 22:26:24 +03:00
root
f4b7cae998 optimize limit 1,0 and test. 2019-09-18 02:55:59 +08:00
chertus
2b3a4b0650 support const and LC columns in partial merge-join 2019-09-17 21:53:52 +03:00
Ivan Blinkov
ab075290a1
Remove link to (almost) past meetup 2019-09-17 20:29:50 +02:00
alexey-milovidov
e63dadb334
Merge pull request #6961 from fstab/patch-1
fix typo arbitary -> arbitrary
2019-09-17 21:07:31 +03:00
Fabian Stäber
0a97359f9e
fix typo arbitary -> arbitrary
I hereby agree to the terms of the CLA available at: I hereby agree to the terms of the CLA available at:
2019-09-17 20:00:17 +02:00
alesapin
ed6870729b
Merge pull request #6960 from yandex/add_gdb_index
Add custom dpkg to deb build image
2019-09-17 20:24:21 +03:00
alesapin
fb1b809388 Original repo 2019-09-17 20:07:35 +03:00
chertus
58fad78980 support MergeJoin nullable convertion (right side) 2019-09-17 19:55:11 +03:00
alesapin
dccac1993f Add custom dpkg to deb build image 2019-09-17 19:42:18 +03:00