Commit Graph

455 Commits

Author SHA1 Message Date
Azat Khuzhin
e307a728ca tests: add no-stress tag
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-20 07:48:10 +03:00
Azat Khuzhin
8937785551 tests/clickhouse-test: apply black
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-20 07:43:59 +03:00
Azat Khuzhin
fddd031385 Randomize settings related to in-order read/aggregation
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-06-07 08:29:00 +03:00
Alexander Tokmakov
9af6e237e1 remove retries 2022-05-28 19:25:56 +02:00
Alexander Tokmakov
1ae919a18a Revert "Merge pull request #35865 from azat/clickhouse-test-left-queries"
This reverts commit 18d094d79d, reversing
changes made to 224f4dc620.
2022-05-28 19:23:58 +02:00
Alexander Tokmakov
e33d986cf1 Revert "Merge pull request #34924 from azat/tests-overlaps"
This reverts commit f13e436d40, reversing
changes made to aa3c05e9d4.
2022-05-28 19:20:32 +02:00
Alexander Tokmakov
281027e490 do not fail to start if replica seems dropped 2022-05-13 20:05:39 +02:00
Alexey Milovidov
ad9a377f42 Add settings randomization 2022-05-11 01:30:59 +02:00
Alexander Tokmakov
222277f4f0 fix 2022-05-09 14:55:51 +02:00
Alexander Tokmakov
376398f1a9 support secure connection in clickhouse-test 2022-05-05 21:11:38 +02:00
Mikhail f. Shiryaev
c359edbd8d
Fix some linter issues 2022-05-02 18:21:39 +02:00
Mikhail f. Shiryaev
76efb83f7c
Try to fix corrupted report for died server 2022-05-02 18:21:37 +02:00
Mikhail f. Shiryaev
5e019efb7e
Try to fix corrupted report for died server 2022-05-02 17:48:40 +02:00
Mikhail f. Shiryaev
2349d3d6a6
Use f-strings, some simplifications 2022-05-02 17:48:39 +02:00
Mikhail f. Shiryaev
cd27c13331
Apply black to clickhouse-test 2022-05-02 17:48:38 +02:00
Azat Khuzhin
287c098c7e Fix clickhouse-test for server w/o is_all_data_sent in system.processes 2022-04-28 23:19:21 +03:00
Alexander Tokmakov
4f54fadd2c
Update clickhouse-test 2022-04-28 20:16:01 +03:00
Alexander Tokmakov
07925ae309
Update clickhouse-test 2022-04-28 17:29:53 +03:00
Azat Khuzhin
c2c8b5cd7e clickhouse-test: improve left queries after the test hardening
Right now it is possible to have "false-positive" for this hardening,
because there is a tiny delay (that can be quite significant on CI, when
it is under pressure) between when the server sends EndOfStream and the
server removes an entry from system.processes.

But now system.processes has is_all_data_sent column, that means that
the EndOfStream was sent, and we can use it to avoid false positive.

Here is an example of such report [1]:

    2022-04-25 03:47:18 00806_alter_update:                                                     [ FAIL ] 0.95 sec. - Queries left in background after the test finished:
    2022-04-25 03:47:18         "elapsed": 0.100084746,
    2022-04-25 03:47:18         "is_cancelled": 0,
    2022-04-25 03:47:18         "query": "DROP TABLE alter_update_00806;",
    2022-04-25 03:47:18         "thread_ids": [
    2022-04-25 03:47:18             "8950"
    2022-04-25 03:47:18         ],

    2022.04.25 03:47:17.887095 [ 8950 ] {7c062004-4c22-486c-934a-f405846e2c81} <Debug> executeQuery: (from [::1]:52012) (comment: 00806_alter_update.sql) DROP TABLE alter_update_00806;
    2022.04.25 03:47:17.887493 [ 8950 ] {7c062004-4c22-486c-934a-f405846e2c81} <Trace> ContextAccess (default): Access granted: DROP TABLE ON test_7ntsjn.alter_update_00806
    2022.04.25 03:47:17.887765 [ 8950 ] {7c062004-4c22-486c-934a-f405846e2c81} <Trace> test_7ntsjn.alter_update_00806 (1bc92bca-10a7-444e-be5e-7f61f4650169): Found 2 old parts to remove.
    2022.04.25 03:47:17.887947 [ 8950 ] {7c062004-4c22-486c-934a-f405846e2c81} <Debug> test_7ntsjn.alter_update_00806 (1bc92bca-10a7-444e-be5e-7f61f4650169): Removing part from filesystem 20180101_20180101_1_1_0
    2022.04.25 03:47:17.888960 [ 8950 ] {7c062004-4c22-486c-934a-f405846e2c81} <Debug> test_7ntsjn.alter_update_00806 (1bc92bca-10a7-444e-be5e-7f61f4650169): Removing part from filesystem 20180102_20180102_2_2_0
    2022.04.25 03:47:17.890620 [ 8950 ] {7c062004-4c22-486c-934a-f405846e2c81} <Debug> DatabaseCatalog: Waiting for table 1bc92bca-10a7-444e-be5e-7f61f4650169 to be finally dropped
    2022.04.25 03:47:17.895046 [ 8950 ] {7c062004-4c22-486c-934a-f405846e2c81} <Debug> MemoryTracker: Peak memory usage (for query): 0.00 B.
    ...
    2022.04.25 03:47:17.938328 [ 4422 ] {aa01985a-78f5-4c0e-b646-8d04a4a1dc77} <Debug> executeQuery: (from [::1]:59416) (comment: 00806_alter_update.sql) DROP DATABASE test_7ntsjn
    2022.04.25 03:47:17.938667 [ 4422 ] {aa01985a-78f5-4c0e-b646-8d04a4a1dc77} <Trace> ContextAccess (default): Access granted: DROP DATABASE ON test_7ntsjn.*
    ...
    2022.04.25 03:47:18.154847 [ 8950 ] {} <Debug> TCPHandler: Processed in 0.269358257 sec.
    2022.04.25 03:47:18.154991 [ 8950 ] {} <Debug> TCPHandler: Done processing connection.
    2022.04.25 03:47:18.155181 [ 8950 ] {} <Debug> TCP-Session: e1d8176a-ee62-4e0a-9855-fe9eb52e06dc Destroying unnamed session of user 94309d50-4f52-5250-31bd-74fecac179db

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/36319/a646cf76b6d4699f06aea1e8d777edb1ad6fd2c5/stateless_tests__debug__actions__[1/3]/runlog.log

