hedera-hashgraphhashgraph

Problem submitting request to node, retry with new node: BUSY


I am calling a function from a smart contract:

ContractCallQuery query = new ContractCallQuery()
                    .setContractId(ContractId.fromString(request.getContractID()))
                    .setGas(100_000_000)
                    .setFunction(request.getContractFunctionName(), contractFunctionParameters);

Which results in a BUSY response (timing out at attempt 47):

web - 2023-01-30 22:53:28,795 [Test worker] WARN  c.h.h.sdk.Query$QueryCostQuery - Problem submitting request to node 0.0.3 for attempt #43, retry with new node: BUSY
web - 2023-01-30 22:53:28,936 [Test worker] WARN  c.h.h.sdk.Query$QueryCostQuery - Retrying node 0.0.6 in 8000 ms after failure during attempt #44: BUSY
web - 2023-01-30 22:53:37,032 [Test worker] WARN  c.h.h.sdk.Query$QueryCostQuery - Problem submitting request to node 0.0.5 for attempt #45, retry with new node: BUSY
web - 2023-01-30 22:53:37,182 [Test worker] WARN  c.h.h.sdk.Query$QueryCostQuery - Problem submitting request to node 0.0.3 for attempt #46, retry with new node: BUSY
web - 2023-01-30 22:53:37,321 [Test worker] WARN  c.h.h.sdk.Query$QueryCostQuery - Retrying node 0.0.6 in 8000 ms after failure during attempt #47: BUSY
java.util.concurrent.TimeoutException

This used to work and I havent chaged any code. How do I resolve this?


Solution

  • The BUSY error happens when the network gets congested with other users and the throttle has reached its limit. You'll have to wait until the network is no longer congested to complete any transactions.

    If you are on testnet consider running a local instance to continue testing. Its highly encouraged to use a local node for development.

    Here is a tutorial on how to set up your own local node. https://hedera.com/blog/how-to-set-up-your-own-hedera-local-network-using-docker