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
bfdff4c5
Unverified
Commit
bfdff4c5
authored
Feb 16, 2021
by
Péter Szilágyi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eth: fix snap sync cancellation
parent
6291fc92
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
6 additions
and
4 deletions
+6
-4
downloader.go
eth/downloader/downloader.go
+1
-2
protocol.go
eth/protocols/snap/protocol.go
+0
-1
sync.go
eth/protocols/snap/sync.go
+5
-1
No files found.
eth/downloader/downloader.go
View file @
bfdff4c5
...
@@ -346,7 +346,6 @@ func (d *Downloader) Synchronise(id string, head common.Hash, td *big.Int, mode
...
@@ -346,7 +346,6 @@ func (d *Downloader) Synchronise(id string, head common.Hash, td *big.Int, mode
case
nil
,
errBusy
,
errCanceled
:
case
nil
,
errBusy
,
errCanceled
:
return
err
return
err
}
}
if
errors
.
Is
(
err
,
errInvalidChain
)
||
errors
.
Is
(
err
,
errBadPeer
)
||
errors
.
Is
(
err
,
errTimeout
)
||
if
errors
.
Is
(
err
,
errInvalidChain
)
||
errors
.
Is
(
err
,
errBadPeer
)
||
errors
.
Is
(
err
,
errTimeout
)
||
errors
.
Is
(
err
,
errStallingPeer
)
||
errors
.
Is
(
err
,
errUnsyncedPeer
)
||
errors
.
Is
(
err
,
errEmptyHeaderSet
)
||
errors
.
Is
(
err
,
errStallingPeer
)
||
errors
.
Is
(
err
,
errUnsyncedPeer
)
||
errors
.
Is
(
err
,
errEmptyHeaderSet
)
||
errors
.
Is
(
err
,
errPeersUnavailable
)
||
errors
.
Is
(
err
,
errTooOld
)
||
errors
.
Is
(
err
,
errInvalidAncestor
)
{
errors
.
Is
(
err
,
errPeersUnavailable
)
||
errors
.
Is
(
err
,
errTooOld
)
||
errors
.
Is
(
err
,
errInvalidAncestor
)
{
...
@@ -1764,7 +1763,7 @@ func (d *Downloader) processFastSyncContent() error {
...
@@ -1764,7 +1763,7 @@ func (d *Downloader) processFastSyncContent() error {
}()
}()
closeOnErr
:=
func
(
s
*
stateSync
)
{
closeOnErr
:=
func
(
s
*
stateSync
)
{
if
err
:=
s
.
Wait
();
err
!=
nil
&&
err
!=
errCancelStateFetch
&&
err
!=
errCanceled
{
if
err
:=
s
.
Wait
();
err
!=
nil
&&
err
!=
errCancelStateFetch
&&
err
!=
errCanceled
&&
err
!=
snap
.
ErrCancelled
{
d
.
queue
.
Close
()
// wake up Results
d
.
queue
.
Close
()
// wake up Results
}
}
}
}
...
...
eth/protocols/snap/protocol.go
View file @
bfdff4c5
...
@@ -61,7 +61,6 @@ var (
...
@@ -61,7 +61,6 @@ var (
errDecode
=
errors
.
New
(
"invalid message"
)
errDecode
=
errors
.
New
(
"invalid message"
)
errInvalidMsgCode
=
errors
.
New
(
"invalid message code"
)
errInvalidMsgCode
=
errors
.
New
(
"invalid message code"
)
errBadRequest
=
errors
.
New
(
"bad request"
)
errBadRequest
=
errors
.
New
(
"bad request"
)
errCancelled
=
errors
.
New
(
"sync cancelled"
)
)
)
// Packet represents a p2p message in the `snap` protocol.
// Packet represents a p2p message in the `snap` protocol.
...
...
eth/protocols/snap/sync.go
View file @
bfdff4c5
...
@@ -88,6 +88,10 @@ var (
...
@@ -88,6 +88,10 @@ var (
requestTimeout
=
10
*
time
.
Second
// TODO(karalabe): Make it dynamic ala fast-sync?
requestTimeout
=
10
*
time
.
Second
// TODO(karalabe): Make it dynamic ala fast-sync?
)
)
// ErrCancelled is returned from snap syncing if the operation was prematurely
// terminated.
var
ErrCancelled
=
errors
.
New
(
"sync cancelled"
)
// accountRequest tracks a pending account range request to ensure responses are
// accountRequest tracks a pending account range request to ensure responses are
// to actual requests and to validate any security constraints.
// to actual requests and to validate any security constraints.
//
//
...
@@ -615,7 +619,7 @@ func (s *Syncer) Sync(root common.Hash, cancel chan struct{}) error {
...
@@ -615,7 +619,7 @@ func (s *Syncer) Sync(root common.Hash, cancel chan struct{}) error {
case
id
:=
<-
peerDrop
:
case
id
:=
<-
peerDrop
:
s
.
revertRequests
(
id
)
s
.
revertRequests
(
id
)
case
<-
cancel
:
case
<-
cancel
:
return
e
rrCancelled
return
E
rrCancelled
case
req
:=
<-
s
.
accountReqFails
:
case
req
:=
<-
s
.
accountReqFails
:
s
.
revertAccountRequest
(
req
)
s
.
revertAccountRequest
(
req
)
...
...
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