A transaction may go unconfirmed indefinitely.
The order through which transactions are confirmed is set by miners, and usually they are going to be incentivized to incorporate solely the best fee-rate transactions, to maximise their income.
Even a low fee-rate transaction might ultimately affirm, as soon as the mempool clears out. However there isn’t a assure of this, if the mempool is full for an prolonged time frame, many nodes might drop the bottom fee-rate transactions from their mempool, to release reminiscence assets (in any other case, you may DoS assault the community by publishing infinite low-feerate transactions).
In the end, when you publish a transaction to the community, you can’t be sure if or when it is going to be confirmed, till it’s. By paying a excessive fee-rate, you possibly can assist improve the possibilities you will notice a fast affirmation. Alternatively, a low fee-rate transaction might by no means be confirmed, as ultimately all nodes might ‘overlook’ about it.
You probably have been ready a very long time for a transaction to be confirmed, you may publish a brand new transaction that spends the identical output, however with the next payment. You could have to drive your pockets to overlook the previous transaction so that it’ll craft a brand new one (eg bitcoin-cli abandontransaction "txid"
when utilizing bitcoin-core), however not all wallets will embody this performance.