-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wiring ForkedChainRef to other components #2423
Conversation
jangko
commented
Jun 27, 2024
- Disable majority of hive simulators
- Only enable pyspec_sim for the moment
- The pyspec_sim is using a smaller RPC service wired to ForkedChainRef
- The RPC service will gradually grow
I think let's work on this in a branch until hive and/or other disabled testing works again |
in hive we have 5 test suites: rpc, graphql, engine-api, consensus, and pyspec. rpc suite and graphql are not completely related to ForkedChain. They have their own domain of problem. |
- Disable majority of hive simulators - Only enable pyspec_sim for the moment - The pyspec_sim is using a smaller RPC service wired to ForkedChainRef - The RPC service will gradually grow
* Enable consensus_sim * Remove isFile check
nimbus/db/core_db/core_apps.nim
Outdated
db.ctx.getKvt().hasKey(genericHashKey(blockHash).toOpenArray).isOkOr: | ||
if error.error != KvtNotFound: | ||
warn logTxt info, blockHash, action="hasKey()", error=($$error) | ||
return false | ||
|
||
return true | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hasKey()
doesn't return error if blockHash
is not found. So with this current implementation of hasBlockHeader
, all unknown block headers are getting ignored as it thinks it is already there in the db
nimbus-eth1/nimbus/db/kvt/kvt_utils.nim
Lines 136 to 154 in 8bf581e
proc hasKey*( | |
db: KvtDbRef; # Database | |
key: openArray[byte]; # Key of database record | |
): Result[bool,KvtError] = | |
## For the argument `key` return the associated value preferably from the | |
## top layer, or the database otherwise. | |
## | |
if key.len == 0: | |
return err(KeyInvalid) | |
if db.layersHasKey key: | |
return ok(true) | |
let rc = db.getBe key | |
if rc.isOk: | |
return ok(true) | |
if rc.error == GetNotFound: | |
return ok(false) | |
err(rc.error) |