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
a6a49ccb
Commit
a6a49ccb
authored
Apr 28, 2015
by
Jeffrey Wilcke
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #821 from karalabe/nodedb-fix
p2p/discover: fix api issues caused by leveldb update
parents
a7d89461
b569550a
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
4 deletions
+6
-4
database.go
p2p/discover/database.go
+6
-4
No files found.
p2p/discover/database.go
View file @
a6a49ccb
...
@@ -14,8 +14,10 @@ import (
...
@@ -14,8 +14,10 @@ import (
"github.com/ethereum/go-ethereum/logger/glog"
"github.com/ethereum/go-ethereum/logger/glog"
"github.com/ethereum/go-ethereum/rlp"
"github.com/ethereum/go-ethereum/rlp"
"github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/errors"
"github.com/syndtr/goleveldb/leveldb/iterator"
"github.com/syndtr/goleveldb/leveldb/iterator"
"github.com/syndtr/goleveldb/leveldb/storage"
"github.com/syndtr/goleveldb/leveldb/storage"
"github.com/syndtr/goleveldb/leveldb/util"
)
)
var
(
var
(
...
@@ -71,7 +73,7 @@ func newMemoryNodeDB() (*nodeDB, error) {
...
@@ -71,7 +73,7 @@ func newMemoryNodeDB() (*nodeDB, error) {
func
newPersistentNodeDB
(
path
string
,
version
int
)
(
*
nodeDB
,
error
)
{
func
newPersistentNodeDB
(
path
string
,
version
int
)
(
*
nodeDB
,
error
)
{
// Try to open the cache, recovering any corruption
// Try to open the cache, recovering any corruption
db
,
err
:=
leveldb
.
OpenFile
(
path
,
nil
)
db
,
err
:=
leveldb
.
OpenFile
(
path
,
nil
)
if
_
,
iscorrupted
:=
err
.
(
leveldb
.
ErrCorrupted
);
iscorrupted
{
if
_
,
iscorrupted
:=
err
.
(
*
errors
.
ErrCorrupted
);
iscorrupted
{
db
,
err
=
leveldb
.
RecoverFile
(
path
,
nil
)
db
,
err
=
leveldb
.
RecoverFile
(
path
,
nil
)
}
}
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -227,9 +229,9 @@ func (db *nodeDB) expireNodes() error {
...
@@ -227,9 +229,9 @@ func (db *nodeDB) expireNodes() error {
continue
continue
}
}
// Otherwise delete all associated information
// Otherwise delete all associated information
prefix
:=
makeKey
(
id
,
""
)
deleter
:=
db
.
lvl
.
NewIterator
(
util
.
BytesPrefix
(
makeKey
(
id
,
""
)),
nil
)
for
ok
:=
it
.
Seek
(
prefix
);
ok
&&
bytes
.
HasPrefix
(
it
.
Key
(),
prefix
);
ok
=
it
.
Next
()
{
for
deleter
.
Next
()
{
if
err
:=
db
.
lvl
.
Delete
(
it
.
Key
(),
nil
);
err
!=
nil
{
if
err
:=
db
.
lvl
.
Delete
(
deleter
.
Key
(),
nil
);
err
!=
nil
{
return
err
return
err
}
}
}
}
...
...
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