So as you can see here DROP TABLE was captured when elapsed was 0.1,
while TCPHandler processes it for 0.26 seconds.
Also from the same report you are seeing that DROP DATABASE was executed
before TCPHandler stopoped processing DROP TABLE.

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-26 12:15:00 +03:00
Azat Khuzhin
5d49bf1b81 clickhouse-test: fix left-queries-check, to fix test log parser
Before:

    00170_s3_cache:
    Found queries left in processlist after running 00170_s3_cache.sql (database=test_8zpbah):
    [
        ...
    ]
    2022-03-27 00:11:27 [ FAIL ] 600.06 sec. - Timeout!

After:

    02263_test:                                                             [ FAIL ] - Queries left in background after the test finished:
    [
        ...
    ]
    Settings used in the test: --max_insert_threads=11 --group_by_two_level_threshold=100000 --group_by_two_level_threshold_bytes=50000000 --distributed_aggregation_memory_efficient=0 --fsync_metadata=0 --priority=2 --output_format_parallel_formatting=1 --input_format_parallel_parsing=0 --min_chunk_bytes_for_parallel_parsing=12372842 --max_read_buffer_size=855730 --prefer_localhost_replica=1 --max_block_size=74323 --max_threads=56

    Database: default

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-04-20 21:31:39 +03:00
Alexey Milovidov
aa93f4a074 Do not randomize "priority" setting 2022-04-17 20:48:02 +02:00
tavplubix
7af954cef9
Update clickhouse-test 2022-04-13 14:37:44 +03:00
tavplubix
82713f347b
Update clickhouse-test 2022-04-12 12:55:57 +03:00
Alexander Tokmakov
7f54e7b422 Merge branch 'master' into mvcc_prototype 2022-04-07 15:14:06 +02:00
Alexander Tokmakov
8290ffa88d Merge branch 'master' into mvcc_prototype 2022-04-07 13:50:42 +02:00
Kruglov Pavel
80503b2983
Update clickhouse-test 2022-04-07 13:16:19 +02:00
tavplubix
5af0537f2c
Update clickhouse-test 2022-04-06 19:23:33 +03:00
kssenii
d59d4eda4f Fix tests 2022-04-06 01:58:16 +02:00
kssenii
f408c86a13 Use FATAL logs level as default for clickhouse-test 2022-04-05 00:42:29 +02:00
kssenii
3fd462bc05 Merge master 2022-04-05 00:06:18 +02:00
Alexander Tokmakov
5a50ad9de3 Merge branch 'master' into mvcc_prototype 2022-03-31 11:35:04 +02:00
alesapin
5a55913f45
Merge pull request #35720 from ClickHouse/parallel_stateful
Try to run stateful tests in parallel
2022-03-30 23:42:44 +02:00
Azat Khuzhin
7d140c9a59 clickhouse-test: increase timeout for obtaining processlist
Sometimes 30 seconds is not enough on CI [1]:

    2022.03.29 04:46:09.805406 [ 3885 ] {ae06ad04-f9fa-44d4-adeb-9e91aaf9bfa9} <Debug> executeQuery: (from [::1]:33506)  SELECT * FROM system.processes WHERE query NOT LIKE '%system.processes%' AND Settings['log_comment'] = '02016_order_by_with_fill_monotonic_functions_removal.sql' AND current_database = 'test_7fqp6w'
    2022.03.29 04:46:09.866100 [ 3885 ] {ae06ad04-f9fa-44d4-adeb-9e91aaf9bfa9} <Trace> ContextAccess (default): Access granted: SELECT(is_initial_query, user, query_id, address, port, initial_user, initial_query_id, initial_address, initial_port, interface, os_user, client_hostname, client_name, client_revision, client_version_major, client_version_minor, client_version_patch, http_method, http_user_agent, http_referer, forwarded_for, quota_key, distributed_depth, elapsed, is_cancelled, read_rows, read_bytes, total_rows_approx, written_rows, written_bytes, memory_usage, peak_memory_usage, query, thread_ids, ProfileEvents, Settings, current_database) ON system.processes
    2022.03.29 04:46:12.787395 [ 3885 ] {ae06ad04-f9fa-44d4-adeb-9e91aaf9bfa9} <Trace> InterpreterSelectQuery: FetchColumns -> Complete
    2022.03.29 04:46:19.749163 [ 3885 ] {ae06ad04-f9fa-44d4-adeb-9e91aaf9bfa9} <Test> ParallelFormattingOutputFormat: Parallel formatting is being used
    2022.03.29 04:46:37.923282 [ 3885 ] {ae06ad04-f9fa-44d4-adeb-9e91aaf9bfa9} <Information> executeQuery: Read 15 rows, 44.20 KiB in 28.117172383 sec., 0 rows/sec., 1.57 KiB/sec.
    2022.03.29 04:46:40.020586 [ 3885 ] {ae06ad04-f9fa-44d4-adeb-9e91aaf9bfa9} <Debug> DynamicQueryHandler: Done processing query
    2022.03.29 04:46:40.033535 [ 3885 ] {ae06ad04-f9fa-44d4-adeb-9e91aaf9bfa9} <Debug> MemoryTracker: Peak memory usage (for query): 4.00 MiB.

  [1]: https://s3.amazonaws.com/clickhouse-test-reports/32928/ddd5bebe555ce8feebcdd339e47fc45184c20dd1/stateless_tests__thread__actions__[1/3].html

Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-03-30 11:05:59 +03:00
Alexander Tokmakov
6191eaa983 fix some flaky tests 2022-03-29 23:12:06 +02:00
Alexander Tokmakov
208b242188 Merge branch 'master' into mvcc_prototype 2022-03-28 19:58:06 +02:00
tavplubix
5e641e2dac
Merge pull request #35675 from ClickHouse/tavplubix-patch-2
Fix randomization of max_read_buffer_size
2022-03-28 20:45:27 +03:00
tavplubix
f10930c9c8
Update clickhouse-test 2022-03-28 16:33:01 +03:00
Alexander Tokmakov
e795b83148 disable random settings in fast test 2022-03-28 14:56:23 +02:00
Alexander Tokmakov
bcec53aadc Merge branch 'master' into mvcc_prototype 2022-03-23 11:28:43 +01:00
mergify[bot]
2543e25b02
Merge branch 'master' into random-settings 2022-03-22 20:00:47 +00:00
Vladimir C
ac6fef5c70
Merge pull request #35124 from vdimir/ci-bugfix-validation 2022-03-22 17:34:15 +01:00
Alexander Tokmakov
3c762f566d Merge branch 'master' into mvcc_prototype 2022-03-21 20:16:29 +01:00
mergify[bot]
f22fddc3ec
Merge branch 'master' into random-settings 2022-03-21 11:52:21 +00:00
Kruglov Pavel
fbcc27a339
Merge pull request #27928 from Avogar/stress-test
Add backward compatibility check in stress test
2022-03-21 12:49:46 +01:00
Alexander Tokmakov
9e05b12d2c Merge branch 'master' into mvcc_prototype 2022-03-20 22:42:26 +01:00
kssenii
d136916508 Remove testmode option 2022-03-17 10:54:37 +01:00
Alexander Tokmakov
278d779a01 log cleanup, more comments 2022-03-14 21:43:34 +01:00
avogar
b9496af3b3 Fix tests 2022-03-14 16:40:17 +00:00
vdimir
000a31df3b
no-random-settings for bugfix validate 2022-03-10 16:43:43 +00:00
avogar
b1a63cd727 Merge branch 'master' of github.com:ClickHouse/ClickHouse into random-settings 2022-03-09 17:09:32 +00:00
mergify[bot]
78c8029aeb
Merge branch 'master' into stress-test 2022-03-09 16:22:45 +00:00
Azat Khuzhin
8b64b41e65 tests: add check of left queries after each test
Look at log_comment/current_database for this check under --no-left-queries-check

