|
|
|
|
@ -18,8 +18,8 @@ import ( |
|
|
|
|
|
|
|
|
|
var testBuilderConfig = BuilderConfig{ |
|
|
|
|
TargetPageSize: 2048, |
|
|
|
|
TargetObjectSize: 1 << 22, // 4 MiB
|
|
|
|
|
TargetSectionSize: 1 << 21, // 2 MiB
|
|
|
|
|
TargetObjectSize: 1 << 20, // 1 MiB
|
|
|
|
|
TargetSectionSize: 1 << 19, // 512 KiB
|
|
|
|
|
|
|
|
|
|
BufferSize: 2048 * 8, |
|
|
|
|
|
|
|
|
|
@ -95,10 +95,12 @@ func TestBuilder_Append(t *testing.T) { |
|
|
|
|
builder, err := NewBuilder(testBuilderConfig, nil) |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
|
|
|
|
|
tenant := "test" |
|
|
|
|
|
|
|
|
|
for { |
|
|
|
|
require.NoError(t, ctx.Err()) |
|
|
|
|
|
|
|
|
|
err := builder.Append("test", logproto.Stream{ |
|
|
|
|
err := builder.Append(tenant, logproto.Stream{ |
|
|
|
|
Labels: `{cluster="test",app="foo"}`, |
|
|
|
|
Entries: []push.Entry{{ |
|
|
|
|
Timestamp: time.Now().UTC(), |
|
|
|
|
@ -110,4 +112,19 @@ func TestBuilder_Append(t *testing.T) { |
|
|
|
|
} |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
obj, closer, err := builder.Flush() |
|
|
|
|
require.NoError(t, err) |
|
|
|
|
defer closer.Close() |
|
|
|
|
|
|
|
|
|
// When a section builder is reset, which happens on ErrBuilderFull, the
|
|
|
|
|
// tenant is reset too. We must check that the tenant is added back
|
|
|
|
|
// to the section builder otherwise tenant will be absent from successive
|
|
|
|
|
// sections.
|
|
|
|
|
secs := obj.Sections() |
|
|
|
|
require.Equal(t, 1, secs.Count(streams.CheckSection)) |
|
|
|
|
require.Greater(t, secs.Count(logs.CheckSection), 1) |
|
|
|
|
for _, section := range secs.Filter(logs.CheckSection) { |
|
|
|
|
require.Equal(t, tenant, section.Tenant) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|