Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
6925ff03
Commit
6925ff03
authored
Nov 19, 2018
by
张振华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix lint warning
parent
eacf28fd
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
39 deletions
+53
-39
errors.go
plugin/store/kvmvcc/errors.go
+1
-0
kvmvccdb.go
plugin/store/kvmvcc/kvmvccdb.go
+13
-0
kvmvccdb_test.go
plugin/store/kvmvcc/kvmvccdb_test.go
+39
-39
No files found.
plugin/store/kvmvcc/errors.go
View file @
6925ff03
...
@@ -7,5 +7,6 @@ package kvmvccdb
...
@@ -7,5 +7,6 @@ package kvmvccdb
import
"errors"
import
"errors"
var
(
var
(
//Err for StateHash lost
ErrStateHashLost
=
errors
.
New
(
"ErrStateHashLost"
)
ErrStateHashLost
=
errors
.
New
(
"ErrStateHashLost"
)
)
)
plugin/store/kvmvcc/kvmvccdb.go
View file @
6925ff03
...
@@ -18,10 +18,12 @@ import (
...
@@ -18,10 +18,12 @@ import (
var
klog
=
log
.
New
(
"module"
,
"kvmvccdb"
)
var
klog
=
log
.
New
(
"module"
,
"kvmvccdb"
)
var
maxRollbackNum
=
200
var
maxRollbackNum
=
200
// Set log level
func
SetLogLevel
(
level
string
)
{
func
SetLogLevel
(
level
string
)
{
clog
.
SetLogLevel
(
level
)
clog
.
SetLogLevel
(
level
)
}
}
// disable log output
func
DisableLog
()
{
func
DisableLog
()
{
klog
.
SetHandler
(
log
.
DiscardHandler
())
klog
.
SetHandler
(
log
.
DiscardHandler
())
}
}
...
@@ -30,6 +32,7 @@ func init() {
...
@@ -30,6 +32,7 @@ func init() {
drivers
.
Reg
(
"kvmvcc"
,
New
)
drivers
.
Reg
(
"kvmvcc"
,
New
)
}
}
// KV MVCC Store
type
KVMVCCStore
struct
{
type
KVMVCCStore
struct
{
*
drivers
.
BaseStore
*
drivers
.
BaseStore
mvcc
dbm
.
MVCC
mvcc
dbm
.
MVCC
...
@@ -41,6 +44,7 @@ type subConfig struct {
...
@@ -41,6 +44,7 @@ type subConfig struct {
EnableMVCCIter
bool
`json:"enableMVCCIter"`
EnableMVCCIter
bool
`json:"enableMVCCIter"`
}
}
// new KVMVCCStore module
func
New
(
cfg
*
types
.
Store
,
sub
[]
byte
)
queue
.
Module
{
func
New
(
cfg
*
types
.
Store
,
sub
[]
byte
)
queue
.
Module
{
bs
:=
drivers
.
NewBaseStore
(
cfg
)
bs
:=
drivers
.
NewBaseStore
(
cfg
)
var
kvs
*
KVMVCCStore
var
kvs
*
KVMVCCStore
...
@@ -59,11 +63,13 @@ func New(cfg *types.Store, sub []byte) queue.Module {
...
@@ -59,11 +63,13 @@ func New(cfg *types.Store, sub []byte) queue.Module {
return
kvs
return
kvs
}
}
// Close the KVMVCCStore module
func
(
mvccs
*
KVMVCCStore
)
Close
()
{
func
(
mvccs
*
KVMVCCStore
)
Close
()
{
mvccs
.
BaseStore
.
Close
()
mvccs
.
BaseStore
.
Close
()
klog
.
Info
(
"store kvdb closed"
)
klog
.
Info
(
"store kvdb closed"
)
}
}
// set kvs with statehash to KVMVCCStore
func
(
mvccs
*
KVMVCCStore
)
Set
(
datas
*
types
.
StoreSet
,
sync
bool
)
([]
byte
,
error
)
{
func
(
mvccs
*
KVMVCCStore
)
Set
(
datas
*
types
.
StoreSet
,
sync
bool
)
([]
byte
,
error
)
{
hash
:=
calcHash
(
datas
)
hash
:=
calcHash
(
datas
)
kvlist
,
err
:=
mvccs
.
mvcc
.
AddMVCC
(
datas
.
KV
,
hash
,
datas
.
StateHash
,
datas
.
Height
)
kvlist
,
err
:=
mvccs
.
mvcc
.
AddMVCC
(
datas
.
KV
,
hash
,
datas
.
StateHash
,
datas
.
Height
)
...
@@ -74,6 +80,7 @@ func (mvccs *KVMVCCStore) Set(datas *types.StoreSet, sync bool) ([]byte, error)
...
@@ -74,6 +80,7 @@ func (mvccs *KVMVCCStore) Set(datas *types.StoreSet, sync bool) ([]byte, error)
return
hash
,
nil
return
hash
,
nil
}
}
// Get kvs with statehash from KVMVCCStore
func
(
mvccs
*
KVMVCCStore
)
Get
(
datas
*
types
.
StoreGet
)
[][]
byte
{
func
(
mvccs
*
KVMVCCStore
)
Get
(
datas
*
types
.
StoreGet
)
[][]
byte
{
values
:=
make
([][]
byte
,
len
(
datas
.
Keys
))
values
:=
make
([][]
byte
,
len
(
datas
.
Keys
))
version
,
err
:=
mvccs
.
mvcc
.
GetVersion
(
datas
.
StateHash
)
version
,
err
:=
mvccs
.
mvcc
.
GetVersion
(
datas
.
StateHash
)
...
@@ -92,6 +99,7 @@ func (mvccs *KVMVCCStore) Get(datas *types.StoreGet) [][]byte {
...
@@ -92,6 +99,7 @@ func (mvccs *KVMVCCStore) Get(datas *types.StoreGet) [][]byte {
return
values
return
values
}
}
// Set kvs to the mem of KVMVCCStore module and return the StateHash
func
(
mvccs
*
KVMVCCStore
)
MemSet
(
datas
*
types
.
StoreSet
,
sync
bool
)
([]
byte
,
error
)
{
func
(
mvccs
*
KVMVCCStore
)
MemSet
(
datas
*
types
.
StoreSet
,
sync
bool
)
([]
byte
,
error
)
{
kvset
,
err
:=
mvccs
.
checkVersion
(
datas
.
Height
)
kvset
,
err
:=
mvccs
.
checkVersion
(
datas
.
Height
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -110,6 +118,7 @@ func (mvccs *KVMVCCStore) MemSet(datas *types.StoreSet, sync bool) ([]byte, erro
...
@@ -110,6 +118,7 @@ func (mvccs *KVMVCCStore) MemSet(datas *types.StoreSet, sync bool) ([]byte, erro
return
hash
,
nil
return
hash
,
nil
}
}
// Commit kvs in the mem of KVMVCCStore module to state db and return the StateHash
func
(
mvccs
*
KVMVCCStore
)
Commit
(
req
*
types
.
ReqHash
)
([]
byte
,
error
)
{
func
(
mvccs
*
KVMVCCStore
)
Commit
(
req
*
types
.
ReqHash
)
([]
byte
,
error
)
{
_
,
ok
:=
mvccs
.
kvsetmap
[
string
(
req
.
Hash
)]
_
,
ok
:=
mvccs
.
kvsetmap
[
string
(
req
.
Hash
)]
if
!
ok
{
if
!
ok
{
...
@@ -122,6 +131,7 @@ func (mvccs *KVMVCCStore) Commit(req *types.ReqHash) ([]byte, error) {
...
@@ -122,6 +131,7 @@ func (mvccs *KVMVCCStore) Commit(req *types.ReqHash) ([]byte, error) {
return
req
.
Hash
,
nil
return
req
.
Hash
,
nil
}
}
// Rollback kvs in the mem of KVMVCCStore module and return the StateHash
func
(
mvccs
*
KVMVCCStore
)
Rollback
(
req
*
types
.
ReqHash
)
([]
byte
,
error
)
{
func
(
mvccs
*
KVMVCCStore
)
Rollback
(
req
*
types
.
ReqHash
)
([]
byte
,
error
)
{
_
,
ok
:=
mvccs
.
kvsetmap
[
string
(
req
.
Hash
)]
_
,
ok
:=
mvccs
.
kvsetmap
[
string
(
req
.
Hash
)]
if
!
ok
{
if
!
ok
{
...
@@ -135,6 +145,7 @@ func (mvccs *KVMVCCStore) Rollback(req *types.ReqHash) ([]byte, error) {
...
@@ -135,6 +145,7 @@ func (mvccs *KVMVCCStore) Rollback(req *types.ReqHash) ([]byte, error) {
return
req
.
Hash
,
nil
return
req
.
Hash
,
nil
}
}
// Iterate range with Prefix by StateHash to get the latest version kvs.
func
(
mvccs
*
KVMVCCStore
)
IterateRangeByStateHash
(
statehash
[]
byte
,
start
[]
byte
,
end
[]
byte
,
ascending
bool
,
fn
func
(
key
,
value
[]
byte
)
bool
)
{
func
(
mvccs
*
KVMVCCStore
)
IterateRangeByStateHash
(
statehash
[]
byte
,
start
[]
byte
,
end
[]
byte
,
ascending
bool
,
fn
func
(
key
,
value
[]
byte
)
bool
)
{
if
!
mvccs
.
enableMVCCIter
{
if
!
mvccs
.
enableMVCCIter
{
panic
(
"call IterateRangeByStateHash when disable mvcc iter"
)
panic
(
"call IterateRangeByStateHash when disable mvcc iter"
)
...
@@ -162,10 +173,12 @@ func (mvccs *KVMVCCStore) IterateRangeByStateHash(statehash []byte, start []byte
...
@@ -162,10 +173,12 @@ func (mvccs *KVMVCCStore) IterateRangeByStateHash(statehash []byte, start []byte
listhelper
.
IteratorCallback
(
start
,
end
,
0
,
1
,
fn
)
listhelper
.
IteratorCallback
(
start
,
end
,
0
,
1
,
fn
)
}
}
// Proc supported events
func
(
mvccs
*
KVMVCCStore
)
ProcEvent
(
msg
queue
.
Message
)
{
func
(
mvccs
*
KVMVCCStore
)
ProcEvent
(
msg
queue
.
Message
)
{
msg
.
ReplyErr
(
"KVStore"
,
types
.
ErrActionNotSupport
)
msg
.
ReplyErr
(
"KVStore"
,
types
.
ErrActionNotSupport
)
}
}
// Set kvs to nil with StateHash
func
(
mvccs
*
KVMVCCStore
)
Del
(
req
*
types
.
StoreDel
)
([]
byte
,
error
)
{
func
(
mvccs
*
KVMVCCStore
)
Del
(
req
*
types
.
StoreDel
)
([]
byte
,
error
)
{
kvset
,
err
:=
mvccs
.
mvcc
.
DelMVCC
(
req
.
StateHash
,
req
.
Height
,
true
)
kvset
,
err
:=
mvccs
.
mvcc
.
DelMVCC
(
req
.
StateHash
,
req
.
Height
,
true
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
plugin/store/kvmvcc/kvmvccdb_test.go
View file @
6925ff03
...
@@ -35,8 +35,8 @@ func TestKvmvccdbNewClose(t *testing.T) {
...
@@ -35,8 +35,8 @@ func TestKvmvccdbNewClose(t *testing.T) {
assert
.
Nil
(
t
,
err
)
assert
.
Nil
(
t
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
t
,
store
)
assert
.
NotNil
(
t
,
store
)
store
.
Close
()
store
.
Close
()
...
@@ -47,8 +47,8 @@ func TestKvmvccdbSetGet(t *testing.T) {
...
@@ -47,8 +47,8 @@ func TestKvmvccdbSetGet(t *testing.T) {
assert
.
Nil
(
t
,
err
)
assert
.
Nil
(
t
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
t
,
store
)
assert
.
NotNil
(
t
,
store
)
keys0
:=
[][]
byte
{[]
byte
(
"mk1"
),
[]
byte
(
"mk2"
)}
keys0
:=
[][]
byte
{[]
byte
(
"mk1"
),
[]
byte
(
"mk2"
)}
...
@@ -93,8 +93,8 @@ func TestKvmvccdbMemSet(t *testing.T) {
...
@@ -93,8 +93,8 @@ func TestKvmvccdbMemSet(t *testing.T) {
assert
.
Nil
(
t
,
err
)
assert
.
Nil
(
t
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
t
,
store
)
assert
.
NotNil
(
t
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -131,8 +131,8 @@ func TestKvmvccdbRollback(t *testing.T) {
...
@@ -131,8 +131,8 @@ func TestKvmvccdbRollback(t *testing.T) {
assert
.
Nil
(
t
,
err
)
assert
.
Nil
(
t
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
t
,
store
)
assert
.
NotNil
(
t
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -164,8 +164,8 @@ func TestKvmvccdbRollbackBatch(t *testing.T) {
...
@@ -164,8 +164,8 @@ func TestKvmvccdbRollbackBatch(t *testing.T) {
assert
.
Nil
(
t
,
err
)
assert
.
Nil
(
t
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
t
,
store
)
assert
.
NotNil
(
t
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -261,7 +261,7 @@ func TestIterateRangeByStateHash(t *testing.T) {
...
@@ -261,7 +261,7 @@ func TestIterateRangeByStateHash(t *testing.T) {
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
store_cfg
,
sub
:=
newStoreCfgIter
(
dir
)
store_cfg
,
sub
:=
newStoreCfgIter
(
dir
)
store
:=
New
(
store
_c
fg
,
sub
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
sub
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
t
,
store
)
assert
.
NotNil
(
t
,
store
)
execaddr
:=
"0111vcBNSEA7fZhAdLJphDwQRQJa111"
execaddr
:=
"0111vcBNSEA7fZhAdLJphDwQRQJa111"
...
@@ -406,8 +406,8 @@ func BenchmarkGet(b *testing.B) {
...
@@ -406,8 +406,8 @@ func BenchmarkGet(b *testing.B) {
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -450,8 +450,8 @@ func BenchmarkStoreGetKvs4N(b *testing.B) {
...
@@ -450,8 +450,8 @@ func BenchmarkStoreGetKvs4N(b *testing.B) {
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -495,8 +495,8 @@ func BenchmarkStoreGetKvsForNN(b *testing.B) {
...
@@ -495,8 +495,8 @@ func BenchmarkStoreGetKvsForNN(b *testing.B) {
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -555,8 +555,8 @@ func BenchmarkStoreGetKvsFor10000(b *testing.B) {
...
@@ -555,8 +555,8 @@ func BenchmarkStoreGetKvsFor10000(b *testing.B) {
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -620,8 +620,8 @@ func BenchmarkGetIter(b *testing.B) {
...
@@ -620,8 +620,8 @@ func BenchmarkGetIter(b *testing.B) {
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
store
_c
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
C
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
:=
New
(
store
_c
fg
,
sub
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
sub
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -663,8 +663,8 @@ func BenchmarkSet(b *testing.B) {
...
@@ -663,8 +663,8 @@ func BenchmarkSet(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
b
.
Log
(
dir
)
b
.
Log
(
dir
)
...
@@ -700,8 +700,8 @@ func BenchmarkStoreSet(b *testing.B) {
...
@@ -700,8 +700,8 @@ func BenchmarkStoreSet(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -735,8 +735,8 @@ func BenchmarkSetIter(b *testing.B) {
...
@@ -735,8 +735,8 @@ func BenchmarkSetIter(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
store
_c
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
C
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
:=
New
(
store
_c
fg
,
sub
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
sub
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
b
.
Log
(
dir
)
b
.
Log
(
dir
)
...
@@ -784,8 +784,8 @@ func BenchmarkMemSet(b *testing.B) {
...
@@ -784,8 +784,8 @@ func BenchmarkMemSet(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -818,8 +818,8 @@ func BenchmarkStoreMemSet(b *testing.B) {
...
@@ -818,8 +818,8 @@ func BenchmarkStoreMemSet(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -856,8 +856,8 @@ func BenchmarkCommit(b *testing.B) {
...
@@ -856,8 +856,8 @@ func BenchmarkCommit(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -897,8 +897,8 @@ func BenchmarkStoreCommit(b *testing.B) {
...
@@ -897,8 +897,8 @@ func BenchmarkStoreCommit(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
var
store
_c
fg
=
newStoreCfg
(
dir
)
var
store
C
fg
=
newStoreCfg
(
dir
)
store
:=
New
(
store
_c
fg
,
nil
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
nil
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -941,8 +941,8 @@ func BenchmarkIterMemSet(b *testing.B) {
...
@@ -941,8 +941,8 @@ func BenchmarkIterMemSet(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
store
_c
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
C
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
:=
New
(
store
_c
fg
,
sub
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
sub
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
@@ -974,8 +974,8 @@ func BenchmarkIterCommit(b *testing.B) {
...
@@ -974,8 +974,8 @@ func BenchmarkIterCommit(b *testing.B) {
assert
.
Nil
(
b
,
err
)
assert
.
Nil
(
b
,
err
)
defer
os
.
RemoveAll
(
dir
)
// clean up
defer
os
.
RemoveAll
(
dir
)
// clean up
os
.
RemoveAll
(
dir
)
//删除已存在目录
os
.
RemoveAll
(
dir
)
//删除已存在目录
store
_c
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
C
fg
,
sub
:=
newStoreCfgIter
(
dir
)
store
:=
New
(
store
_c
fg
,
sub
)
.
(
*
KVMVCCStore
)
store
:=
New
(
store
C
fg
,
sub
)
.
(
*
KVMVCCStore
)
assert
.
NotNil
(
b
,
store
)
assert
.
NotNil
(
b
,
store
)
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment