Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
张蕾
Geth-Modification
Commits
944d9014
Unverified
Commit
944d9014
authored
Feb 08, 2021
by
Péter Szilágyi
Committed by
GitHub
Feb 08, 2021
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #22291 from karalabe/fix-pruner-compaction
core/state/pruner: fix compaction after pruning
parents
123e934e
2728672c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
3 deletions
+10
-3
pruner.go
core/state/pruner/pruner.go
+10
-3
No files found.
core/state/pruner/pruner.go
View file @
944d9014
...
...
@@ -188,8 +188,15 @@ func prune(maindb ethdb.Database, stateBloom *stateBloom, middleStateRoots map[c
cstart
:=
time
.
Now
()
for
b
:=
byte
(
0
);
b
<
byte
(
16
);
b
++
{
log
.
Info
(
"Compacting database"
,
"range"
,
fmt
.
Sprintf
(
"%#x-%#x"
,
b
,
b
+
1
),
"elapsed"
,
common
.
PrettyDuration
(
time
.
Since
(
cstart
)))
if
err
:=
maindb
.
Compact
([]
byte
{
b
},
[]
byte
{
b
+
1
});
err
!=
nil
{
var
(
start
=
[]
byte
{
b
<<
4
}
end
=
[]
byte
{(
b
+
1
)
<<
4
-
1
}
)
log
.
Info
(
"Compacting database"
,
"range"
,
fmt
.
Sprintf
(
"%#x-%#x"
,
start
,
end
),
"elapsed"
,
common
.
PrettyDuration
(
time
.
Since
(
cstart
)))
if
b
==
15
{
end
=
nil
}
if
err
:=
maindb
.
Compact
(
start
,
end
);
err
!=
nil
{
log
.
Error
(
"Database compaction failed"
,
"error"
,
err
)
return
err
}
...
...
@@ -229,7 +236,7 @@ func (p *Pruner) Prune(root common.Hash) error {
// Reject if the accumulated diff layers are less than 128. It
// means in most of normal cases, there is no associated state
// with bottom-most diff layer.
return
errors
.
New
(
"the snapshot difflayers are less than 128"
)
return
fmt
.
Errorf
(
"snapshot not old enough yet: need %d more blocks"
,
128
-
len
(
layers
)
)
}
// Use the bottom-most diff layer as the target
root
=
layers
[
len
(
layers
)
-
1
]
.
Root
()
...
...
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