v2: add no-left-queries-check tag support
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-03-09 17:29:32 +03:00
Azat Khuzhin
9a297ce3b6 tests: fix log_comment (extra quotes)
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-03-09 17:29:32 +03:00
avogar
722e0ea214 Fix clickhouse-test 2022-03-05 16:46:14 +00:00
Kruglov Pavel
607ec6c884
Fix style 2022-03-05 12:05:41 +03:00
Kruglov Pavel
dbba752398
Merge branch 'master' into stress-test 2022-03-04 18:33:37 +03:00
avogar
05b4bbeceb Add next batch of random settings in functional tests 2022-03-04 11:03:13 +00:00
mergify[bot]
c90d24e10b
Merge branch 'master' into random-settings 2022-03-03 13:07:12 +00:00
avogar
d25d83580a Fix tests 2022-03-02 16:33:21 +00:00
vdimir
fc5e941f79
Add option to clickhouse-test to skip aarch64 build 2022-03-02 14:18:24 +00:00
avogar
dbb29dd394 Fix tests 2022-02-28 12:17:44 +00:00
avogar
ba7f723961 Fix comments 2022-02-18 13:54:21 +00:00
avogar
90603ae549 Randomize just first batch of settings 2022-02-18 12:22:06 +00:00
Kruglov Pavel
e77319bf01
Merge branch 'master' into stress-test 2022-02-17 20:28:46 +03:00
avogar
48d036d3f9 Fix next batch of tests 2022-02-17 11:10:38 +00:00
Kruglov Pavel
33e4c703a1
Merge branch 'master' into random-settings 2022-02-16 13:38:15 +03:00
avogar
be5efc33d4 Fix more settings, add random settings for .sh tests 2022-02-16 10:35:46 +00:00
avogar
880780c7a8 Fix some tests 2022-02-11 17:15:56 +03:00
Kruglov Pavel
33c3b2d856
Better message 2022-02-08 18:38:41 +03:00
alesapin
18f08ed932
Revert "Revert "Add func tests run with s3"" 2022-02-01 10:20:06 +03:00
alexey-milovidov
cbfcd45be3
Revert "Add func tests run with s3" 2022-02-01 05:46:13 +03:00
alesapin
b6828f1b4a Supress some tests for S3 2022-01-31 19:09:25 +03:00
avogar
4bd6cd0b80 Add more settings, print settings if tests fails, add random settings to CLICKHOUSE_URL_PARAMS 2022-01-28 16:46:00 +03:00
Kruglov Pavel
1cdf49efed
More random settings
Co-authored-by: tavplubix <tavplubix@gmail.com>
2022-01-28 15:26:55 +03:00
avogar
4a005579cc Randomize some settings in functional tests 2022-01-28 14:26:50 +03:00
Kruglov Pavel
f3f414ae75
Fix style 2022-01-27 13:59:39 +03:00
Kruglov Pavel
b54bf18b27
Merge branch 'master' into stress-test 2022-01-25 14:35:42 +03:00
vdimir
e5613fce3c Support USE_* build flags in tests' tags 2022-01-19 12:21:51 +00:00
Kruglov Pavel
ffb6c5b37b
Merge branch 'master' into stress-test 2021-12-23 20:14:15 +03:00
Azat Khuzhin
b3f1951c15 clickhouse-test: avoid failing with UNKNOWN status in some cases
Like in:
- CREATE/DROP DATABASE failure
- Connection refused failure

