Skip to content

v1.1.1: improved db and node communication issues recovery

Compare
Choose a tag to compare
@RKlompUU RKlompUU released this 22 Feb 12:25
· 116 commits to main since this release

A few new features for increased que pasa resilience to node and database communication issues:

  • Added application of a db pool library (r2d2), for managing retry on temporary connection issues logic.
  • Added possibility to specify multiple node urls, the first one being primary, the subsequent ones being fallback nodes in case of non-recoverable issues with the primary node.
  • Added curl code 56 to the list of transient node communication errors.
  • Don't retry empty body responses, because this does not necessarily mean it's a temporary issue with the node. It can also be due to an incorrect specified contract address, which will never succeed. Instead, replaced this with checking the http status code, and retrying when it is a rate limit issue (http code 429)

Unfortunately, adding r2d2 mend that we lost the capability of connecting to the database with --ssl natively. As a replacement we've added a little script in script/ that applies stunnel. If ssl is required to connect to the database, this script should be called now which will setup an ssl tunnel. Then que pasa can simply target the local end of this tunnel without ssl.