@@ -1009,6 +1009,30 @@ func verifyInitialReplication(t *testing.T) {
10091009 row .AsString ("Last_IO_Error" , "" ),
10101010 row .AsString ("Last_SQL_Error" , "" ),
10111011 )
1012+ if ioRunning != "Yes" || sqlRunning != "Yes" {
1013+ workerStatus , werr := replica1 .VttabletProcess .QueryTablet (
1014+ "select worker_id, service_state, last_error_number, last_error_message from performance_schema.replication_applier_status_by_worker where last_error_number <> 0" ,
1015+ "" ,
1016+ true ,
1017+ )
1018+ if werr != nil {
1019+ lastStatus = fmt .Sprintf ("%s Worker_Status_Error=%v" , lastStatus , werr )
1020+ return false
1021+ }
1022+ if workerStatus != nil && len (workerStatus .Rows ) > 0 {
1023+ var workerErrors []string
1024+ for _ , workerRow := range workerStatus .Named ().Rows {
1025+ workerErrors = append (workerErrors , fmt .Sprintf (
1026+ "worker_id=%s service_state=%s last_error_number=%s last_error_message=%s" ,
1027+ workerRow .AsString ("worker_id" , "" ),
1028+ workerRow .AsString ("service_state" , "" ),
1029+ workerRow .AsString ("last_error_number" , "" ),
1030+ workerRow .AsString ("last_error_message" , "" ),
1031+ ))
1032+ }
1033+ lastStatus = fmt .Sprintf ("%s Worker_Errors=[%s]" , lastStatus , strings .Join (workerErrors , "; " ))
1034+ }
1035+ }
10121036 return ioRunning == "Yes" && sqlRunning == "Yes"
10131037 }, 30 * time .Second , 200 * time .Millisecond , "replication not healthy: %s" , lastStatus )
10141038 require .Truef (t , ok , "replication not healthy: %s" , lastStatus )
0 commit comments