@@ -77,9 +77,15 @@ func RegisterRelationshipCountersInParallelTest(t *testing.T, tester DatastoreTe
7777 // Run multiple registrations of the counter in parallel and ensure only
7878 // one succeeds.
7979 var numSucceeded , numFailed atomic.Int32
80- failures := make (chan error , 10 )
80+
81+ // we retry (memdb.MaxRetries - 1)
82+ // ideally, we don't have to hardcode this number here and we can do
83+ // numRetries = ds.MaxRetriesConfigured()
84+ const numRetries = 9
85+
86+ failures := make (chan error , numRetries )
8187 var wg sync.WaitGroup
82- for range 10 {
88+ for range numRetries {
8389 wg .Go (func () {
8490 _ , err := ds .ReadWriteTx (t .Context (), func (ctx context.Context , tx datastore.ReadWriteTransaction ) error {
8591 return tx .RegisterCounter (ctx , "document" , & core.RelationshipFilter {
@@ -99,7 +105,7 @@ func RegisterRelationshipCountersInParallelTest(t *testing.T, tester DatastoreTe
99105 wg .Wait ()
100106 close (failures )
101107 require .Equal (t , int32 (1 ), numSucceeded .Load ())
102- require .Equal (t , int32 (9 ), numFailed .Load ())
108+ require .Equal (t , int32 (numRetries - 1 ), numFailed .Load ())
103109 for m := range failures {
104110 require .Contains (t , m .Error (), "counter with name `document` already registered" )
105111 }
0 commit comments