Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Cannot increase the gasPrice of a pending transaction: "There are too many transactions in the queue..." #10636

Open
palkeo opened this issue May 8, 2019 · 11 comments
Labels
F2-bug 🐞 The client fails to follow expected behavior. M4-core ⛓ Core client code / Rust. M6-rpcapi 📣 RPC API.

Comments

@palkeo
Copy link

palkeo commented May 8, 2019

Hi,

  • Parity Ethereum version: 2.4.5
  • Operating system: Linux
  • Installation: docker
  • Fully synchronized: yes
  • Network: ethereum

If I send a first transaction with nonce A. Then I send another transaction with the same nonce A, and a higher gasPrice, and Parity gives me this error:
There are too many transactions in the queue. Your transaction was dropped due to limit. Try increasing the fee.

Note that I tried with a fee twice as big as the first transaction. I know this wouldn't work if the gasPrice is not at least 12.5% higher than the old transaction.

If I inspect the local transactions, I get this:

    "A": {
      "status": "mined",
      "transaction": {
        ...
        "gasPrice": "0x2c4d6f535",
        "hash": "A",
        "nonce": "0xad0",
        ...
      },
    "B": {
      "error": "[B] too cheap to enter the pool. Min score: 0xb2d05e00",
      "status": "rejected",
      "transaction": {
        ...
        "gasPrice": "0x7850fb48e",
        "hash": "B",
        "nonce": "0xad0",
        ...
      }
    }

My understanding in that the "score" is the gas price? Here it clearly says "too cheap to enter the pool" even if my gasPrice is actually above the min score it shows.
Plus, this is a local transaction so it should get included anyway, from my understanding.

Note that no other transactions were sent previously from my node. So it's impossible that I'm sending too much transactions somehow.

Also note that the second transaction, B, was sent a few seconds after A, so at that time A was not yet mined and B should have been able to replace it.

@palkeo palkeo changed the title Cannot increase the gasPrice of a pending transaction: "There are too many transactions in the queue. Your transaction was dropped due to limit. Try increasing the fee." Cannot increase the gasPrice of a pending transaction: "There are too many transactions in the queue..." May 8, 2019
@jam10o-new jam10o-new added the Z1-question 🙋‍♀️ Issue is a question. Closer should answer. label May 8, 2019
@jam10o-new
Copy link
Contributor

jam10o-new commented May 8, 2019

Score is not equivalent to gasPrice (but gasPrice is used to calculate score, along with where the transaction came from, ie txpool or rpc, and the sender). In this case, you're likely trying to replace a transaction with another one, but not increasing the gasPrice enough for the replacement to be plausibly successful.

@jam10o-new jam10o-new added this to the 2.6 milestone May 8, 2019
@palkeo
Copy link
Author

palkeo commented May 9, 2019

Ok for the score, if you have an explanation of how it's computed I'm interested.

As for the problem, the doc says it can be replaced if the fee increase by >12.5%. As I said I tried doubling the tx fee, and it's still not enough. In my example with the local transaction, I also increase it by more than that. That's why it doesn't seem consistent to me.

@ordian ordian modified the milestones: 2.6, 2.7 Jul 12, 2019
@devilrayzl
Copy link

Same problem and I tried to increase gasPrice to 30GWEI, it still not work.

@jam10o-new
Copy link
Contributor

@devilrayzl can you share what version you are running? We've had a few fixes that may have addressed this (which should be available in the latest stable branch)

@devilrayzl
Copy link

Sure.
version Parity-Ethereum/v2.5.7-stable-6bd7db9-20190829/x86_64-linux-gnu/rustc1.36.0

@jam10o-new jam10o-new added F2-bug 🐞 The client fails to follow expected behavior. M4-core ⛓ Core client code / Rust. M6-rpcapi 📣 RPC API. and removed Z1-question 🙋‍♀️ Issue is a question. Closer should answer. labels Sep 2, 2019
@gituser
Copy link

gituser commented Sep 18, 2019

I have this issue as well. Why it's not fixed yet?

Happens on the parity-v2.5.7-stable-6bd7db9-20190829 when you try to send transaction with previously used nonce (e.g. nonce: 0x0) parity errors out:

There are too many transactions in the queue. Your transaction was dropped due to limit. Try increasing the fee.
    at web3.js:3119:20
    at web3.js:6023:15
    at web3.js:4995:36
    at <anonymous>:1:1

@jam10o-new
Copy link
Contributor

Thanks for the report, the additional specificity you've provided may help.

@garywu921207
Copy link

I have this issue as well. but i don't know is it a bug or i send the transaction wrong?

@dvdplm
Copy link
Collaborator

dvdplm commented Sep 27, 2019

We recently merged #11086 which could be related to this. It is not in any of the releases yet, but if anyone here has the time to compile from master it would be good to see if the issue is solved.

@gituser
Copy link

gituser commented Sep 28, 2019

@dvdplm parity also errors out with this when trying to replace existing transaction with nonce: 0x0 (happens on the latest stable parity-v2.5.9-stable:

Transaction nonce is too low. Try incrementing the nonce.
    at web3.js:3119:20
    at web3.js:6023:15
    at web3.js:4995:36
    at <anonymous>:1:1

Didn't test this pull request though.

@or2008
Copy link

or2008 commented Jul 2, 2020

have the same issue on version 3.0.1.. any updates?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F2-bug 🐞 The client fails to follow expected behavior. M4-core ⛓ Core client code / Rust. M6-rpcapi 📣 RPC API.
Projects
None yet
Development

No branches or pull requests

8 participants