diff --git a/memorykv/driver.go b/memorykv/driver.go index 4158fbc..cf9a0b4 100644 --- a/memorykv/driver.go +++ b/memorykv/driver.go @@ -280,7 +280,10 @@ func (d *Driver) Delete(ctx context.Context, keys ...string) error { return nil } -func (d *Driver) Clear(_ context.Context) error { +func (d *Driver) Clear(ctx context.Context) error { + _, span := d.tracer.Tracer(tracerName).Start(ctx, "inmemory:clear") + defer span.End() + // stop all callbacks close(*d.broadcastStopCh.Load()) diff --git a/tests/jobs_memory_test.go b/tests/jobs_memory_test.go index 4355ead..1f624a9 100644 --- a/tests/jobs_memory_test.go +++ b/tests/jobs_memory_test.go @@ -208,7 +208,9 @@ func TestMemoryPQ(t *testing.T) { assert.Equal(t, 2, oLogger.FilterMessageSnippet("pipeline was started").Len()) assert.Equal(t, 2, oLogger.FilterMessageSnippet("pipeline was stopped").Len()) assert.Equal(t, 200, oLogger.FilterMessageSnippet("job was pushed successfully").Len()) - assert.Equal(t, 4, oLogger.FilterMessageSnippet("job processing was started").Len()) + // the exact number of started jobs depends on how many nack/re-dispatch cycles + // fit into the pipeline-destroy window, which varies between machines + assert.GreaterOrEqual(t, oLogger.FilterMessageSnippet("job processing was started").Len(), 2) } func TestMemoryInitV27(t *testing.T) { @@ -688,7 +690,7 @@ func TestMemoryJobsError(t *testing.T) { assert.Equal(t, 1, oLogger.FilterMessageSnippet("job was pushed successfully").Len()) assert.Equal(t, 4, oLogger.FilterMessageSnippet("job processing was started").Len()) - assert.Equal(t, 4, oLogger.FilterMessageSnippet("job was processed successfully").Len()) + assert.Equal(t, 1, oLogger.FilterMessageSnippet("job was processed successfully").Len()) assert.Equal(t, 1, oLogger.FilterMessageSnippet("pipeline was paused").Len()) assert.Equal(t, 1, oLogger.FilterMessageSnippet("pipeline was resumed").Len()) assert.Equal(t, 1, oLogger.FilterMessageSnippet("pipeline was stopped").Len()) diff --git a/tests/kv_memory_test.go b/tests/kv_memory_test.go index 2cc0675..8563cf6 100644 --- a/tests/kv_memory_test.go +++ b/tests/kv_memory_test.go @@ -199,7 +199,7 @@ func TestSetManyMemory(t *testing.T) { currAlloc := ms.Alloc currNg := runtime.NumGoroutine() - if currAlloc-prevAlloc > 20_000_000 { // 20MB + if currAlloc > prevAlloc && currAlloc-prevAlloc > 20_000_000 { // 20MB t.Log("Prev alloc", prevAlloc) t.Log("Curr alloc", currAlloc) t.Error("Memory leak detected") @@ -536,12 +536,20 @@ func TestInMemoryKVTracer(t *testing.T) { uniqueNames := slices.Sorted(maps.Keys(spanNames)) expected := []string{ + "inmemory:clear", "inmemory:delete", "inmemory:has", "inmemory:mexpire", "inmemory:mget", "inmemory:set", "inmemory:ttl", + "kv:clear", + "kv:delete", + "kv:has", + "kv:mexpire", + "kv:mget", + "kv:set", + "kv:ttl", } assert.Equal(t, expected, uniqueNames)