mirror of
https://github.com/status-im/nimbus-eth2.git
synced 2025-03-01 06:30:52 +00:00
Do not cache resolved hostnames in REST client. (#6570)
This commit is contained in:
parent
77e835153c
commit
841904bd53
@ -151,8 +151,11 @@ proc getPayloadBuilderClient*(
|
|||||||
|
|
||||||
if payloadBuilderAddress.isNone:
|
if payloadBuilderAddress.isNone:
|
||||||
return err "Payload builder disabled"
|
return err "Payload builder disabled"
|
||||||
let res = RestClientRef.new(payloadBuilderAddress.get)
|
|
||||||
if res.isOk and res.get.isNil:
|
let
|
||||||
err "Got nil payload builder REST client reference"
|
flags = {RestClientFlag.CommaSeparatedArray,
|
||||||
else:
|
RestClientFlag.ResolveAlways}
|
||||||
res
|
socketFlags = {SocketFlags.TcpNoDelay}
|
||||||
|
|
||||||
|
RestClientRef.new(payloadBuilderAddress.get, flags = flags,
|
||||||
|
socketFlags = socketFlags)
|
||||||
|
@ -149,8 +149,16 @@ func getIdent*(storage: ValidatorStorage): ValidatorIdent =
|
|||||||
|
|
||||||
proc restValidatorExit(config: BeaconNodeConf) {.async.} =
|
proc restValidatorExit(config: BeaconNodeConf) {.async.} =
|
||||||
let
|
let
|
||||||
client = RestClientRef.new(config.restUrlForExit).valueOr:
|
client =
|
||||||
raise (ref RestError)(msg: $error)
|
block:
|
||||||
|
let
|
||||||
|
flags = {RestClientFlag.CommaSeparatedArray,
|
||||||
|
RestClientFlag.ResolveAlways}
|
||||||
|
socketFlags = {SocketFlags.TcpNoDelay}
|
||||||
|
|
||||||
|
RestClientRef.new(config.restUrlForExit, flags = flags,
|
||||||
|
socketFlags = socketFlags).valueOr:
|
||||||
|
raise (ref RestError)(msg: $error)
|
||||||
|
|
||||||
stateIdHead = StateIdent(kind: StateQueryKind.Named,
|
stateIdHead = StateIdent(kind: StateQueryKind.Named,
|
||||||
value: StateIdentType.Head)
|
value: StateIdentType.Head)
|
||||||
|
@ -61,6 +61,13 @@ func shortLog*(v: TrustedNodeSyncTarget): auto =
|
|||||||
|
|
||||||
chronicles.formatIt(TrustedNodeSyncTarget): shortLog(it)
|
chronicles.formatIt(TrustedNodeSyncTarget): shortLog(it)
|
||||||
|
|
||||||
|
proc createNewRestClient(url: string): Result[RestClientRef, cstring] =
|
||||||
|
let
|
||||||
|
flags = {RestClientFlag.CommaSeparatedArray,
|
||||||
|
RestClientFlag.ResolveAlways}
|
||||||
|
socketFlags = {SocketFlags.TcpNoDelay}
|
||||||
|
RestClientRef.new(url, flags = flags, socketFlags = socketFlags)
|
||||||
|
|
||||||
proc doTrustedNodeSync*(
|
proc doTrustedNodeSync*(
|
||||||
db: BeaconChainDB,
|
db: BeaconChainDB,
|
||||||
cfg: RuntimeConfig,
|
cfg: RuntimeConfig,
|
||||||
@ -80,8 +87,8 @@ proc doTrustedNodeSync*(
|
|||||||
databaseDir, backfill, reindex
|
databaseDir, backfill, reindex
|
||||||
|
|
||||||
var
|
var
|
||||||
client = RestClientRef.new(restUrl).valueOr:
|
client = createNewRestClient(restUrl).valueOr:
|
||||||
error "Cannot connect to server", error = error
|
error "Cannot connect to server", reason = error
|
||||||
quit 1
|
quit 1
|
||||||
|
|
||||||
# If possible, we'll store the genesis state in the database - this is not
|
# If possible, we'll store the genesis state in the database - this is not
|
||||||
@ -440,8 +447,8 @@ proc doTrustedNodeSync*(
|
|||||||
lastError = exc
|
lastError = exc
|
||||||
|
|
||||||
warn "Retrying download of block", slot, err = exc.msg
|
warn "Retrying download of block", slot, err = exc.msg
|
||||||
client = RestClientRef.new(restUrl).valueOr:
|
client = createNewRestClient(restUrl).valueOr:
|
||||||
error "Cannot connect to server", url = restUrl, error = error
|
error "Cannot connect to server", url = restUrl, reason = error
|
||||||
quit 1
|
quit 1
|
||||||
|
|
||||||
raise lastError
|
raise lastError
|
||||||
|
@ -1718,11 +1718,16 @@ proc registerValidatorsPerBuilder(
|
|||||||
BUILDER_VALIDATOR_REGISTRATION_DELAY_TOLERANCE = 6.seconds
|
BUILDER_VALIDATOR_REGISTRATION_DELAY_TOLERANCE = 6.seconds
|
||||||
|
|
||||||
let payloadBuilderClient =
|
let payloadBuilderClient =
|
||||||
RestClientRef.new(payloadBuilderAddress).valueOr:
|
block:
|
||||||
debug "Unable to initialize payload builder client while registering validators",
|
let
|
||||||
payloadBuilderAddress, epoch,
|
flags = {RestClientFlag.CommaSeparatedArray,
|
||||||
err = error
|
RestClientFlag.ResolveAlways}
|
||||||
return
|
socketFlags = {SocketFlags.TcpNoDelay}
|
||||||
|
RestClientRef.new(payloadBuilderAddress, flags = flags,
|
||||||
|
socketFlags = socketFlags).valueOr:
|
||||||
|
debug "Unable to initialize payload builder client while registering validators",
|
||||||
|
payloadBuilderAddress, epoch, reason = error
|
||||||
|
return
|
||||||
|
|
||||||
if payloadBuilderClient.isNil:
|
if payloadBuilderClient.isNil:
|
||||||
debug "registerValidatorsPerBuilder: got nil payload builder REST client reference",
|
debug "registerValidatorsPerBuilder: got nil payload builder REST client reference",
|
||||||
|
@ -183,7 +183,8 @@ proc addRemoteValidator(pool: var ValidatorPool,
|
|||||||
{HttpClientFlag.NoVerifyHost, HttpClientFlag.NoVerifyServerName}
|
{HttpClientFlag.NoVerifyHost, HttpClientFlag.NoVerifyServerName}
|
||||||
else:
|
else:
|
||||||
{}
|
{}
|
||||||
prestoFlags = {RestClientFlag.CommaSeparatedArray}
|
prestoFlags = {RestClientFlag.CommaSeparatedArray,
|
||||||
|
RestClientFlag.ResolveAlways}
|
||||||
socketFlags = {SocketFlags.TcpNoDelay}
|
socketFlags = {SocketFlags.TcpNoDelay}
|
||||||
clients =
|
clients =
|
||||||
block:
|
block:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user