You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we have no way of handling timeouts for a given transaction. This causes that if a transaction is submitted to a blockchain is never included in a block, then the workflow will be stucked undefinetly, never throwing a timeout error.
This causes the following issues:
The workflow stucked will keep a wallet busy and never release it, making one of the wallets in the pool unusable
The workflow stucked doesn't throw an error, and thus is harder to have visibility over the problem
If the pod is restarted while this long living transaction is open, it will cause make the wallet un-usable because of the stucked pending transaction
The proposed solution is that it would be better to have an error than a stucked transaction. If we make the transaction throw an error, then we'll have this benefits:
The workflow queue and the wallet will be unlocked
The failed transaction can be retried automatically with a new gas configuration
If the transaction has been retried enough times, the error will trigger an alert for someone to solve the issue manually
A transaction can be cancelled by sending an empty transaction (value = 0) to the same rpc node, using a higher gas price.
In some ocassions this mechanism could lead to complex situations, so it's important to keep this feature behind a feature flag
The text was updated successfully, but these errors were encountered:
Currently we have no way of handling timeouts for a given transaction. This causes that if a transaction is submitted to a blockchain is never included in a block, then the workflow will be stucked undefinetly, never throwing a timeout error.
This causes the following issues:
The proposed solution is that it would be better to have an error than a stucked transaction. If we make the transaction throw an error, then we'll have this benefits:
A transaction can be cancelled by sending an empty transaction (value = 0) to the same rpc node, using a higher gas price.
In some ocassions this mechanism could lead to complex situations, so it's important to keep this feature behind a feature flag
The text was updated successfully, but these errors were encountered: