*: the value of tikv-client.copr-cache.capacity-mb should >=0 (#24232)
This commit is contained in:
@ -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)
|
||||
|
||||
@ -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")
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user