Add support for larger transactions in Raft (#24991)

* Add support for larger transactions in Raft

* Add CHANGELOG

* Appease the new lint rules
This commit is contained in:
Paul Banks
2024-01-24 14:38:39 +00:00
committed by GitHub
parent b85365e980
commit 2d88a454d9
17 changed files with 563 additions and 18 deletions

View File

@@ -0,0 +1,51 @@
// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package physical
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestTransactionalStorageEncoding_TransactionLimits(t *testing.T) {
tc := []struct {
name string
be Backend
wantEntries int
wantSize int
}{
{
name: "non-transactionlimits backend",
be: &TestTransactionalNonLimitBackend{},
// Should return zeros to let the implementor choose defaults.
wantEntries: 0,
wantSize: 0,
},
{
name: "transactionlimits backend",
be: &TestTransactionalLimitBackend{
MaxEntries: 123,
MaxSize: 345,
},
// Should return underlying limits
wantEntries: 123,
wantSize: 345,
},
}
for _, tt := range tc {
t.Run(tt.name, func(t *testing.T) {
be := NewStorageEncoding(tt.be).(TransactionalLimits)
// Call the TransactionLimits method
maxEntries, maxBytes := be.TransactionLimits()
require.Equal(t, tt.wantEntries, maxEntries)
require.Equal(t, tt.wantSize, maxBytes)
})
}
}