Skip to content

Commit

Permalink
*(cdc): accept access denied error when query tidb_version (#11129) (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
ti-chi-bot authored May 26, 2024
1 parent 9ba53d5 commit c3460e2
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
5 changes: 3 additions & 2 deletions cdc/sink/dmlsink/txn/mysql/mysql_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,10 @@ func newTestMockDB(t *testing.T) (db *sql.DB, mock sqlmock.Sqlmock) {
Number: 1305,
Message: "FUNCTION test.tidb_version does not exist",
})
// mock a different possible error for the second query
mock.ExpectQuery("select tidb_version()").WillReturnError(&dmysql.MySQLError{
Number: 1305,
Message: "FUNCTION test.tidb_version does not exist",
Number: 1044,
Message: "Access denied for user 'cdc'@'%' to database 'information_schema'",
})
require.Nil(t, err)
return
Expand Down
2 changes: 1 addition & 1 deletion pkg/sink/mysql/db_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ func CheckIsTiDB(ctx context.Context, db *sql.DB) (bool, error) {
log.Error("check tidb version error", zap.Error(err))
// downstream is not TiDB, do nothing
if mysqlErr, ok := errors.Cause(err).(*dmysql.MySQLError); ok && (mysqlErr.Number == tmysql.ErrNoDB ||
mysqlErr.Number == tmysql.ErrSpDoesNotExist) {
mysqlErr.Number == tmysql.ErrSpDoesNotExist || mysqlErr.Number == tmysql.ErrDBaccessDenied) {
return false, nil
}
return false, errors.Trace(err)
Expand Down

0 comments on commit c3460e2

Please sign in to comment.