Skip to content

Commit ee9ea9a

Browse files
committed
ccl/sqlproxyccl: deflake TestConnectionMigration
Fixes cockroachdb#106885. This test flake seems extremely rare, and it's unclear why it occurred in the first place. The past 1000 runs (all of what TC has) have been successful. Regardless, this commit attempts at deflaking TestConnectionMigration. Given that some subtests transfer connections through `transferConnWithRetries`, it is possible that the transfer was retried, causing the metric to be incremented. Release note: None Epic: none
1 parent 8c0426c commit ee9ea9a

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

pkg/ccl/sqlproxyccl/proxy_handler_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2066,6 +2066,7 @@ func TestConnectionMigration(t *testing.T) {
20662066

20672067
// Now attempt a transfer concurrently with requests.
20682068
initSuccessCount := f.metrics.ConnMigrationSuccessCount.Count()
2069+
initErrorRecoverableCount := f.metrics.ConnMigrationErrorRecoverableCount.Count()
20692070
subCtx, cancel := context.WithCancel(tCtx)
20702071
defer cancel()
20712072

@@ -2105,7 +2106,7 @@ func TestConnectionMigration(t *testing.T) {
21052106

21062107
// Check metrics.
21072108
require.True(t, f.metrics.ConnMigrationSuccessCount.Count() > initSuccessCount+4)
2108-
require.Equal(t, int64(0), f.metrics.ConnMigrationErrorRecoverableCount.Count())
2109+
require.Equal(t, initErrorRecoverableCount, f.metrics.ConnMigrationErrorRecoverableCount.Count())
21092110
require.Equal(t, int64(0), f.metrics.ConnMigrationErrorFatalCount.Count())
21102111

21112112
validateMiscMetrics(t)
@@ -2115,6 +2116,7 @@ func TestConnectionMigration(t *testing.T) {
21152116
// transfers should not close the connection.
21162117
t.Run("failed_transfers_with_tx", func(t *testing.T) {
21172118
initSuccessCount := f.metrics.ConnMigrationSuccessCount.Count()
2119+
initErrorRecoverableCount := f.metrics.ConnMigrationErrorRecoverableCount.Count()
21182120
initAddr := queryAddr(tCtx, t, db)
21192121

21202122
err = crdb.ExecuteTx(tCtx, db, nil /* txopts */, func(tx *gosql.Tx) error {
@@ -2149,15 +2151,16 @@ func TestConnectionMigration(t *testing.T) {
21492151
// still be active.
21502152
require.Nil(t, f.ctx.Err())
21512153
require.Equal(t, initSuccessCount, f.metrics.ConnMigrationSuccessCount.Count())
2152-
require.Equal(t, int64(5), f.metrics.ConnMigrationErrorRecoverableCount.Count())
2154+
require.Equal(t, initErrorRecoverableCount+5,
2155+
f.metrics.ConnMigrationErrorRecoverableCount.Count())
21532156
require.Equal(t, int64(0), f.metrics.ConnMigrationErrorFatalCount.Count())
21542157

21552158
// Once the transaction is closed, transfers should work.
21562159
require.NoError(t, transferConnWithRetries(t, f))
21572160
require.NotEqual(t, initAddr, queryAddr(tCtx, t, db))
21582161
require.Nil(t, f.ctx.Err())
21592162
require.Equal(t, initSuccessCount+1, f.metrics.ConnMigrationSuccessCount.Count())
2160-
require.Equal(t, int64(5), f.metrics.ConnMigrationErrorRecoverableCount.Count())
2163+
require.True(t, f.metrics.ConnMigrationErrorRecoverableCount.Count() >= initErrorRecoverableCount+5)
21612164
require.Equal(t, int64(0), f.metrics.ConnMigrationErrorFatalCount.Count())
21622165

21632166
validateMiscMetrics(t)

0 commit comments

Comments
 (0)