smartcontractkit / smartcontractkit/chainlink
Bridge task throws an error HTTP request timed out or interrupted
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 8.2k
- Forks
- 2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 202
Description
Description
[Bridge task throws an error HTTP request timed out or interrupted
Basic Information
The Bridge task throws the error whenever the external adapter takes too long for a response
- Network: [sepolia]
- Operating System: [Windows 11]
- Hosting Provider: [self-hosted]
- Startup Command: [docker compose up]
Steps to Reproduce
Run your own chainlink node and create a job with fetch [type=bridge name=<your bridge name>] in your toml file. If the external adapter is taking too long for a response, let's say 15 sec, error will be reproduced.
Additional Information
Here is my toml file for job Id --
type = "directrequest"
schemaVersion = 1
name = "player-bridge"
maxTaskDuration = "0s"
contractAddress = "0x2b6aC48A4e87F2683A0b537E2F1D47e9A864d63d"
minContractPaymentLinkJuels = "0"
observationSource = """
decode_log [type=ethabidecodelog
abi="OracleRequest(bytes32 indexed specId, address requester, bytes32 requestId, uint256 payment, address callbackAddr, bytes4 callbackFunctionId, uint256 cancelExpiration, uint256 dataVersion, bytes data)"
data="$(jobRun.logData)"
topics="$(jobRun.logTopics)"]
decode_cbor [type=cborparse data="$(decode_log.data)"]
fetch [type=bridge name="ea-id-bridge"]
parse [type=jsonparse path="data" data="$(fetch)"]
encode_data [type=ethabiencode abi="(bytes32 requestId,bytes _score)" data="{\\"requestId\\": $(decode_log.requestId),\\"_score\\": $(parse) }"]
encode_tx [type=ethabiencode
abi="fulfillOracleRequest2(bytes32 requestId, uint256 payment, address callbackAddress, bytes4 callbackFunctionId, uint256 expiration, bytes calldata data)"
data="{\\"requestId\\": $(decode_log.requestId), \\"payment\\": $(decode_log.payment), \\"callbackAddress\\": $(decode_log.callbackAddr), \\"callbackFunctionId\\": $(decode_log.callbackFunctionId), \\"expiration\\": $(decode_log.cancelExpiration), \\"data\\": $(encode_data)}"]
submit_tx [type=ethtx to="0x2b6aC48A4e87F2683A0b537E2F1D47e9A864d63d" data="$(encode_tx)"]
decode_log -> decode_cbor -> fetch -> parse -> encode_data -> encode_tx -> submit_tx
"""
Note: This job works perfectly if the response comes immediately.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Bridge task and its external-adapter request path, then reproduce the failure using the supplied job TOML and an adapter delayed by about 15 seconds. Trace how the timeout or interruption is handled and define completion as consistent behavior for delayed responses without the reported error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100