From 32865d31ae3fa8ccc62319545cbdbcb292eae1b1 Mon Sep 17 00:00:00 2001 From: Haibin Xie Date: Wed, 23 Oct 2019 12:16:03 +0800 Subject: [PATCH] mysql: add write conflict error (#585) --- mysql/errcode.go | 5 +++-- mysql/errname.go | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/mysql/errcode.go b/mysql/errcode.go index 43ce4ee5c..9f94643bf 100644 --- a/mysql/errcode.go +++ b/mysql/errcode.go @@ -897,6 +897,8 @@ const ( ErrMemExceedThreshold = 8001 ErrForUpdateCantRetry = 8002 ErrAdminCheckTable = 8003 + ErrTxnTooLarge = 8004 + ErrWriteConflictInTiDB = 8005 ErrInvalidPluginID = 8101 ErrInvalidPluginManifest = 8102 ErrInvalidPluginName = 8103 @@ -914,6 +916,5 @@ const ( ErrResolveLockTimeout = 9004 ErrRegionUnavailable = 9005 ErrGCTooEarly = 9006 - - ErrTxnTooLarge = 9500 + ErrWriteConflict = 9007 ) diff --git a/mysql/errname.go b/mysql/errname.go index 0f7c98329..eb5e07ac7 100644 --- a/mysql/errname.go +++ b/mysql/errname.go @@ -891,10 +891,11 @@ var MySQLErrName = map[uint16]string{ ErrJSONUsedAsKey: "JSON column '%-.192s' cannot be used in key specification.", // TiDB errors. - ErrMemExceedThreshold: "%s holds %dB memory, exceeds threshold %dB.%s", - ErrForUpdateCantRetry: "[%d] can not retry select for update statement", - ErrAdminCheckTable: "TiDB admin check table failed.", - + ErrMemExceedThreshold: "%s holds %dB memory, exceeds threshold %dB.%s", + ErrForUpdateCantRetry: "[%d] can not retry select for update statement", + ErrAdminCheckTable: "TiDB admin check table failed.", + ErrTxnTooLarge: "Transaction is too large", + ErrWriteConflictInTiDB: "Write conflict, txnStartTS %d is stale", ErrInvalidPluginID: "Wrong plugin id: %s, valid plugin id is [name]-[version], both name and version should not contain '-'", ErrInvalidPluginManifest: "Cannot read plugin %s's manifest", ErrInvalidPluginName: "Plugin load with %s but got wrong name %s", @@ -912,6 +913,5 @@ var MySQLErrName = map[uint16]string{ ErrResolveLockTimeout: "Resolve lock timeout", ErrRegionUnavailable: "Region is unavailable", ErrGCTooEarly: "GC life time is shorter than transaction duration, transaction starts at %v, GC safe point is %v", - - ErrTxnTooLarge: "Transaction is too large", + ErrWriteConflict: "Write conflict, txnStartTS=%d, conflictTS=%d, key=%s", }