@@ -18,6 +18,7 @@ package misc
18
18
19
19
import (
20
20
"context"
21
+ "strings"
21
22
"testing"
22
23
23
24
"github.com/stretchr/testify/assert"
@@ -194,13 +195,18 @@ func TestOverallQueryTimeout(t *testing.T) {
194
195
// take 2 and 3 seconds each to run. If we have an overall timeout for 4 seconds, then it should fail.
195
196
_ , err := utils .ExecAllowError (t , mcmp .VtConn , "select /*vt+ QUERY_TIMEOUT_MS=4000 */ sleep(u2.id2), u1.id2 from t1 u1 join t1 u2 where u1.id2 = u2.id1" )
196
197
assert .Error (t , err )
197
- assert .ErrorContains (t , err , "DeadlineExceeded desc = context deadline exceeded (errno 1317) (sqlstate 70100)" )
198
+ // We can get two different error messages based on whether it is coming from vttablet or vtgate
199
+ if ! strings .Contains (err .Error (), "Query execution was interrupted, maximum statement execution time exceeded" ) {
200
+ assert .ErrorContains (t , err , "DeadlineExceeded desc = context deadline exceeded (errno 1317) (sqlstate 70100)" )
201
+ }
198
202
199
203
// Let's also check that setting the session variable also works.
200
204
utils .Exec (t , mcmp .VtConn , "set query_timeout=4000" )
201
205
_ , err = utils .ExecAllowError (t , mcmp .VtConn , "select sleep(u2.id2), u1.id2 from t1 u1 join t1 u2 where u1.id2 = u2.id1" )
202
206
assert .Error (t , err )
203
- assert .ErrorContains (t , err , "DeadlineExceeded desc = context deadline exceeded (errno 1317) (sqlstate 70100)" )
207
+ if ! strings .Contains (err .Error (), "Query execution was interrupted, maximum statement execution time exceeded" ) {
208
+ assert .ErrorContains (t , err , "DeadlineExceeded desc = context deadline exceeded (errno 1317) (sqlstate 70100)" )
209
+ }
204
210
205
211
// Increasing the timeout should pass the query.
206
212
utils .Exec (t , mcmp .VtConn , "set query_timeout=10000" )
0 commit comments