Commit Graph

58836 Commits

Author SHA1 Message Date
alexey-milovidov
643b065849
Update datetime.md 2021-03-05 02:55:12 +03:00
alexey-milovidov
1985364c8f
Update datetime.md 2021-03-05 02:35:54 +03:00
Nikita Mikhaylov
37d4c69d3a
Merge pull request #21433 from azat/parsing-exception-message-fix
Fix ParsingException::displayText()
2021-03-05 01:59:06 +03:00
Denis Zhuravlev
c0eefb644e test for #21413 2021-03-04 16:58:12 -04:00
Azat Khuzhin
205ebc7cff Tune idle_connection_timeout to avoid reconnects
There may be 1 hour between two different distributed queries in tests
(see [1] and [2]), if this will happen then the connection may be closed
already due to idle_connection_timeout.

  [1]: https://clickhouse-test-reports.s3.yandex.net/21432/572d5862961ffda88125679e3a5ea684c316b223/functional_stateless_tests_(debug).html#fail1
  [2]: https://clickhouse-test-reports.s3.yandex.net/21432/572d5862961ffda88125679e3a5ea684c316b223/functional_stateless_tests_(antlr_debug).html#fail1

Let's tune it to avoid such issues and override other settings in tests.

Another option is to execute SYSTEM RELOAD CONFIG before each test...
2021-03-04 22:48:09 +03:00
Azat Khuzhin
7794ac66d4 Fix flaky tests with distributed queries
There was few attempts to fix this [1] and [2], but it still pops up
sometimes, for example here [3].

  [1]: 009f57fc2f / #11211
  [2]: cdb6bed8b9 / #14198
  [3]: https://clickhouse-test-reports.s3.yandex.net/21318/38be9ff43ac4c46ce6e803fc125d910bde1d4c71/functional_stateless_tests_(release,_databasereplicated).html#fail1

