v1.1.1: improved db and node communication issues recovery
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.