smartcontractkit / chainlink

node of the decentralized oracle network, bridging on and off-chain computation
https://chain.link
Other
7.02k stars 1.71k forks source link

[NODE] <Suspended Jobs> #7289

Open jonahkaye opened 2 years ago

jonahkaye commented 2 years ago

Description I am operating a chainlink node and running custom jobs, which execute properly and return values to chain, but say Suspended as their status even after returning to chain.

Basic Information [replace this line with basic information about the issue you are experiencing, including but not limited to all relevant logs and any other relevant information, such as if you are using a Docker container to run the node, job specification, oracle contract address, transaction IDs, etc.]

Environment Variables [replace this line with the output of the environment variables when running the node in debug mode]

Steps to Reproduce Make calls to chainlink node using this Job toml: type = "directrequest" schemaVersion = 1 name = "validate_full_stack_operator" externalJobID = "64ba2123-3039-4d38-bad4-02b48eeb6dfa" maxTaskDuration = "0s" contractAddress = "0xF1a252307Ff9F3fbB9598c9a181385122948b8Ae" evmChainID = "5" 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)"] ds [type="http" method=POST url="https://399d-195-250-172-101.eu.ngrok.io/val" requestData="{\"job_run_id\": $(jobSpec.externalJobID), \"data\": {\"block_num\": $(decode_cbor.block_num), \"offer_id\": $(decode_cbor.offer_id)}}" allowUnrestrictedNetworkAccess=true ] parse [type=jsonparse path="data,success_count" data="$(ds)"] encode_data [type="ethabiencode" abi="(bytes32 requestId, uint256 _verification)" data="{ \"requestId\": $(decode_log.requestId), \"_verification\": $(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="0xF1a252307Ff9F3fbB9598c9a181385122948b8Ae" data="$(encode_tx)"] decode_log -> decode_cbor -> ds -> parse -> encode_data -> encode_tx -> submit_tx """

andrejrakic commented 2 years ago

Hey @jonahkaye, thanks for raising this issue! Have you set up MinRequiredOutgoingConfirmations, and if yes to which value? Thanks

jonahkaye commented 2 years ago

Hi @andrejrakic. In my .env I have MIN_OUTGOING_CONFIRMATIONS=1. Is that what you are referring to?

andrejrakic commented 2 years ago

@jonahkaye , I was referring to MinRequiredOutgoingConfirmations parameter which is the number of block confirmations before marking it as complete. Since you haven't set it up, the default value is 50, that's what I wanted to check. The Team is tracking this issue, we will keep you posted.

jjhesk commented 2 years ago

I have the same issue as well. MinRequiredOutgoingConfirmations is also set.

pinebit commented 2 years ago

We need additional info to be provided:

  1. The complete set of env variables being used.
  2. Do you see the suspended state forever? Did it turn to Complete state after some minutes/hours? After a node restart? Thank you!