Let's use more generic approach, and do not hide any errors (and see
does increasing timeout will be enough).
2021-03-04 22:48:04 +03:00
tavplubix
9244bc43ee
Merge pull request #21021 from zhang2014/fix/materialize_mysql_integration_test
Try fix MaterializeMySQL integration test
2021-03-04 22:22:20 +03:00
Dmitriy
fbc4791db7 Add the links
Добавил ссылки на продукты, убрал кавычки со стандарта.
2021-03-04 20:13:22 +03:00
Amos Bird
de94f33b05
Tiny fix 2021-03-05 00:21:52 +08:00
Haavard Kvaalen
efa94c5735 Fix use after free in mysqlxx::Pool::tryGet()
tryGet() created an Entry object that referenced a Connection, but then
deleted the Connection just before the Entry went out of scope.
2021-03-04 16:51:27 +01:00
Denis Zhuravlev
102a0b2c5d test for #21413 2021-03-04 10:46:01 -04:00
Kseniia Sumarokova
08cb02c872
Merge pull request #21416 from excitoon-favorites/caseinsensitivecompression
Case-insensitive compression methods for table functions
2021-03-04 17:37:28 +03:00
filimonov
bd8c3eb117
avoid race in librdkafka
see https://github.com/edenhill/librdkafka/issues/3279
2021-03-04 15:01:10 +01:00
Maksim Kita
1eb1f3028c FunctionsExternalDictionaries safe case to ColumnTuple 2021-03-04 16:55:05 +03:00
alesapin
39de525c74 Simplify config 2021-03-04 16:49:22 +03:00
alesapin
9e7a848169 Simplify config 2021-03-04 16:48:06 +03:00
alesapin
ad77de2a60 Enable snapshots in dangerous tests 2021-03-04 16:45:44 +03:00
alesapin
aa754a3ca8 Test restore from snapshot 2021-03-04 16:40:43 +03:00
alesapin
77dbe3fee8 Get rid of network order 2021-03-04 16:02:30 +03:00
alesapin
27011f086e More style 2021-03-04 15:31:05 +03:00
alesapin
42c1a65b0f Style 2021-03-04 15:30:26 +03:00
alesapin
c8423249db Less strict checks 2021-03-04 15:01:56 +03:00
alesapin
aa1312ac79 Merge with master 2021-03-04 14:43:12 +03:00
alesapin
ff67860770 Merge branch 'master' into persistent_nukeeper_snapshot_storage 2021-03-04 14:30:51 +03:00
alesapin
5565c37b4f tests and fixes for off by one error 2021-03-04 14:22:59 +03:00
Ivan
218542589a
Merge pull request #19673 from azat/distributed-bytes_to_throw_insert
Add ability to throttle INSERT into Distributed
2021-03-04 13:28:23 +03:00
Nikolai Kochetov
a195e783d2 Try fix perftests. 2021-03-04 13:25:49 +03:00
DIAOZHAFENG
35aaac84b8
Update in.md 2021-03-04 16:58:09 +08:00
DIAOZHAFENG
587014217c
Update in.md
update untranslated line
2021-03-04 16:47:59 +08:00
Nikolai Kochetov
b985e33294
Merge pull request #21434 from azat/dist-query-SIGSEGV-on-exception-fix
Fix SIGSEGV for distributed queries on failures
2021-03-04 11:32:17 +03:00
alesapin
3a0b9102d8 Merge branch 'fix_nukeeper_default_path' into persistent_nukeeper_snapshot_storage 2021-03-04 11:30:54 +03:00
alesapin
429cc03668 Merge branch 'master' into persistent_nukeeper_snapshot_storage 2021-03-04 11:30:46 +03:00
alesapin
d28463d70b Use path as default prefix for coordination logs 2021-03-04 11:29:24 +03:00
alesapin
7556a3d723 Enable snapshots 2021-03-04 11:00:26 +03:00
olgarev
134eaa55e5
DOCSUP-6258: FAQ edit and translate (#21109)
Co-authored-by: ana-uvarova <ana-uvarova@yandex-team.ru>
Co-authored-by: AnaUvarova <64017504+AnaUvarova@users.noreply.github.com>
Co-authored-by: vdimir <vdimir@yandex-team.ru>
Co-authored-by: Olga Revyakina <revolg@yandex-team.ru>
Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com>
2021-03-04 10:50:14 +03:00
Haavard Kvaalen
f96892d45c Speed up network partition test
REJECT rather than DROP packets in network partition test.  This test
was already very slow and could get slower with the newly added
reconnection logic.
2021-03-04 08:49:06 +01:00
Haavard Kvaalen
641b1b249e Attempt to reconnect to MySQL
For MaterializeMySQL databases, attempt to reconnect if the connection
to MySQL is lost.  The existing setting
`max_wait_time_when_mysql_unavailable` is used to control how often we
attempt to reconnect.  This setting can now be set to a negative value
to disable reconnects.
2021-03-04 08:49:06 +01:00
Haavard Kvaalen
11c9c8cb10 Reset sequence number on disconnect
Reestablishing the connection for an existing MySQLClient object would
never work because the sequence number would be wrong on the new
connection.
2021-03-04 08:49:06 +01:00
Haavard Kvaalen
8e95d6e174 Add method to metadata class to start replication
Previously this was done by the constructor.  This makes it
possible to restart replication with an existing metadata object.
2021-03-04 08:49:06 +01:00
Haavard Kvaalen
e6711675a1 Make handling of unavailable MySQL consistent
If MySQL was unavailable when loading an existing database on startup,
we would previously load the database, fail to start synchronization,
but allow queries to the database.  Change this to only allow queries
if the `allows_queries_when_mysql_lost` setting is on, so that the
behavior is consistent with what happens if the connection to MySQL is
lost while ClickHouse is running.

Also retry connection to MySQL if MySQL is unavailable when ClickHouse
is started (we would previously reconnect only if the connection was
lost during the initial dump of existing data).
2021-03-04 08:49:06 +01:00
Azat Khuzhin
e858dae187 Fix SIGSEGV for distributed queries on failures
Since after pull(), cancel() will be called, and this will lead to
SIGSEGV, since there is no exception, but has_exception was not reseted
in pull()
2021-03-04 00:42:49 +03:00
Azat Khuzhin
e7948819f9 Fix ParsingException::displayText()
Before it was silently try-catched for messages with additional {}, and
it is very easy to trigger, i.e.:

    SELECT toDateTime(format('{}-{}-01 00:00:00', '2021', '1'))

Will print:

    Code: 41. DB::Exception: Received from localhost:9000. DB::Exception: Cannot parse datetime 2021-1-01 00:00:00{}: Cannot parse DateTime from String: while executing 'FUNCTION toDateTime(format('{}-{}-01 00:00:00', '2021', '1') :: 3) -> toDateTime(format('{}-{}-01 00:00:00', '2021', '1')) DateTime : 2'.
2021-03-03 23:44:51 +03:00
Azat Khuzhin
79ed35876e DirectoryMonitor: Remove const qualifier and lots of mutable qualifiers 2021-03-03 23:30:24 +03:00
Azat Khuzhin
45ee650e26 Distributed: check for bytes_to_throw/delay_insert only before INSERT
Before it was checked for each block.
2021-03-03 23:30:24 +03:00
Azat Khuzhin
a57c646467 Fix 01293_system_distribution_queue flakiness 2021-03-03 23:30:24 +03:00
Azat Khuzhin
9a4f469a38 Fix 00753_distributed_system_columns_and_system_tables flakiness 2021-03-03 23:30:24 +03:00
Azat Khuzhin
6965ac26c3 Distributed: Add ability to delay/throttle INSERT until pending data will be reduced
Add two new settings for the Distributed engine:
- bytes_to_delay_insert
- max_delay_to_insert

If at the beginning of INSERT there will be too much pending data, more
then bytes_to_delay_insert, then the INSERT will wait until it will be
shrinked, and not more then max_delay_to_insert seconds.

If after this there will be still too much pending, it will throw an
exception.

Also new profile events were added (by analogy to the MergeTree):
- DistributedDelayedInserts (although you can use system.errors instead
  of this, but still)
- DistributedRejectedInserts
- DistributedDelayedInsertsMilliseconds
2021-03-03 23:30:23 +03:00
Azat Khuzhin
15f7459cae Distributed/DirectoryMonitor: protect metric_pending_files with metrics_lock
Since there is local value, that is not atomic, anyway we already have
lock for metrics, so it is fine.
2021-03-03 23:30:03 +03:00
Azat Khuzhin
cabe4ca1bb tests: split 00753_system_columns_and_system_tables (to disable Distributed part for arcadia) 2021-03-03 23:30:03 +03:00
Azat Khuzhin
3102835d56 tests: Use total_bytes>0 for Distributed engine in 00753_system_columns_and_system_tables 2021-03-03 23:30:03 +03:00