mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
clientv3/kv_test: Fix quota test
Updates TestKVPutError. Change the quota to work with systems that have a 64 KiB page size. Increase the db sync wait time to one second. Also, add some comments for the hard coded value. Signed-off-by: Geoff Levand <geoff@infradead.org>
This commit is contained in:
parent
84d2ff93b0
commit
54c252ee63
@ -17,6 +17,7 @@ package integration
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@ -35,8 +36,8 @@ func TestKVPutError(t *testing.T) {
|
|||||||
defer testutil.AfterTest(t)
|
defer testutil.AfterTest(t)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
maxReqBytes = 1.5 * 1024 * 1024
|
maxReqBytes = 1.5 * 1024 * 1024 // hard coded max in v3_server.go
|
||||||
quota = int64(maxReqBytes * 1.2)
|
quota = int64(int(maxReqBytes) + 8*os.Getpagesize())
|
||||||
)
|
)
|
||||||
clus := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1, QuotaBackendBytes: quota})
|
clus := integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1, QuotaBackendBytes: quota})
|
||||||
defer clus.Terminate(t)
|
defer clus.Terminate(t)
|
||||||
@ -49,7 +50,7 @@ func TestKVPutError(t *testing.T) {
|
|||||||
t.Fatalf("expected %v, got %v", rpctypes.ErrEmptyKey, err)
|
t.Fatalf("expected %v, got %v", rpctypes.ErrEmptyKey, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = kv.Put(ctx, "key", strings.Repeat("a", int(maxReqBytes+100))) // 1.5MB
|
_, err = kv.Put(ctx, "key", strings.Repeat("a", int(maxReqBytes+100)))
|
||||||
if err != rpctypes.ErrRequestTooLarge {
|
if err != rpctypes.ErrRequestTooLarge {
|
||||||
t.Fatalf("expected %v, got %v", rpctypes.ErrRequestTooLarge, err)
|
t.Fatalf("expected %v, got %v", rpctypes.ErrRequestTooLarge, err)
|
||||||
}
|
}
|
||||||
@ -59,7 +60,7 @@ func TestKVPutError(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(500 * time.Millisecond) // give enough time for commit
|
time.Sleep(1 * time.Second) // give enough time for commit
|
||||||
|
|
||||||
_, err = kv.Put(ctx, "foo2", strings.Repeat("a", int(maxReqBytes-50)))
|
_, err = kv.Put(ctx, "foo2", strings.Repeat("a", int(maxReqBytes-50)))
|
||||||
if err != rpctypes.ErrNoSpace { // over quota
|
if err != rpctypes.ErrNoSpace { // over quota
|
||||||
|
Loading…
x
Reference in New Issue
Block a user