*: the value of tikv-client.copr-cache.capacity-mb should >=0 (#24232)

This commit is contained in:
Howie
2021-05-06 11:05:53 +08:00
committed by GitHub
parent 207ce344cb
commit 337beb1f89
6 changed files with 14 additions and 7 deletions

View File

@ -61,7 +61,7 @@ func newCoprCache(config *config.CoprocessorCache) (*coprCache, error) {
return nil, nil
}
capacityInBytes := int64(config.CapacityMB * 1024.0 * 1024.0)
if capacityInBytes == 0 {
if capacityInBytes <= 0 {
return nil, errors.New("Capacity must be > 0 to enable the cache")
}
maxEntityInBytes := int64(config.AdmissionMaxResultMB * 1024.0 * 1024.0)

View File

@ -192,3 +192,8 @@ func (s *testCoprocessorSuite) TestGetSet(c *C) {
c.Assert(v, NotNil)
c.Assert(v.Data, DeepEquals, []byte("bar"))
}
func (s *testCoprocessorSuite) TestIssue24118(c *C) {
_, err := newCoprCache(&config.CoprocessorCache{AdmissionMinProcessMs: 5, AdmissionMaxResultMB: 1, CapacityMB: -1})
c.Assert(err.Error(), Equals, "Capacity must be > 0 to enable the cache")
}

View File

@ -55,7 +55,8 @@ func (s *testExecutorSuite) SetUpSuite(c *C) {
s.mvccStore = rpcClient.MvccStore
store, err := tikv.NewTestTiKVStore(rpcClient, pdClient, nil, nil, 0)
c.Assert(err, IsNil)
s.store = mockstorage.NewMockStorage(store)
s.store, err = mockstorage.NewMockStorage(store)
c.Assert(err, IsNil)
session.SetSchemaLease(0)
session.DisableStats4Test()
s.dom, err = session.BootstrapSession(s.store)

View File

@ -33,17 +33,18 @@ type mockStorage struct {
}
// NewMockStorage wraps tikv.KVStore as kv.Storage.
func NewMockStorage(tikvStore *tikv.KVStore) kv.Storage {
func NewMockStorage(tikvStore *tikv.KVStore) (kv.Storage, error) {
coprConfig := config.DefaultConfig().TiKVClient.CoprCache
coprStore, err := copr.NewStore(tikvStore, &coprConfig)
if err != nil {
panic(err)
return nil, err
}
return &mockStorage{
KVStore: tikvStore,
Store: coprStore,
memCache: kv.NewCacheDB(),
}
}, nil
}
func (s *mockStorage) EtcdAddrs() ([]string, error) {

View File

@ -35,5 +35,5 @@ func newMockTikvStore(opt *mockOptions) (kv.Storage, error) {
if err != nil {
return nil, err
}
return mockstorage.NewMockStorage(kvstore), nil
return mockstorage.NewMockStorage(kvstore)
}

View File

@ -36,5 +36,5 @@ func newUnistore(opts *mockOptions) (kv.Storage, error) {
if err != nil {
return nil, err
}
return mockstorage.NewMockStorage(kvstore), nil
return mockstorage.NewMockStorage(kvstore)
}