-
Notifications
You must be signed in to change notification settings - Fork 410
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix mpp hang error if some error happens during compile of mpp plan i…
…n TiFlash (#1533)
- Loading branch information
1 parent
c4ba277
commit 4538877
Showing
4 changed files
with
204 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
# Preparation. | ||
=> DBGInvoke __init_fail_point() | ||
|
||
mysql> drop table if exists test.t | ||
mysql> create table test.t (id int, value varchar(64)) | ||
mysql> insert into test.t values(1,'a'),(2,'b'),(3,'c') | ||
mysql> alter table test.t set tiflash replica 1 | ||
|
||
func> wait_table test t | ||
|
||
|
||
# Data. | ||
|
||
## exception before mpp register non root mpp task | ||
=> DBGInvoke __enable_fail_point(exception_before_mpp_register_non_root_mpp_task) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: DB::Exception: Fail point FailPoints::exception_before_mpp_register_non_root_mpp_task is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_before_mpp_register_non_root_mpp_task) | ||
|
||
## exception before mpp register root mpp task | ||
=> DBGInvoke __enable_fail_point(exception_before_mpp_register_root_mpp_task) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: DB::Exception: Fail point FailPoints::exception_before_mpp_register_root_mpp_task is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_before_mpp_register_root_mpp_task) | ||
|
||
## exception before mpp register tunnel for non root mpp task | ||
=> DBGInvoke __enable_fail_point(exception_before_mpp_register_tunnel_for_non_root_mpp_task) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: DB::Exception: Fail point FailPoints::exception_before_mpp_register_tunnel_for_non_root_mpp_task is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_before_mpp_register_tunnel_for_non_root_mpp_task) | ||
|
||
## exception before mpp register tunnel for root mpp task | ||
=> DBGInvoke __enable_fail_point(exception_before_mpp_register_tunnel_for_root_mpp_task) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: DB::Exception: Fail point FailPoints::exception_before_mpp_register_tunnel_for_root_mpp_task is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_before_mpp_register_tunnel_for_root_mpp_task) | ||
|
||
## exception during mpp register tunnel for non root mpp task | ||
=> DBGInvoke __enable_fail_point(exception_during_mpp_register_tunnel_for_non_root_mpp_task) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: DB::Exception: Fail point FailPoints::exception_during_mpp_register_tunnel_for_non_root_mpp_task is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_during_mpp_register_tunnel_for_non_root_mpp_task) | ||
|
||
## exception before mpp run non root task | ||
=> DBGInvoke __enable_fail_point(exception_before_mpp_non_root_task_run) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: DB::Exception: Fail point FailPoints::exception_before_mpp_non_root_task_run is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_before_mpp_non_root_task_run) | ||
|
||
## exception before mpp run root task | ||
=> DBGInvoke __enable_fail_point(exception_before_mpp_root_task_run) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: DB::Exception: Fail point FailPoints::exception_before_mpp_root_task_run is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_before_mpp_root_task_run) | ||
|
||
## exception during mpp run non root task | ||
=> DBGInvoke __enable_fail_point(exception_during_mpp_non_root_task_run) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: other error for mpp stream: DB::Exception: exchange receiver meet error : DB::Exception: Fail point FailPoints::exception_during_mpp_non_root_task_run is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_during_mpp_non_root_task_run) | ||
|
||
## exception during mpp run root task | ||
=> DBGInvoke __enable_fail_point(exception_during_mpp_root_task_run) | ||
mysql> use test; set @@tidb_isolation_read_engines='tiflash'; set @@tidb_allow_mpp=1; select count(value), id from t group by id; | ||
ERROR 1105 (HY000) at line 1: other error for mpp stream: DB::Exception: Fail point FailPoints::exception_during_mpp_root_task_run is triggered. | ||
=> DBGInvoke __disable_fail_point(exception_during_mpp_root_task_run) | ||
|
||
# Clean up. | ||
mysql> drop table if exists test.t |