Fixes: #32502
2021-12-12 18:48:54 +03:00
alexey-milovidov
8fdd7f329e
Merge pull request #32533 from azat/clickhouse-test-log-comment
clickhouse-test: use basename of the test for *.sh tests
2021-12-11 02:53:57 +03:00
Azat Khuzhin
2045a4f245 clickhouse-test: use basename of the test for *.sh tests 2021-12-10 21:45:29 +03:00
alesapin
a6e55b00e3
Revert "Revert "Split long tests into multiple checks"" 2021-12-10 18:39:02 +03:00
alesapin
dcbba460c1
Revert "Split long tests into multiple checks" 2021-12-10 18:38:42 +03:00
alesapin
8f8f65e6e0 Fix clickhouse test 2021-12-10 13:30:12 +03:00
alesapin
4c1babee05 Split long functional tests to multiple checks 2021-12-10 12:07:24 +03:00
Azat Khuzhin
d68d01988e clickhouse-test: apply --client-option in get_stacktraces_from_clickhouse() 2021-12-06 09:02:56 +03:00
Azat Khuzhin
9276384977 clickhouse-test: do not use random generator with shared state
Recently (#32094) test database had been overlapped, and random prefix
for database had been increased from 6 to 8.

But actually 6 bytes for random prefix should be enough (with existing
alphabet (0-9a-z) it is 36**6=2'176'782'336), and the real reason of
this overlap is that random generator by default uses shared state [1]:

    The functions supplied by this module are actually bound methods of
    a hidden instance of the random.Random class. You can instantiate your
    own instances of Random to get generators that don’t share state.

  [1]: https://docs.python.org/3/library/random.html

I've played a little bit with random in python, and using default random
generator it generates non-unique strings pretty fast, just in a few
runs, but using SystemRandom (that uses /dev/urandom) it takes ~1 minute.

Test:

```sh
    $ while /tmp/test.py | LANG=c sort -S5G | LANG=c uniq -d | tee /dev/stderr | wc -l | fgrep -q -x -c 0; do :; done
```

```python
    #!/usr/bin/env python3

    import multiprocessing
    import string
    import random

    def random_str(length=6):
        alphabet = string.ascii_lowercase + string.digits
        return ''.join(random.SystemRandom().choice(alphabet) for _ in range(length))

    def worker(_):
        print(random_str())

    with multiprocessing.Pool(processes=2) as pool:
        pool.map(worker, range(0, int(10e3)))
```

So let's switch to SystemRandom and use 6-byte prefix.
2021-12-03 01:29:23 +03:00
mergify[bot]
9c016d4e25
Merge branch 'master' into stress-test 2021-12-02 12:02:44 +00:00
Azat Khuzhin
cc8ebff212 Increase length of random database in clickhouse-test
In [1] there was one overlap with 6-byte prefix:

    $ pigz -cd clickhouse-server2.log.gz | fgrep  test_8a50uz | fgrep 'CREATE DATABASE' | fgrep comment | cut -d' ' -f7-
    <Debug> executeQuery: (from 0.0.0.0:0, user: ) (comment: 01018_insert_multiple_blocks_with_defaults.sh) /* ddl_entry=query-0000001951 */ CREATE DATABASE test_8a50uz UUID 'bb71f2ea-5ed3-466d-bb71-f2ea5ed3266d' ENGINE = Replicated('/test/clickhouse/db/test_8a50uz', '{shard}', '{replica}')
    <Debug> executeQuery: (from 0.0.0.0:0, user: ) (comment: 00098_k_union_all.sql) /* ddl_entry=query-0000003157 */ CREATE DATABASE test_8a50uz UUID '09cc030b-a4c1-4192-89cc-030ba4c1e192' ENGINE = Replicated('/test/clickhouse/db/test_8a50uz', '{shard}', '{replica}')
    <Error> executeQuery: Code: 82. DB::Exception: Database test_8a50uz already exists. (DATABASE_ALREADY_EXISTS) (version 21.12.1.8932) (from 0.0.0.0:0) (comment: 00098_k_union_all.sql) (in query: /* ddl_entry=query-0000003157 */ CREATE DATABASE test_8a50uz UUID '09cc030b-a4c1-4192-89cc-030ba4c1e192' ENGINE = Replicated('/test/clickhouse/db/test_8a50uz', '{shard}', '{replica}')), Stack trace (when copying this message, always include the lines below):

  [1]: https://clickhouse-test-reports.s3.yandex.net/32019/927b9cb1c6470b6d7cd86b4c3fd2078ff43b57df/functional_stateless_tests_(release,_databasereplicated).html#fail1
2021-12-01 22:39:42 +03:00
mergify[bot]
ce0c112586
Merge branch 'master' into stress-test 2021-11-25 11:09:26 +00:00
Alexey Milovidov
d604cf5573 Remove the infamous "unbundled" build 2021-11-21 13:58:26 +03:00
mergify[bot]
8ef9e61e36
Merge branch 'master' into stress-test 2021-11-03 08:28:43 +00:00
Alexander Tokmakov
d095cfe4c1 disable check for zk session uptime by default 2021-10-29 14:45:09 +03:00
mergify[bot]
d9d9d38e4f
Merge branch 'master' into stress-test 2021-10-27 19:00:31 +00:00
Kruglov Pavel
5e5b6ade00
Update clickhouse-test 2021-10-27 14:46:53 +03:00
Azat Khuzhin
e3074cdd5a clickhouse-test: increase delay for initial SELECT 1 check
CI report [1]:

<details>

    2021-10-24 04:43:13 Server is not responding. Cannot execute 'SELECT 1' query.             If you are using split build, you have to specify -c option.
    2021-10-24 04:43:13 Cannot get server pid with pidof -s clickhouse-server, got : Command 'pidof -s clickhouse-server' returned non-zero exit status 1.

    2021-10-24 04:43:13 Thread 1 (Thread 0x7f401edd7340 (LWP 370)):
    2021-10-24 04:43:13 0  0x0000000009f9a807 in __sanitizer::StackDepotBase<>::Put(__sanitizer::StackTrace, bool*) ()
    2021-10-24 04:43:13 1  0x0000000009f9a6f7 in __sanitizer::StackDepotPut(__sanitizer::StackTrace) ()
    2021-10-24 04:43:13 2  0x0000000009f2b0e7 in __msan::MsanDeallocate(__sanitizer::StackTrace*, void*) ()
    2021-10-24 04:43:13 3  0x0000000009fa77df in operator delete(void*, unsigned long) ()
    2021-10-24 04:43:13 4  0x000000004185ffc2 in std::__1::__libcpp_operator_delete<void*, unsigned long> () at ../contrib/libcxx/include/new:245
    2021-10-24 04:43:13 5  std::__1::__do_deallocate_handle_size<>(void*, unsigned long) () at ../contrib/libcxx/include/new:271
    2021-10-24 04:43:13 6  std::__1::__libcpp_deallocate () at ../contrib/libcxx/include/new:285
    2021-10-24 04:43:13 7  std::__1::allocator<char>::deallocate () at ../contrib/libcxx/include/memory:849
    2021-10-24 04:43:13 8  std::__1::allocator_traits<std::__1::allocator<char> >::deallocate () at ../contrib/libcxx/include/__memory/allocator_traits.h:476
    2021-10-24 04:43:13 9  std::__1::basic_string<>::~basic_string (this=0x70400000efe8) at ../contrib/libcxx/include/string:2219
    2021-10-24 04:43:13 10 Poco::XML::ContextLocator::~ContextLocator (this=0x70400000efc0) at ../contrib/poco/XML/src/ParserEngine.cpp:53
    2021-10-24 04:43:13 11 0x000000004186010d in Poco::XML::ContextLocator::~ContextLocator (this=0x70400000efc0) at ../contrib/poco/XML/src/ParserEngine.cpp:52
    2021-10-24 04:43:13 12 0x000000004184af75 in Poco::XML::ParserEngine::popContext (this=<optimized out>) at ../contrib/poco/XML/src/ParserEngine.cpp:599
    2021-10-24 04:43:13 13 Poco::XML::ParserEngine::parse (this=<optimized out>, pInputSource=0x706000003720) at ../contrib/poco/XML/src/ParserEngine.cpp:234
    2021-10-24 04:43:13 14 0x000000004184880e in Poco::XML::SAXParser::parse (this=<optimized out>, systemId=...) at ../contrib/poco/XML/src/SAXParser.cpp:201
    2021-10-24 04:43:13 15 0x00000000417f3eeb in Poco::XML::DOMBuilder::parse (this=<optimized out>, uri=...) at ../contrib/poco/XML/src/DOMBuilder.cpp:69
    2021-10-24 04:43:13 16 0x00000000417f2946 in Poco::XML::DOMParser::parse (this=<optimized out>, uri=...) at ../contrib/poco/XML/src/DOMParser.cpp:102
    2021-10-24 04:43:13 17 0x000000003741dd6c in DB::ConfigProcessor::processConfig (this=this@entry=0x7fff89847130, has_zk_includes=has_zk_includes@entry=0x7fff898470f7, zk_node_cache=zk_node_cache@entry=0x0, zk_changed_event=...) at ../src/Common/Config/ConfigProcessor.cpp:570
    2021-10-24 04:43:13 18 0x0000000037427bb7 in DB::ConfigProcessor::loadConfig (this=<optimized out>, allow_zk_includes=true) at ../src/Common/Config/ConfigProcessor.cpp:657
    2021-10-24 04:43:13 19 0x000000003743fb76 in DB::ConfigReloader::reloadIfNewer (this=this@entry=0x712000002700, force=true, throw_on_error=true, fallback_to_preprocessed=true, initial_loading=true) at ../src/Common/Config/ConfigReloader.cpp:96
    2021-10-24 04:43:13 20 0x000000003743d85e in DB::ConfigReloader::ConfigReloader() () at ../src/Common/Config/ConfigReloader.cpp:33
    2021-10-24 04:43:13 21 0x0000000009fd3efb in std::__1::make_unique<>() (__args=<optimized out>, __args=<optimized out>, __args=<optimized out>, __args=<optimized out>, __args=<optimized out>, __args=<optimized out>, __args=<optimized out>) at ../contrib/libcxx/include/memory:2068
    2021-10-24 04:43:13 22 DB::Server::main (this=<optimized out>) at ../programs/server/Server.cpp:803
    2021-10-24 04:43:13 23 0x000000004175c5f9 in Poco::Util::Application::run (this=<optimized out>) at ../contrib/poco/Util/src/Application.cpp:334
    2021-10-24 04:43:13 24 0x0000000009fb5d7f in DB::Server::run (this=<optimized out>) at ../programs/server/Server.cpp:405

</details>

  [1]: https://clickhouse-test-reports.s3.yandex.net/30611/5ff6c5536558821824d5fdf25a75729e5b82060d/functional_stateless_tests_(memory).html#fail1
2021-10-24 19:04:36 +03:00
avogar
2110a0fbd1 Add version mark in backward-incompatible tag 2021-10-21 08:43:06 +03:00
mergify[bot]
943a1cbba0
Merge branch 'master' into stress-test 2021-10-21 04:41:23 +00:00
Azat Khuzhin
09b782a52e Increase default wait of the server start in clickhouse-test
Set --server-check-retries to 90 (and this is ~45 seconds), since right
now sometimes it is not enough [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/30191/0e34a9d550cfe6924fe575871f36c44dd44acdaa/functional_stateless_tests_(memory).html#fail1

And the reason I guess is clickhouse-test had been rewritten to
http.client in #30065, and since now it does not need to execute
clickhouse-client binary, which in debug/sanitizers builds can take also
sometime.
That said that with clickhouse-client for hung check it was not 15
seconds, but more (each clickhouse-client requires 0.6sec with
sanitizers for simple SELECT 1, while w/o 0.1second, also too much
should be optimized)
2021-10-18 10:46:02 +03:00
Azat Khuzhin
612a21cc97 clickhouse-test: do not propagate CLICKHOUSE_PORT_HTTP to clickhouse-client 2021-10-16 17:59:56 +03:00
Azat Khuzhin
c6e61e9497 clickhouse-test: use splitlines() over split('\n') 2021-10-16 17:59:56 +03:00
Azat Khuzhin
3102d24872 Fix --hung-check in clickhouse-test
JSONEachRow cannot be parsed with a simple json.loads(), instead it
should be passed to json.loads() line by line.

Fixes: #30065
2021-10-16 17:59:56 +03:00
Azat Khuzhin
e5bc573250 clickhouse-test: fix hung check in stress test by using system database 2021-10-13 00:19:16 +03:00
Azat Khuzhin
8d7798fa2e clickhouse-test: do not guard CREATE DATABASE with try/catch
Since it will not configure testcase args and fail eventually, and later
we have a try/catch anyway, this should be enough.
2021-10-12 22:39:43 +03:00
Azat Khuzhin
40d210367f clickhouse-test: fix catching of timeouts 2021-10-12 22:33:41 +03:00
Azat Khuzhin
427c428a27 clickhouse-test: process some options regardless --client 2021-10-12 22:30:34 +03:00
Azat Khuzhin
8dc8674298 clickhouse-test: process --client-option 2021-10-12 22:30:16 +03:00
Azat Khuzhin
fe90c979b5 clickhouse-test: fix redirect to stderr
Before #29856 `CREATE DATABASE` overwrites it.

Reported-by: @amosbird
2021-10-12 22:18:39 +03:00
Azat Khuzhin
50b95bd89d clickhouse-test: passthrough log_comment for DROP DATABASE too 2021-10-12 21:09:48 +03:00
Azat Khuzhin
e2e62ce273 clickhouse-test: replace clickhouse-driver with http interface (via http.client)
Cons of clickhouse-driver:
- it is one more extra dependency
- it does not have correct timeouts (only for socket operations, and
  this is not the same, so we need to set timeout by ourself)
- it is one more thing which can break (@alesapin)
2021-10-12 21:08:33 +03:00
alesapin
3ae960e04b Review fixes 2021-10-11 16:40:12 +03:00
alesapin
59a78830f9 Better timeouts in clickhouse-test 2021-10-11 14:46:01 +03:00
Azat Khuzhin
42ca2b4bb2 clickhouse-test: remove not existing options for pylint
https://clickhouse-test-reports.s3.yandex.net/29856/e2d6698244d43979b3fe2478dfdcd8dc3a91a0fd/style_check/test_run.txt.out.log
2021-10-09 01:43:00 +03:00
Azat Khuzhin
5d6da023bb clickhouse-test: fix hung check under stress tests
https://clickhouse-test-reports.s3.yandex.net/29856/e2d6698244d43979b3fe2478dfdcd8dc3a91a0fd/stress_test_(address).html#fail1
2021-10-09 01:42:08 +03:00
Azat Khuzhin
e2d6698244 clickhouse-test: do not use persistent connection for simplicity (due to threads) 2021-10-08 00:09:37 +03:00
Azat Khuzhin
df129d7efc Rewrite clickhouse-test to use python clickhouse_driver
Pros:
- Using native protocol over executing binaries is always better
- `clickhouse-client` in debug build takes almost a second to execute simple `SELECT 1`
  and `clickhouse-test` requires ~5 queries at start (determine some
  flags, zk, alive, create database)

Notes:
- `FORMAT Vertical` had been replaced with printing of `pandas.DataFrame`

And after this patch tiny tests work with the speed of the test, and
does not requires +-5 seconds of bootstrapping.
2021-10-08 00:09:37 +03:00
Azat Khuzhin
9dd0fca1ed Suppress some existed warnings in clickhouse-test (will be fixed separately) 2021-10-08 00:09:37 +03:00
Pavel Kruglov
2db11bc6c5 Add backward compatibility check in stress test 2021-10-04 16:34:14 +03:00
tavplubix
75be60ff22
Merge pull request #29452 from azat/clickhouse-test-fix-term
clickhouse-test: fix shared list object (by fixing manager lifetime)
2021-09-28 22:34:21 +03:00
Azat Khuzhin
985e8ee061 clickhouse-test: fix shared list object (by fixing manager lifetime)
Right now it is possible to get the following error:

    Having 20 errors! 0 tests passed. 0 tests skipped. 57.37 s elapsed (MainProcess).
    Won't run stateful tests because test data wasn't loaded.
    Traceback (most recent call last):
      File "/usr/lib/python3.9/multiprocessing/managers.py", line 802, in _callmethod
        conn = self._tls.connection
    AttributeError: 'ForkAwareLocal' object has no attribute 'connection'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/src/ch/clickhouse/.cmake/../tests/clickhouse-test", line 1462, in <module>
        main(args)
      File "/src/ch/clickhouse/.cmake/../tests/clickhouse-test", line 1261, in main
        if len(restarted_tests) > 0:
      File "<string>", line 2, in __len__
      File "/usr/lib/python3.9/multiprocessing/managers.py", line 806, in _callmethod
        self._connect()
      File "/usr/lib/python3.9/multiprocessing/managers.py", line 793, in _connect
        conn = self._Client(self._token.address, authkey=self._authkey)
      File "/usr/lib/python3.9/multiprocessing/connection.py", line 507, in Client
        c = SocketClient(address)
      File "/usr/lib/python3.9/multiprocessing/connection.py", line 635, in SocketClient
        s.connect(address)
    ConnectionRefusedError: [Errno 111] Connection refused

The reason behind this is that manager's thread got terminated:

    ipdb> p restarted_tests._manager._process
    <ForkProcess name='SyncManager-1' pid=25125 parent=24939 stopped exitcode=-SIGTERM>

Refs: #29259 (cc: @vdimir)
Follow-up for: #29197 (cc: @tavplubix)
2021-09-27 21:10:59 +03:00
Azat Khuzhin
8be6a59e65 clickhouse-test: fix long tag check for flaky check (--test-runs > 1)
Otherwise it will mark the test as failed, like in [1].

  [1]: https://clickhouse-test-reports.s3.yandex.net/29369/2320be204397bbb9f9a673cf093b7967fd37a107/functional_stateless_tests_flaky_check_(address).html#fail1

Follow-up for: #28909 (Cc: @vitlibar)
2021-09-27 21:10:14 +03:00
tavplubix
1c9778603f
Update clickhouse-test 2021-09-27 11:43:00 +03:00
Vladimir C
c83e2f6fd4
Merge pull request #29259 from vdimir/test-global-multiproc-fix 2021-09-22 17:47:08 +03:00
tavplubix
7712d0e9df
Update clickhouse-test 2021-09-22 16:17:51 +03:00
vdimir
3a42d11b65
Initialize global variables for multiproc in __main__ in clickhouse-test 2021-09-22 16:00:59 +03:00
tavplubix
e0ce179aa8
Minor improvements in clickhouse-test (#29197)
* minor improvements in clickhouse-test

* use enums

* Update clickhouse-test
2021-09-22 11:42:46 +03:00
tavplubix
66bc619c3e
Merge pull request #28983 from ClickHouse/func_zookeeper_session_uptime
Add function zookeeperSessionUptime(), fix some flaky tests
2021-09-20 14:47:49 +03:00
tavplubix
5fdd2b67ee
Update clickhouse-test 2021-09-19 01:05:17 +03:00
Alexander Tokmakov
5c605189ac Merge branch 'master' into func_zookeeper_session_uptime 2021-09-15 21:10:06 +03:00
Alexander Tokmakov
be45ed5fde better check for session expiration in clickhouse-test 2021-09-13 16:36:05 +03:00
Vitaly Baranov
bbb192ee85 Convert skip_list.json into first line comments. 2021-09-12 17:15:23 +03:00
Nikolai Kochetov
0e0c136d43 Fix error code of clickhouse-test if server is dead. 2021-09-09 15:31:29 +03:00
mergify[bot]
02b4e56e6a
Merge branch 'master' into break_some_tests 2021-08-20 13:24:17 +00:00
tavplubix
64bfe21a1b
Fix test 00443_preferred_block_size_bytes.sh (#27846)
* Update 00443_preferred_block_size_bytes.sh

* Update clickhouse-test

* Update clickhouse-test

* Update database_replicated.xml
2021-08-20 00:25:14 +03:00
Alexander Tokmakov
21f2da6d33 Merge branch 'master' into break_some_tests 2021-08-15 22:02:36 +03:00
Alexander Tokmakov
9dd742cc29 more debug info 2021-08-12 13:39:06 +03:00
Alexander Tokmakov
0256e313b3 fix 2021-08-12 00:29:37 +03:00
Raúl Marín
4ebdb5917a clickhouse-test: Implement @@SKIP@@ directive in tests 2021-08-11 15:22:31 +02:00
Alexander Kuzmenkov
2259387f0c make it possible to cancel window functions on ctrl+c 2021-08-09 20:04:42 +03:00
Mike Kot
a308c8f842 Extracted test skipping functions 2021-08-06 17:39:44 +03:00
Mike Kot
af536b1b5e Using formatted string literals, extracted sort funcs in tester 2021-08-06 17:39:44 +03:00
Amos Bird
b541b5eca3
Normalize hostname in CI 2021-08-03 15:00:57 +08:00
Alexander Tokmakov
381634960e fix client options in stress test 2021-07-29 15:16:34 +03:00
tavplubix
858bef8bef
Update clickhouse-test 2021-07-26 19:19:47 +03:00
Alexey Milovidov
d815023700 Fix one source of flaky tests 2021-07-21 03:58:01 +03:00
vdimir
1b5de5de0d
Fix style in clickhouse-test removesuffix 2021-07-20 17:51:22 +03:00
vdimir
8429f64030
Log skipped test if no jinja2 2021-07-20 17:49:20 +03:00
vdimir
6f8561c084
Support jijna templates for sql files in clickhouse-test 2021-07-20 16:40:04 +03:00
Alexander Kuzmenkov
7a48f8ef4c
Merge pull request #25537 from nvartolomei/nv/fix-clickhouse-test-hang-and-status-code
Fix hang and incorrect exit code returned from clickhouse-test
2021-07-08 01:07:17 +03:00
Anton Popov
1f53404e66 better retries 2021-07-06 16:58:12 +03:00
Anton Popov
3a69d06fc9 try fix flaky tests 2021-07-06 16:36:18 +03:00
Alexey Milovidov
127455f15f Remove experimental ANTLR parser 2021-07-03 18:48:03 +03:00
tavplubix
a6d289c750
Merge pull request #25564 from ClickHouse/improve_replicated_database_tests3
Fix some tests
2021-06-24 10:38:15 +03:00
Alexander Tokmakov
92ea82eac9 fix test 2021-06-22 14:50:09 +03:00
Azat Khuzhin
d0f89322ac clickhouse-test: use basename (instead of full path) for log_comment 2021-06-22 10:54:39 +03:00
Alexander Tokmakov
0de6e90a34 fix tests 2021-06-21 20:29:32 +03:00
Nicolae Vartolomei
660e824851 Missed one server_died.set() 2021-06-21 15:13:23 +01:00
Nicolae Vartolomei
115edd3e42 Fix hang and incorrect exit code returned from clickhouse-test
Variables aren't shared when using multiprocessing, use shared memory
instead
https://docs.python.org/3/library/multiprocessing.html#shared-ctypes-objects.

There appears to be a deadlock when multiple threads try to send
sigterm signal at the same time. Avoid it by making sure sigterm is sent
only once for the process group.
2021-06-21 12:37:36 +01:00
Alexander Tokmakov
c235539620 minor fixes 2021-06-17 00:20:35 +03:00
tavplubix
92a028f8f0
Update clickhouse-test 2021-06-16 13:26:04 +03:00
tavplubix
710546b9e8
Merge branch 'master' into improve_replicated_database_tests 2021-06-16 13:24:32 +03:00
tavplubix
5b7ca80da2
Update clickhouse-test 2021-06-16 13:19:18 +03:00
Alexander Tokmakov
c873714698 improve replicated database tests 2021-06-15 23:52:29 +03:00
Ivan
0092cc61cf
Enable back the ANTLR in .sql (#25170)
* Enable back the ANTLR in .sql

* Update skip-list

* More tests to skip-list
2021-06-12 04:09:36 +03:00
Azat Khuzhin
95630a5c9d clickhouse-test: fix log_comment for .sql tests
Broken in: #23486
2021-06-05 12:59:58 +03:00
Azat Khuzhin
d641e7fa10 clickhouse-test: do not substitude db name in stderr by default
Replacing stderr by default does not makes a lot of sense, since it does
not compared with .reference anyway. From the other hand it may confuse
the reader (seeing "default" instead of real database name in the test
logs).

P.S. I guess some tests may relay on this, let's see.
2021-06-03 21:11:19 +03:00
Nikita Mikhaylov
e7867f885a
Merge pull request #24454 from nikitamikhaylov/retry-drop-database
Fix fast test
2021-05-24 21:00:37 +03:00
Nikita Mikhaylov
6997240237 done 2021-05-24 18:20:56 +03:00
Azat Khuzhin
12cc3fc4af clickhouse-test: fix stdout reference w/o --database argument
It was appended, but never truncated.
2021-05-22 14:07:21 +03:00
Nikolai Kochetov
48ce2ce500 Fix script 2021-05-20 22:57:06 +03:00
Nikolai Kochetov
87e73a970e Fix style 2021-05-20 21:18:44 +03:00
Nikolai Kochetov
e66e3e9271 Fix style 2021-05-20 21:11:12 +03:00
Nikolai Kochetov
386cbf751c Better parallelizm for fast tests. 2021-05-20 19:46:15 +03:00
Nikolai Kochetov
9d4927a5b9 Better parallelizm for fast tests. 2021-05-20 19:44:35 +03:00
Nikolai Kochetov
fa88e8725a Better parallelizm for fast tests. 2021-05-20 19:02:46 +03:00
alesapin
8c4f811152 One more error to retry 2021-05-19 21:35:05 +03:00
alesapin
21b751217d One more attempt to fix retries in clickhouse-test 2021-05-18 16:06:00 +03:00
alesapin
e7eae2688c Also retry database creation 2021-05-13 16:37:19 +03:00
alesapin
0dec8f77e4 Retry more errors in clickhouse-test 2021-05-11 20:33:44 +03:00
Azat Khuzhin
0b58a149d2 clickhouse-test: send TERM to all childs (to avoid hung check triggering)
This is another try of not leaving child processes in clickhouse-test,
first one was in [1] by @akuzm:

  "I tried to do this earlier with a separate process group + atexit callbacks:
  573983d407 (diff-3a359de18cacf146f406a7ae332fb47196aa5e0aa430eb4b157a202a3cb8e6e3R578)

  But that commit was later reverted because it also tried to switch to
  multithreading instead of multiprocessing, and that didn't go good.
  SIG_IGN and SIG_DFL were broken then
  (https://bugs.python.org/issue23395), now they are fixed but not quite
  but maybe it's not relevant for us."

I looked (only briefly) through that bug report in python, but I don't
see any issues with killing child processes during testing this patch.

Plus to me it is better to get some unknown python error (and fix it
somehow) instead of leaving child processes.

v2: correctly catch INT/TERM/HUP too
2021-05-01 08:46:59 +03:00
Azat Khuzhin
2cf931e08b clickhouse-test: add missing whitespace before printing database on error 2021-04-30 21:30:02 +03:00
Azat Khuzhin
56774f9c49 clickhouse-test: print database name on failures
Useful for debugging, i.e. to distingiush test failures for flaky check
2021-04-22 22:30:01 +03:00
Alexander Tokmakov
51d2932fe8 print errors on db creation in clickhouse-test 2021-04-19 14:03:20 +03:00
alexey-milovidov
e1e2f534e8
Merge pull request #22646 from azat/clickhouse-test-log-comment
Add log_comment setting for DROP/CREATE DATABASE in clickhouse-test
2021-04-06 14:48:04 +03:00
Azat Khuzhin
624b2632cc Add log_comment setting for DROP/CREATE DATABASE in clickhouse-test 2021-04-05 06:58:54 +03:00
Alexey Milovidov
1bd4febfd5 Better retries on ZK errors in sh tests 2021-04-05 05:17:17 +03:00
Alexander Kuzmenkov
b67f48999c Merge remote-tracking branch 'origin/master' into HEAD 2021-03-31 16:27:19 +03:00
tavplubix
049019bdb2
Update clickhouse-test 2021-03-30 20:27:58 +03:00
Alexander Tokmakov
500a20f30d Merge branch 'master' into test_multiple_nodes 2021-03-30 16:23:33 +03:00
Alexander Kuzmenkov
f2325b62f4 Merge remote-tracking branch 'origin/aku/flaky-stateless' into HEAD 2021-03-30 14:04:02 +03:00
Alexander Kuzmenkov
27635fd381 create two batches per process in clickhouse-test 2021-03-30 14:03:00 +03:00
Alexander Kuzmenkov
6bd483f9d4 individual tmp dir matching the database for each test run 2021-03-30 03:39:33 +03:00
Alexander Kuzmenkov
58987a973d flush 2021-03-30 01:42:37 +03:00
Alexander Kuzmenkov
47cc8938f9 faster 2021-03-29 22:12:20 +03:00
Alexander Kuzmenkov
2b7d2fab82 less flaky functional tests 2021-03-29 22:12:20 +03:00
Alexander Kuzmenkov
72f8b42d63 more info 2021-03-29 21:19:13 +03:00
Alexander Kuzmenkov
112cd107aa print elapsed time per test group 2021-03-29 21:14:06 +03:00
Alexander Kuzmenkov
fe2a364e09 faster 2021-03-29 19:26:50 +03:00
Alexander Kuzmenkov
0dfd091011 less flaky functional tests 2021-03-26 19:40:26 +03:00