Commit Graph

3181 Commits

Author SHA1 Message Date
Nikolai Kochetov
2491f0e1c5 Merge branch 'master' into storage-read-query-plan 2020-09-18 14:07:03 +03:00
Nikolai Kochetov
c7aff19937
Merge pull request #14221 from hagen1778/settings-leaf-limits
[settings]: introduce new query complexity settings for leaf-nodes
2020-09-18 14:05:10 +03:00
Artem Zuikov
0520b05001
Speedup wide integers (#14859) 2020-09-18 12:51:44 +03:00
alesapin
748fb74de2 Fix build type for integration tests 2020-09-18 10:02:55 +03:00
alexey-milovidov
76a3cc2dae
Merge pull request #14937 from filimonov/finalizeAggregation_statefullness
Fix enable_optimize_predicate_expression for finalizeAggregation
2020-09-18 01:24:02 +03:00
alexey-milovidov
cf5db5e4dc
Merge pull request #14888 from azat/client-imporove-INSERT-error-message
Improve error message for INSERT via clickhouse-client
2020-09-18 01:13:22 +03:00
Alexander Tokmakov
06ff6d2eda better 01193_metadata_loading 2020-09-17 19:28:44 +03:00
Alexander Kuzmenkov
652163c07c
Merge pull request #14883 from ClickHouse/aku/ignore-thresholds
Adjust ignore thresholds for unstable perf tests
2020-09-17 18:14:53 +03:00
Alexander Kuzmenkov
5539c6ecaa
Merge pull request #14928 from ClickHouse/aku/special-builds
Move non-essential builds to special
2020-09-17 17:19:32 +03:00
Vitaly Baranov
3356d75b23
Merge pull request #13156 from azat/cluster-secure
Secure inter-cluster query execution (with initial_user as current query user) [v3]
2020-09-17 17:11:00 +03:00
alexey-milovidov
496df5b3e9
Merge pull request #14678 from sundy-li/patch-2
dynamic zookeeper config when session expired
2020-09-17 17:05:22 +03:00
Mikhail Filimonov
22bd22702e
Fix enable_optimize_predicate_expression for finalizeAggregation
finalizeAggregation was wrongly marked as stateful, preventing pushing the conditions down.
2020-09-17 15:59:14 +02:00
Nikolai Kochetov
c498b2b3dd Added perftest. 2020-09-17 16:55:48 +03:00
alexey-milovidov
2413caa7d5
Merge pull request #14889 from ClickHouse/extract-all-groups-empty-match
Fix error in "extractAllGroups" function
2020-09-17 16:02:30 +03:00
Alexander Kuzmenkov
946d364b10 Move non-essential builds to special
Special builds have lower CI priority and start later. If some tests
fail, they won't start at all, so we'll save some CI time.
2020-09-17 14:41:14 +03:00
alesapin
50c55eb2d2
Merge pull request #14846 from ClickHouse/add_clang_11
Move to clang-11 in CI builds
2020-09-17 13:14:00 +03:00
Alexander Kuzmenkov
36538ce08f Don't account for short queries, we'll deal with them separately.
New query:

```
WITH ceil(max(q[3]), 1) AS h
SELECT concat('sed -i s\'/^<test.*$/<test max_ignored_relative_change="', toString(h), '">/g\' tests/performance/', test, '.xml') AS s
FROM
(
    SELECT
        test,
        query_index,
        count(*),
        min(event_time),
        max(event_time) AS t,
        arrayMap(x -> floor(x, 3), quantiles(0, 0.5, 0.95, 1)(stat_threshold)) AS q,
        median(stat_threshold) AS m
    FROM perftest.query_metrics
    WHERE (metric = 'client_time') AND (abs(diff) < 0.05) AND (old > 0.2)
    GROUP BY
        test,
        query_index,
        query_display_name
    HAVING (t > '2020-09-01 00:00:00') AND (m > 0.1)
    ORDER BY test DESC
)
GROUP BY test
ORDER BY h DESC
FORMAT PrettySpace
```
2020-09-17 13:00:51 +03:00
roman
b41421cb1c [settings]: introduce new query complexity settings for leaf-nodes
The new setting should allow to control query complexity on leaf nodes
excluding the final merging stage on the root-node. For example, distributed
query that reads 1k rows from 5 shards will breach the `max_rows_to_read=5000`,
while effectively every shard reads only 1k rows. With setting `max_rows_to_read_leaf=1500`
this limit won't be reached and query will succeed since every shard reads
not more that ~1k rows.
2020-09-17 10:37:05 +01:00
alesapin
f104c382f8
Merge pull request #14887 from azat/StorageFile-write-to-fd
Fix SIGSEGV for an attempt to INSERT into StorageFile(fd)
2020-09-17 10:25:02 +03:00
alesapin
4348dca960
Update ci_config.json 2020-09-17 10:07:58 +03:00
alesapin
73544a3781
Merge pull request #14845 from ClickHouse/fix_alias_array
Fix recursive column defaults
2020-09-17 10:02:39 +03:00
sundy-li
544b2cb20d add configChanged method for zookeeper
fix logic error && skip reload testkeeper
2020-09-17 13:33:45 +08:00
Azat Khuzhin
13088d9bef Fix 00900_parquet_load (update exception message on INSERT failures) 2020-09-17 08:05:56 +03:00
Azat Khuzhin
138e953429 Fix SIGSEGV for an attempt to INSERT into StorageFile(fd) 2020-09-17 01:26:34 +03:00
Alexey Milovidov
c37b55c3b1 Fix error in "extractAllGroups" function 2020-09-17 00:19:58 +03:00
Azat Khuzhin
7d046b24e6 Improve error message for INSERT via clickhouse-client
With '\n...' after the query [1] clickhouse-client prefer data from the
INSERT over from stdin, and produce very tricky message:

    Code: 27. DB::Exception: Cannot parse input: expected '\n' before: ' ': (at row 1)

Well for TSV it is ok, but for RowBinary:

    Code: 33. DB::Exception: Cannot read all data. Bytes read: 1. Bytes expected: 4.

So improve error message by adding the source of data for INSERT.

  [1]: clickhouse-client -q "INSERT INTO data FORMAT TSV\n " <<<2
2020-09-17 00:16:51 +03:00
alexey-milovidov
84b210f93e
Merge pull request #14864 from bharatnc/ncb/format-integration-tests
Format and cleanup imports form all *.py integration test files
2020-09-16 20:40:57 +03:00
Alexander Kuzmenkov
0f8aec59a3 Adjust ignore thresholds for unstable perf tests
Based on historical data.

```
SELECT
    test,
    ceil(max(q[3]), 1) AS h
FROM
(
    SELECT
        test,
        query_index,
        count(*),
        min(event_time),
        max(event_time) AS t,
        arrayMap(x -> floor(x, 3), quantiles(0, 0.5, 0.95, 1)(stat_threshold)) AS q,
        median(stat_threshold) AS m
    FROM perftest.query_metrics
    WHERE (metric = 'client_time') AND (abs(diff) < 0.05)
    GROUP BY
        test,
        query_index,
        query_display_name
    HAVING (t > '2020-09-01 00:00:00') AND (m > 0.1)
    ORDER BY m DESC
)
GROUP BY test
ORDER BY h DESC
FORMAT TSV

cryptographic_hashes	1.3
collations	0.8
joins_in_memory_pmj	0.8
joins_in_memory	0.7
merge_tree_simple_select	0.7
set_index	0.7
decimal_casts	0.7
website	0.6
logical_functions_medium	0.5
count	0.5
merge_tree_many_partitions	0.5
decimal_aggregates	0.5
codecs_int_insert	0.5
column_column_comparison	0.5
insert_parallel	0.4
parse_engine_file	0.4
read_in_order_many_parts	0.4
logical_functions_small	0.4
parallel_insert	0.3
parallel_index	0.3
push_down_limit	0.3
jit_large_requests	0.3
select_format	0.3
arithmetic	0.3
merge_tree_huge_pk	0.3
materialized_view_parallel_insert	0.3
columns_hashing	0.3
if_array_string	0.3
random_string	0.2
random_printable_ascii	0.2
set	0.2
empty_string_serialization	0.2
```

To apply:
```
sed 's/^\(.*\)        \(.*\)$/sed -i "s\/^<test.*$\/<test max_ignored_relative_change="'"'"\2">\/g" tests\/performance\/\1.xml/g' ../bad.tsv | bash
```
2020-09-16 18:27:51 +03:00
tavplubix
faa5190f11
Update arcadia_skip_list.txt 2020-09-16 18:17:16 +03:00
Amos Bird
3e576a29c9
explict column list in columns matcher (#14775) 2020-09-16 15:44:05 +03:00
tavplubix
28a6b7e622
Merge pull request #14831 from bharatnc/ncb/fix-timespec-construct
construct query_start_time & query_start_time_microseconds from the same timespec
2020-09-16 15:42:19 +03:00
alesapin
a12521dd4d Remove clang-11 build for release 2020-09-16 14:27:29 +03:00
alesapin
d9057eb2c1
Merge pull request #14855 from ClickHouse/fix_flaky_test_6
Flaky tests fixes
2020-09-16 09:47:51 +03:00
bharatnc
b75963d370 Format and optimize imports in integration test files
This PR formats all the `*.py` files found under the `tests/integration`
folder. It also reorders the imports and cleans up a bunch of unused
imports.

The formatting also takes care of other things like wrapping lines and
fixing spaces and indents such that the tests look more readable.
2020-09-15 23:10:54 -07:00
alexey-milovidov
7fb0291c09
Merge pull request #14854 from zhang2014/fix/ISSUES-14809
ISSUES-14809 fix MaterializeMySQL empty transaction unstable test case
2020-09-16 00:44:51 +03:00
alesapin
3b34345abb Less flaky tests 2020-09-15 18:42:46 +03:00
Vitaly Baranov
74d5b43fe6
Merge pull request #14828 from vitlibar/change-columns-of-system-user-directories
Add 'params' column to system.user_directories table.
2020-09-15 18:25:50 +03:00
alesapin
813a6e991c Remove wait_for_mutation from test 2020-09-15 18:16:29 +03:00
alesapin
6130cd7365 More stable test_no_ttl_merges_in_busy_pool 2020-09-15 17:53:55 +03:00
zhang2014
1c659de8b1 ISSUES-14809 fix MaterializeMySQL empty transaction test failure 2020-09-15 22:44:18 +08:00
alesapin
eaf5e293ad Move to clang-11 in most CI builds 2020-09-15 14:37:51 +03:00
alesapin
8828a78174 Fix alias on default columns 2020-09-15 14:17:58 +03:00
Nikolai Kochetov
c1f61984e5
Merge pull request #14513 from amosbird/mf1
Binary operator monotonicity
2020-09-15 12:45:23 +03:00
tavplubix
1d8ee50769
Merge pull request #14628 from ClickHouse/enable_some_tests_with_database_atomic
Enable more tests with Atomic database
2020-09-15 12:13:40 +03:00
alesapin
a75254766e
Merge pull request #14609 from ClickHouse/update_to_gcc_10
Update default build to gcc-10
2020-09-15 09:49:43 +03:00
bharatnc
90e0ef9b70 QueryLog,QueryThreadLOg - better test for query_start_time_microseconds 2020-09-14 20:04:29 -07:00
Amos Bird
4770175aa3
more tests 2020-09-15 10:02:26 +08:00
Vitaly Baranov
0f53b449fd Add 'params' column to system.user_directories table. 2020-09-15 01:51:53 +03:00
Azat Khuzhin
0159c74f21 Secure inter-cluster query execution (with initial_user as current query user) [v3]
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)
2020-09-15 01:36:28 +03:00
Azat Khuzhin
2fce2b21a8 Use pytest.raises(match=) in test_allowed_client_hosts
Since pytest.raises() produces excinfo not exception, hence at least
str(excinfo.value) should be used to match the exception message.
2020-09-15 01:36:28 +03:00