DirectRequest

The following log messages are related to the direct request model, which is commonly used in combination with an on-chain oracle or operator contract that the Chainlink node observes for emitted event logs.

[ERROR] DirectRequest: OracleRequest log mailbox is over capacity - dropped the oldest log

If a consumer sends a Chainlink request to an oracle or operator contract an event log is emitted containing a job ID and other request parameters. The Chainlink node picks up the log and initiates a job run if the job ID is matching one of those in its database. This error message indicates that there is a high amount of requests and the Chainlink node is not able to process all related logs which could lead to missed job runs.

  • Decrease the direct request frequency for this particular Chainlink node

  • Do not list your node details publicly if you want to avoid an unpredictable amount of requests

  • Use the following database commands to whitelist requesters for a single job (always backup your node and database before you manually change anything in the database!)

SELECT * FROM initiators; 
UPDATE initiators SET requesters='$ADDRESS' WHERE job_spec_Id='$JOB_ID'; 
  • Use the following database commands to whitelist requesters for all RunLog jobs

UPDATE initiators SET requesters='$ADDRESS1,$ADDRESS2,$ADDRESS3' WHERE type ='runlog';

[ERROR] DirectRequest: failed executing run

The Chainlink node checks if the request was sent by a valid requester and if the payment is sufficient to initiate a job run.

  • Check the MINIMUM_CONTRACT_PAYMENT_LINK_JUELS setting of the Chainlink node or relevant job

  • Use the following database commands to whitelist requesters for a single job (always backup your node and database before you manually change anything in the database!)

SELECT * FROM initiators; 
UPDATE initiators SET requesters='$ADDRESS' WHERE job_spec_Id='$JOB_ID'; 
  • Use the following database commands to whitelist requesters for all RunLog jobs

UPDATE initiators SET requesters='$ADDRESS1,$ADDRESS2,$ADDRESS3' WHERE type ='runlog';

Last updated