Commit Graph

125 Commits

Author SHA1 Message Date
Christian
969b63d1ac
Excludes views from syncing in MaterializeMySQL (#22760)
* Excludes views from syncing in MaterializeMySQL

* Adds integration test for ignoring MySQL views on initial replication

* Fixes bug in initial integration test for excluding views from replicating to ClickHouse on initial replication

* Fixes bug in initial integration test for excluding views from replicating to ClickHouse on initial replication

* Replace assert with check_query

Co-authored-by: Christian Frøystad <christian@securepractice.no>
Co-authored-by: Ivan <5627721+abyss7@users.noreply.github.com>
2021-04-14 14:19:07 +03:00
zhang2014
6d2f4dd82e MySQL is started only once with MaterializeMySQL integration test 2021-03-30 14:51:19 +08:00
TCeason
1f5904fea9 fix integration MaterializeMySQL test
https://github.com/ClickHouse/ClickHouse/pull/21759
2021-03-18 14:08:26 +08:00
tavplubix
26ebd54eaf
Merge pull request #20961 from havardk/reconnect
MaterializeMySQL: Attempt to reconnect to MySQL if the connection is lost
2021-03-10 20:07:11 +03:00
tavplubix
18db0e5683
trigger CI 2021-03-09 14:58:07 +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
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
Winter Zhang
521891edec
Update materialize_with_ddl.py 2021-02-22 12:47:38 +08:00
zhang2014
4529cdac81 try fix MaterializeMySQL integration test 2021-02-21 14:38:29 +08:00
Azat Khuzhin
d343060dd5 tests/integration: add start_and_wait() in test_materialize_mysql_database 2021-02-20 22:09:01 +03:00
Azat Khuzhin
80f448a466 tests/integration: preserve mysql docker logs in test_materialize_mysql_database 2021-02-20 22:09:01 +03:00
Stig Bakken
3fc1641d91 Show details of MaterializeMySQL tables in system.tables 2021-02-05 21:37:29 +08:00
Haavard Kvaalen
e6f1ce48fe Fix handling of TABLE_MAP_EVENT from MySQL
The MySQL replication code assumed that row update events would be
preceded by a single TABLE_MAP_EVENT.  However, if a single SQL
statement modifies rows in multiple tables, MySQL will first send
table map events for all involved tables, and then row update events.

Depending on circumstances, this could lead to an exception when the row
update was processed, the update could be incorrectly dropped, or the
update could be applied to the wrong table.
2021-02-04 12:49:10 +01:00
Azat Khuzhin
33628e1bd9 test_materialize_mysql_database: add retries for test_select_without_columns_8_0
Here is an example:

    2021.01.31 14:04:43.615618 [ 54 ] {} <Debug> executeQuery: (internal) /*Materialize MySQL step 1: execute dump data*/ INSERT INTO t(a, b, _sign, _version) VALUES
    2021.01.31 14:04:43.616453 [ 54 ] {} <Trace> db.t (fc55a47e-1cae-4f41-9a13-91ccde5a73bb): Renaming temporary part tmp_insert_0_1_1_0 to 0_1_1_0.
    ...
    2021.01.31 14:04:43.786823 [ 12 ] {4a0d1f80-4a96-4809-a84e-d55d7cd25cdd} <Debug> executeQuery: (from 172.18.0.1:45162, using production parser) SELECT count(_version) FROM db.t FORMAT TSV
    ...
    2021.01.31 14:04:44.566037 [ 54 ] {} <Debug> executeQuery: (internal) /*Materialize MySQL step 1: execute dump data*/ INSERT INTO t(a, b, _sign, _version) VALUES
    2021.01.31 14:04:44.566943 [ 54 ] {} <Trace> db.t (fc55a47e-1cae-4f41-9a13-91ccde5a73bb): Renaming temporary part tmp_insert_0_2_2_0 to 0_2_2_0.
    ...
    2021.01.31 14:04:52.343911 [ 54 ] {} <Error> MaterializeMySQLSyncThread: Code: 1002, e.displayText() = DB::Exception: Master maybe lost, Stack trace (when copying this message, always include the lines below):

  [1]: https://clickhouse-test-reports.s3.yandex.net/19584/978f23e3437d0d0eb64727e87ffe1b80289c9fc2/integration_tests_(release).html#fail1
2021-02-02 22:04:45 +03:00
Stig Bakken
bedc472bb0 Show MaterializeMySQL tables in system.parts 2021-02-01 16:59:10 +08:00
Alexey Milovidov
282409e8a9 Add a patch from Stig Bakken 2021-01-31 01:37:12 +03:00
tavplubix
4be33e81ee
Merge pull request #19344 from zhang2014/patch-2
ISSUES-18684 fix MaterializeMySQL integration test failure
2021-01-25 12:46:53 +03:00
Alexander Tokmakov
14e842c197 print stderr of failed subprocess 2021-01-22 17:27:23 +03:00
Winter Zhang
7f68afa362
ISSUES-18684 fix MaterializeMySQL integration failure 2021-01-21 13:11:07 +08:00
Alexander Tokmakov
ecc0339472 add test 2020-12-28 23:21:57 +03:00
Alexander Tokmakov
52ef4289fe enable optimize_on_insert for MaterializeMySQL 2020-12-17 16:05:38 +03:00
Nikolai Kochetov
6defcbb662
Merge branch 'master' into optimize-data-on-insert 2020-12-15 16:50:42 +03:00
Alexander Tokmakov
7f7eed4031 fix test 2020-12-13 17:57:15 +03:00
Alexander Tokmakov
ed355f8663 fix 2020-12-11 16:50:45 +03:00
Ivan
0ba712a2d3
Merge branch 'master' into allow_atomic_database_inside_materialize_mysql 2020-12-08 16:45:51 +03:00
Pavel Kruglov
905ba78adc Merge branch 'master' of github.com:ClickHouse/ClickHouse into optimize-data-on-insert 2020-12-04 18:56:46 +03:00
Alexander Tokmakov
a0ef3a113a Merge branch 'master' into allow_atomic_database_inside_materialize_mysql 2020-12-02 18:29:02 +03:00
tavplubix
7e2f7ba623
trigger CI 2020-12-02 18:03:15 +03:00
TCeason
08d36f862d
Merge branch 'master' into add_mysql_killed_test_for_materializemysql 2020-12-02 13:25:07 +08:00
taichong
5b9d9376c3 add integration test: ClickHouse killed while insert for MaterializeMySQL ENGINE 2020-11-30 17:33:31 +08:00
taichong
6d8cf30f5d add integration test: MySQL killed while insert for MaterializeMySQL ENGINE 2020-11-30 16:31:09 +08:00
taichong
c8f7a56a25 fix CI timeout err 2020-11-27 11:34:49 +08:00
Alexander Tokmakov
e82c63e05c fixes 2020-11-24 15:28:54 +03:00
Alexander Tokmakov
dce0bf8efc Merge branch 'master' into allow_atomic_database_inside_materialize_mysql 2020-11-24 15:28:31 +03:00
taichong
b5440882cd remove kill server while insert 2020-11-24 10:11:04 +08:00
taichong
a6c2a90756 modify integration test materialize mysql database
1. fix asan test err

2. reset pymysql conn if ping err

3. finish mysql & ck killed test

4. modify check_query
2020-11-23 17:55:07 +08:00
taichong
f99d6ea799 add ck & mysql killed while insert 2020-11-23 15:47:44 +08:00
taichong
122740767f add integration test err 2020-11-23 15:47:44 +08:00
taichong
714767f491 make it normal 2020-11-23 15:47:44 +08:00
taichong
5a50535abc add mysql kill sync id test 2020-11-23 15:47:44 +08:00
taichong
81bdf50085 add some except error test 2020-11-23 15:47:44 +08:00
taichong
e691b4a0d4 add network partition integration test for MaterializeMySQL 2020-11-23 15:47:44 +08:00
taichong
e8628f61e0 add mysql kill sync id test 2020-11-23 15:47:44 +08:00
taichong
3287f691ee add some except error test 2020-11-23 15:47:44 +08:00
taichong
5c3d4b2245 add network partition integration test for MaterializeMySQL 2020-11-23 15:47:44 +08:00
Pavel Kruglov
608722b6ab Fix integration tests 2020-11-20 02:59:58 +03:00
tavplubix
8b6fbea199
trigger CI 2020-11-19 12:47:24 +03:00
zhang2014
9df9691ccb Try fix integration test 2020-11-19 13:01:23 +08:00
zhang2014
b4fc2ecc00 Try fix integration test 2020-11-17 09:41:35 +08:00