# 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';
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.oraclelabs.link/technical/chainlink-node-logs/directrequest.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
