From 54145d3fad80db7323bc21d72eb24cf9c0eea012 Mon Sep 17 00:00:00 2001 From: wjhuang2016 Date: Mon, 22 Nov 2021 13:57:34 +0800 Subject: [PATCH 1/4] done Signed-off-by: wjhuang2016 --- ddl/db_change_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ddl/db_change_test.go b/ddl/db_change_test.go index 74e81ba6374c8..b206e93488380 100644 --- a/ddl/db_change_test.go +++ b/ddl/db_change_test.go @@ -1819,6 +1819,7 @@ func (s *serialTestStateChangeSuite) TestCreateExpressionIndex(c *C) { stateWriteOnlySQLs := []string{"insert into t values (8, 8)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 9", "update t set b = 7 where a = 2", "delete from t where b = 3"} stateWriteReorganizationSQLs := []string{"insert into t values (10, 10)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 11", "update t set b = 7 where a = 5", "delete from t where b = 6"} + reorgTime := 0 var checkErr error d := s.dom.DDL() originalCallback := d.GetHook() @@ -1848,6 +1849,11 @@ func (s *serialTestStateChangeSuite) TestCreateExpressionIndex(c *C) { } // (1, 7), (2, 7), (5, 5), (0, 6), (8, 8), (0, 9) case model.StateWriteReorganization: + if reorgTime < 2 { + reorgTime++ + } else { + return + } for _, sql := range stateWriteReorganizationSQLs { _, checkErr = tk1.Exec(sql) if checkErr != nil { @@ -1880,6 +1886,7 @@ func (s *serialTestStateChangeSuite) TestCreateUniqueExpressionIndex(c *C) { stateDeleteOnlySQLs := []string{"insert into t values (5, 5)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 6", "update t set b = 7 where a = 1", "delete from t where b = 4"} + reorgTime := 0 var checkErr error d := s.dom.DDL() originalCallback := d.GetHook() @@ -1932,6 +1939,11 @@ func (s *serialTestStateChangeSuite) TestCreateUniqueExpressionIndex(c *C) { } // (1, 7), (2, 7), (5, 5), (0, 6), (8, 8), (0, 9) case model.StateWriteReorganization: + if reorgTime < 2 { + reorgTime++ + } else { + return + } _, checkErr = tk1.Exec("insert into t values (10, 10) on duplicate key update a = 11") if checkErr != nil { return From 730e0b2a0793de8656ef7982a260ca5b238ea4bc Mon Sep 17 00:00:00 2001 From: wjHuang Date: Tue, 23 Nov 2021 10:21:40 +0800 Subject: [PATCH 2/4] Update ddl/db_change_test.go Co-authored-by: tangenta --- ddl/db_change_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/ddl/db_change_test.go b/ddl/db_change_test.go index b206e93488380..90b5b54821c77 100644 --- a/ddl/db_change_test.go +++ b/ddl/db_change_test.go @@ -1819,6 +1819,7 @@ func (s *serialTestStateChangeSuite) TestCreateExpressionIndex(c *C) { stateWriteOnlySQLs := []string{"insert into t values (8, 8)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 9", "update t set b = 7 where a = 2", "delete from t where b = 3"} stateWriteReorganizationSQLs := []string{"insert into t values (10, 10)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 11", "update t set b = 7 where a = 5", "delete from t where b = 6"} + // If waitReorg timeout, the worker may enter writeReorg more than 2 times. reorgTime := 0 var checkErr error d := s.dom.DDL() From 783bb8db2e4596255554cb38b187d14367f3330e Mon Sep 17 00:00:00 2001 From: tangenta Date: Tue, 23 Nov 2021 10:22:40 +0800 Subject: [PATCH 3/4] Update ddl/db_change_test.go --- ddl/db_change_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/ddl/db_change_test.go b/ddl/db_change_test.go index 90b5b54821c77..c199ef0b81a55 100644 --- a/ddl/db_change_test.go +++ b/ddl/db_change_test.go @@ -1887,6 +1887,7 @@ func (s *serialTestStateChangeSuite) TestCreateUniqueExpressionIndex(c *C) { stateDeleteOnlySQLs := []string{"insert into t values (5, 5)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 6", "update t set b = 7 where a = 1", "delete from t where b = 4"} + // If waitReorg timeout, the worker may enter writeReorg more than 2 times. reorgTime := 0 var checkErr error d := s.dom.DDL() From 4c3bc1bf8bdf5496a82ce558b32c4bee38929c22 Mon Sep 17 00:00:00 2001 From: wjhuang2016 Date: Tue, 23 Nov 2021 16:28:22 +0800 Subject: [PATCH 4/4] fmt Signed-off-by: wjhuang2016 --- ddl/db_change_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ddl/db_change_test.go b/ddl/db_change_test.go index c199ef0b81a55..3ae2259ddaf07 100644 --- a/ddl/db_change_test.go +++ b/ddl/db_change_test.go @@ -1819,7 +1819,7 @@ func (s *serialTestStateChangeSuite) TestCreateExpressionIndex(c *C) { stateWriteOnlySQLs := []string{"insert into t values (8, 8)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 9", "update t set b = 7 where a = 2", "delete from t where b = 3"} stateWriteReorganizationSQLs := []string{"insert into t values (10, 10)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 11", "update t set b = 7 where a = 5", "delete from t where b = 6"} - // If waitReorg timeout, the worker may enter writeReorg more than 2 times. + // If waitReorg timeout, the worker may enter writeReorg more than 2 times. reorgTime := 0 var checkErr error d := s.dom.DDL() @@ -1887,7 +1887,7 @@ func (s *serialTestStateChangeSuite) TestCreateUniqueExpressionIndex(c *C) { stateDeleteOnlySQLs := []string{"insert into t values (5, 5)", "begin pessimistic;", "insert into t select * from t", "rollback", "insert into t set b = 6", "update t set b = 7 where a = 1", "delete from t where b = 4"} - // If waitReorg timeout, the worker may enter writeReorg more than 2 times. + // If waitReorg timeout, the worker may enter writeReorg more than 2 times. reorgTime := 0 var checkErr error d := s.dom.DDL()