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
932a5f77
Commit
932a5f77
authored
Jun 19, 2019
by
liuyuhang
Committed by
vipwzw
Jun 20, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add ticket close node cache length on-off
parent
0bddd2e3
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
28 additions
and
6 deletions
+28
-6
chain33.toml
chain33.toml
+4
-0
kvmvcc_mavl.go
plugin/store/kvmvccmavl/kvmvcc_mavl.go
+5
-0
mavl.go
plugin/store/kvmvccmavl/mavl.go
+2
-0
tree.go
vendor/github.com/33cn/chain33/system/store/mavl/db/tree.go
+11
-5
mavl.go
vendor/github.com/33cn/chain33/system/store/mavl/mavl.go
+6
-1
No files found.
chain33.toml
View file @
932a5f77
...
...
@@ -152,6 +152,8 @@ pruneHeight=10000
enableMemTree
=
true
# 是否使能mavl叶子节点数据载入内存
enableMemVal
=
true
# 缓存close ticket数目,该缓存越大同步速度越快,最大设置到1500000
tkCloseCacheLen
=
100000
[store.sub.kvmvccmavl]
enableMVCCIter
=
true
...
...
@@ -163,6 +165,8 @@ pruneHeight=10000
enableMemTree
=
true
# 是否使能mavl叶子节点数据载入内存
enableMemVal
=
true
# 缓存close ticket数目,该缓存越大同步速度越快,最大设置到1500000
tkCloseCacheLen
=
100000
[wallet]
minFee
=
100000
...
...
plugin/store/kvmvccmavl/kvmvcc_mavl.go
View file @
932a5f77
...
...
@@ -87,6 +87,8 @@ type subMavlConfig struct {
EnableMemTree
bool
`json:"enableMemTree"`
// 是否使能内存树中叶子节点
EnableMemVal
bool
`json:"enableMemVal"`
// 缓存close ticket数目
TkCloseCacheLen
int32
`json:"tkCloseCacheLen"`
}
type
subConfig
struct
{
...
...
@@ -99,6 +101,8 @@ type subConfig struct {
EnableMemTree
bool
`json:"enableMemTree"`
// 是否使能内存树中叶子节点
EnableMemVal
bool
`json:"enableMemVal"`
// 缓存close ticket数目
TkCloseCacheLen
int32
`json:"tkCloseCacheLen"`
}
// New construct KVMVCCStore module
...
...
@@ -119,6 +123,7 @@ func New(cfg *types.Store, sub []byte) queue.Module {
subMavlcfg
.
PruneHeight
=
subcfg
.
PruneHeight
subMavlcfg
.
EnableMemTree
=
subcfg
.
EnableMemTree
subMavlcfg
.
EnableMemVal
=
subcfg
.
EnableMemVal
subMavlcfg
.
TkCloseCacheLen
=
subcfg
.
TkCloseCacheLen
}
bs
:=
drivers
.
NewBaseStore
(
cfg
)
...
...
plugin/store/kvmvccmavl/mavl.go
View file @
932a5f77
...
...
@@ -42,6 +42,7 @@ func NewMavl(sub *subMavlConfig, db dbm.DB) *MavlStore {
subcfg
.
PruneHeight
=
sub
.
PruneHeight
subcfg
.
EnableMemTree
=
sub
.
EnableMemTree
subcfg
.
EnableMemVal
=
sub
.
EnableMemVal
subcfg
.
TkCloseCacheLen
=
sub
.
TkCloseCacheLen
}
mavls
:=
&
MavlStore
{
db
,
&
sync
.
Map
{},
subcfg
.
EnableMavlPrefix
,
subcfg
.
EnableMVCC
,
subcfg
.
EnableMavlPrune
,
subcfg
.
PruneHeight
}
mavl
.
EnableMavlPrefix
(
subcfg
.
EnableMavlPrefix
)
...
...
@@ -50,6 +51,7 @@ func NewMavl(sub *subMavlConfig, db dbm.DB) *MavlStore {
mavl
.
SetPruneHeight
(
int
(
subcfg
.
PruneHeight
))
mavl
.
EnableMemTree
(
subcfg
.
EnableMemTree
)
mavl
.
EnableMemVal
(
subcfg
.
EnableMemVal
)
mavl
.
TkCloseCacheLen
(
subcfg
.
TkCloseCacheLen
)
return
mavls
}
...
...
vendor/github.com/33cn/chain33/system/store/mavl/db/tree.go
View file @
932a5f77
...
...
@@ -40,10 +40,11 @@ var (
maxBlockHeight
int64
heightMtx
sync
.
Mutex
//
enableMemTree
bool
enableMemVal
bool
memTree
MemTreeOpera
tkCloseCache
MemTreeOpera
enableMemTree
bool
enableMemVal
bool
memTree
MemTreeOpera
tkCloseCache
MemTreeOpera
tkCloseCacheLen
int32
=
10
*
10000
)
// EnableMavlPrefix 使能mavl加前缀
...
...
@@ -66,6 +67,11 @@ func EnableMemVal(enable bool) {
enableMemVal
=
enable
}
// TkCloseCacheLen 设置缓存close ticket数目
func
TkCloseCacheLen
(
len
int32
)
{
tkCloseCacheLen
=
len
}
// ReleaseGlobalMem 释放全局缓存
func
ReleaseGlobalMem
()
{
if
memTree
!=
nil
{
...
...
@@ -110,7 +116,7 @@ func NewTree(db dbm.DB, sync bool) *Tree {
// 使能情况下非空创建当前整tree的缓存
if
enableMemTree
&&
memTree
==
nil
{
memTree
=
NewTreeMap
(
50
*
10000
)
tkCloseCache
=
NewTreeARC
(
10
*
10000
)
tkCloseCache
=
NewTreeARC
(
int
(
tkCloseCacheLen
)
)
}
return
&
Tree
{
ndb
:
ndb
,
...
...
vendor/github.com/33cn/chain33/system/store/mavl/mavl.go
View file @
932a5f77
...
...
@@ -39,6 +39,7 @@ type Store struct {
pruneHeight
int32
enableMemTree
bool
enableMemVal
bool
tkCloseCacheLen
int32
}
func
init
()
{
...
...
@@ -57,6 +58,8 @@ type subConfig struct {
EnableMemTree
bool
`json:"enableMemTree"`
// 是否使能内存树中叶子节点
EnableMemVal
bool
`json:"enableMemVal"`
// 缓存close ticket数目
TkCloseCacheLen
int32
`json:"tkCloseCacheLen"`
}
// New new mavl store module
...
...
@@ -67,19 +70,21 @@ func New(cfg *types.Store, sub []byte) queue.Module {
types
.
MustDecode
(
sub
,
&
subcfg
)
}
mavls
:=
&
Store
{
bs
,
&
sync
.
Map
{},
subcfg
.
EnableMavlPrefix
,
subcfg
.
EnableMVCC
,
subcfg
.
EnableMavlPrune
,
subcfg
.
PruneHeight
,
subcfg
.
EnableMemTree
,
subcfg
.
EnableMemVal
}
subcfg
.
EnableMavlPrune
,
subcfg
.
PruneHeight
,
subcfg
.
EnableMemTree
,
subcfg
.
EnableMemVal
,
subcfg
.
TkCloseCacheLen
}
mavls
.
enableMavlPrefix
=
subcfg
.
EnableMavlPrefix
mavls
.
enableMVCC
=
subcfg
.
EnableMVCC
mavls
.
enableMavlPrune
=
subcfg
.
EnableMavlPrune
mavls
.
pruneHeight
=
subcfg
.
PruneHeight
mavls
.
enableMemTree
=
subcfg
.
EnableMemTree
mavls
.
enableMemVal
=
subcfg
.
EnableMemVal
mavls
.
tkCloseCacheLen
=
subcfg
.
TkCloseCacheLen
mavl
.
EnableMavlPrefix
(
mavls
.
enableMavlPrefix
)
mavl
.
EnableMVCC
(
mavls
.
enableMVCC
)
mavl
.
EnablePrune
(
mavls
.
enableMavlPrune
)
mavl
.
SetPruneHeight
(
int
(
mavls
.
pruneHeight
))
mavl
.
EnableMemTree
(
mavls
.
enableMemTree
)
mavl
.
EnableMemVal
(
mavls
.
enableMemVal
)
mavl
.
TkCloseCacheLen
(
mavls
.
tkCloseCacheLen
)
bs
.
SetChild
(
mavls
)
return
mavls
}
...
...
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