mirror of
https://github.com/livekit/livekit.git
synced 2026-09-16 10:42:36 +00:00
sfu: skip pacer allocation assertion under the race detector (#4874)
sync.Pool drops a quarter of returned items when built with -race, so the pooled send path averages about one allocation per packet in CI and the zero-allocation assertion flips between passing and failing. Keep the extension checks and skip only the allocation count under race. Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
61a31d31ff
commit
482fbe2cf7
@@ -24,6 +24,7 @@ import (
|
||||
"github.com/livekit/protocol/logger"
|
||||
|
||||
"github.com/livekit/livekit-server/pkg/sfu/bwe"
|
||||
"github.com/livekit/livekit-server/pkg/sfu/utils"
|
||||
)
|
||||
|
||||
// bwe.NullBWE is meant to be embedded and lacks Type
|
||||
@@ -80,5 +81,7 @@ func TestSendPacketHeaderExtensionsNoAlloc(t *testing.T) {
|
||||
require.Equal(t, 1002, w.writes)
|
||||
require.Equal(t, 3*w.writes, w.absSendTimeLen)
|
||||
require.Equal(t, 2*w.writes, w.transportWideLen)
|
||||
require.Equal(t, 0.0, allocs, "allocations per SendPacket")
|
||||
if !utils.RaceEnabled {
|
||||
require.Equal(t, 0.0, allocs, "allocations per SendPacket")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
//go:build !race
|
||||
|
||||
package utils
|
||||
|
||||
// RaceEnabled reports whether the binary was built with the race detector.
|
||||
const RaceEnabled = false
|
||||
@@ -0,0 +1,8 @@
|
||||
//go:build race
|
||||
|
||||
package utils
|
||||
|
||||
// RaceEnabled reports whether the binary was built with the race detector.
|
||||
// sync.Pool drops a quarter of returned items under it, so allocation counts
|
||||
// on pooled paths are not meaningful.
|
||||
const RaceEnabled = true
|
||||
Reference in New Issue
Block a user