* master: (860 commits)
Update version_date.tsv after release 21.2.8.31
Update version_date.tsv after release 21.3.5.42
Fixed typos
Add metric to track how much time is spend during waiting for Buffer layer lock
Safer SCOPE_EXIT
Add SCOPE_EXIT_SAFE/SCOPE_EXIT_MEMORY_SAFE helpers
Lock MEMORY_LIMIT_EXCEEDED in ThreadStatus::detachQuery()
Update CHANGELOG.md
Reset timeouts to default
Add Third party service info
Disable table function view in expression (#21465)
fix test 01702_system_query_log
Remove strange fsync on coordination logs rotation
add test
MemoryStorage sync comments and code
Fix typos
Support alter setting
Handle not plain where tree in StorageMerge modifySelect
Updated test
Change Aggregatingmergetree to AggregatingMergeTree in docs
...
Refactor some config parsing code
Rename some arguments to better reflect their meaning
Add documentation for user_dn_detection section and user_dn placeholder in config.xml and in docs
* Refactoring: part 1
* Refactoring: part 2
* Handle request using ReadBuffer interface
* Struggles with ReadBuffer's
* Fix URI parsing
* Implement parsing of multipart/form-data
* Check HTTP_LENGTH_REQUIRED before eof() or will hang
* Fix HTTPChunkedReadBuffer
* Fix build and style
* Fix test
* Resist double-eof
* Fix arcadian build
If you push data via Buffer engine then all your queries will be done
from one user, however this is not always desired behavior, since this
will not allow to limit queries with max_concurrent_queries_for_user and
similar.
* master: (605 commits)
DOCSUP-4710: Added support numeric parameters in number and string data types (#18696)
DOCSUP-5604: Edit and translate to Russian (#18929)
Update version_date.tsv after release 21.1.2.15
Usability improvement of clickhouse-test
Update jit_large_requests.xml
Update README.md
Update images.json
Make symbolizers available in fuzzer Docker image
Update Dragonbox
Speed up aggregate function sum
Fix MSan report in Kerberos library
Fix MSan error in rocksdb #19213
Add more Fuzzer tasks
Fixes
Update comment for curl dependency for aws
Disable curl for mariadb-connector-c (it is not required)
Fix TSan
Skip test for ANTLR
DistributedBlockOutputStream: add more comments
DistributedBlockOutputStream: Remove superfluous brackets for string construction
...
* master: (620 commits)
Add test for some possible ambiguities in syntax
Update PushingToViewsBlockOutputStream.h
[For #18707] MySQL compatibility: support DIV and MOD operators
Mark another flaky test
Remove some headers
Mark some TestFlows as flaky
Fix error
Fix errors
One more test
Arcadia does not support distributed queries
Add a test for #14974
Added a test from #15641
More robust stateful test
Update tests
Remove bad code in HashJoin
Update test
Don't allow conversion between UUID and numeric types
Remove pink screen with confusing questions about Kerberos
Do not throw from Parser
Fix the unexpected behaviour of show tables when antlr parser enabled (#18431)
...
# Conflicts:
# programs/server/config.xml
# src/Access/Authentication.cpp
# src/Access/Authentication.h
Restarting a server instance to change the interserver password results
in many replicas being out of sync until all clusters are using the new
credential.
This commit adds dynamic credential loading for both the client
(Replicated* tables) and server (InterserverIOHTTPHandler).
This commit also adds the ability to rotate credentials, i.e. accept more
than one credential during a credential change.
state0 (no auth):
<interserver_http_credentials />
state1 (auth+allow_empty migration):
<interserver_http_credentials>
<user>admin</user>
<password>222</password>
<allow_empty>true</allow_empty>
</interserver_http_credentials>
state2 (auth+new admin password migration):
<interserver_http_credentials>
<user>admin</user>
<password>333</password>
<users>
<admin>222</admin>
</users>
</interserver_http_credentials>
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)
* master: (207 commits)
Update RadixSort.h
rerun tests to be sure
Update date_time_short perf test for toUnixTimestamp(Date())
update test
remove comments
better
fix tests
style
update copy pasted test
better
comments
better merge
new interface for the function
better
Fix comments
Add missing file
Make the code less bad
initial
test added
style
...
* master: (70 commits)
Update documentation-issue.md
Add an option to use existing tables to perf.py
DOCSUP-4280: Update the SELECT query (#17231)
DOCSUP-3584 edit and translate (#17176)
Fixed flaky test_storage_s3::test_custom_auth_headers
Update 01560_merge_distributed_join.sql
Minor improvements
Slightly more correct
Auto version update to [20.13.1.1] [54444]
Auto version update to [20.12.1.5236] [54443]
Update roadmap
Add favicon; add loading indicator
Fix race condition; history and sharing capabilities
Update bitmap-functions.md
Fix exception message
Use default value for read-only flag in metadata for Disk3.
ISSUES-16605 try fix review comment
trigger CI
ISSUES-16605 try fix integration failure
ISSUES-16605 try fix integration test failure
...
* master: (50 commits)
Update documentation-issue.md
Add an option to use existing tables to perf.py
DOCSUP-4280: Update the SELECT query (#17231)
DOCSUP-3584 edit and translate (#17176)
Fixed flaky test_storage_s3::test_custom_auth_headers
Update 01560_merge_distributed_join.sql
Minor improvements
Slightly more correct
Auto version update to [20.13.1.1] [54444]
Auto version update to [20.12.1.5236] [54443]
Update roadmap
Add favicon; add loading indicator
Fix race condition; history and sharing capabilities
Update bitmap-functions.md
Fix exception message
Use default value for read-only flag in metadata for Disk3.
ISSUES-16605 try fix review comment
trigger CI
ISSUES-16605 try fix integration failure
ISSUES-16605 try fix integration test failure
...
* master: (159 commits)
Review fix.
Update version_date.tsv after release 20.8.7.15
wrong translation
Update version_date.tsv after release 20.9.6.14
Update version_date.tsv after release 20.10.5.10
Update version_date.tsv after release 20.11.4.13
Improvements in coverage images
Fixed a problem with the translation of the document
final_parallel
final_parallel
DOCSUP-4162: Document the system.replicated_fetches system table (#16900)
Update settings.md
Update settings.md
Less verbose logging when fetch is impossible
Don't add tons of client coverage files in stateful tests with coverage
More compatible watches in TestKeeper
Trying to make read_in_order_many_parts more stable
trigger CI
Update version_date.tsv after release 20.6.10.2
Update visibleWidth.cpp
...
* Fix test "max_memory_usage_for_user"
* Update test
* Update annoying boilerplate
* Support symlinks in tarballs
* Fix Fuzzer
* Remove "secondary" user
* Remove "secondary" user
This should significantly reduce the MemoryTracking drift, test shows
that there is 0 drift after query storm (100 queries, via http/tcp/tcp
in one session).
TL;DR;
To track memory, clickhouse creates memory tracker object for each
thread **explicitly**, but until it is not created the memory
allocations are not under account.
There should not be lot of allocations w/o memory tracker, since most of
the time it is created early enough, but even this maybe enough to
trigger some problems.
Plus sometimes it is not possible to create it, for example some 3d
party library does not allow to do this explicitly:
- for example before #15740 allocations from librdkafka threads,
- or even worse, poco threads, they don't have any routines to do this.
This won't be a problem for `MemoryTracking` metric if the deallocation
will be done from the same thread w/o memory tracker (or vise versa),
but this is not always true.
NOTE, that this will slow down per-thread allocations w/o memory
tracker, since before this patch there were no memory tracking for them
while now they will be accounted in total_memory_tracker, and for
total_memory_tracker max_untracked_memory is always reached.
But this should not be significant.
* master: (279 commits)
Convert to python3 (#15007)
update en and ru docs: add 128/256 types (#15515)
Drop unused code for numeric_limits<int128> in MergeTreeDataSelectExecutor (#15519)
Fix comment
More defaults on defaults
Recursive defaults
Fix bash
Update ActionsVisitor.cpp
Don't add memcpy for sanitizers builds
Fix gRPC build scripts.
Neutrialize thinlto's memcpy libcall gen.
Revert "Add fno-builtin-memcpy"
Throw an error when a single parameter is passed to ReplicatedMergeTree instead of ignoring it
Update SECURITY.md
Update tsan_suppressions.txt
Update ActionsVisitor.cpp
remove unrelated changes
Update SECURITY.md
fixes
Update ActionsVisitor.cpp
...
* master: (224 commits)
Update in.md
Add a test for embedded configs
Allow to run without /proc/self/maps
Update adopters.md
More convenient
Enable embedded configs for AArch64
More results
More handy
More handy
Added a comment
Adjustments
Adjustments
Adjustments
Added new results
Step 1: make adding hardware benchmark results more convenient
Revert "Avoid deadlocks in Log/TinyLog"
Fix MSan report in QueryLog
add some disabled tests from arcadia to skip_list.json
Update skip_list.json
Bump CI. [2]
...
# Conflicts:
# docker/test/testflows/runner/Dockerfile
* master: (375 commits)
Update type-conversion-functions.md
Update maxmap.md
Update maxmap.md
Update maxmap.md
Update single_fixed_string_groupby.xml
Alter remove column properties and TTLs (#14742)
better fixed string group by support
Fix incorrect key condition of fixed strings.
constant output order
more tests for #14646
Maybe fix MSan report in base64
Proper exception message for wrong number of arguments of CAST
Added a test
Fix buffer overflow in "bar" function
Update convertMySQLDataType.cpp
Fix clang-tidy
Remove obsolete code from performance test
Slightly better code
Even more
Even more
...
# Conflicts:
# src/Interpreters/Context.cpp
Add inter-server cluster secret, it is used for Distributed queries
inside cluster, you can configure in the configuration file:
<remote_servers>
<logs>
<shard>
<secret>foobar</secret> <!-- empty -- works as before -->
...
</shard>
</logs>
</remote_servers>
And this will allow clickhouse to make sure that the query was not
faked, and was issued from the node that knows the secret. And since
trust appeared it can use initial_user for query execution, this will
apply correct *_for_user (since with inter-server secret enabled, the
query will be executed from the same user on the shards as on initator,
unlike "default" user w/o it).
v2: Change user to the initial_user for Distributed queries if secret match
v3: Add Protocol::Cluster package
v4: Drop Protocol::Cluster and use plain Protocol::Hello + user marker
v5: Do not use user from Hello for cluster-secure (superfluous)
Add distributed_ddl.pool_size to control maximum parallel to handle
distributed DDL.
Also:
- convert Exception constructors to fmt-like
- use sleepFor* over std::this_thread::sleep_for()