The addition of pgbouncer or similar would be an application-independent socket pool as it would sit between the app and postgres. A pgbouncer solution would solve for availability on all apps (metabase, airflow, fider, etc)
Notes from backlog grooming on September 22 2020:
+There is a low probability but high effect if the patroni leader gets demoted currently as the CIIP applicatoin won't detect/connect to a new leader until the graphile worker (relates to email) complains. This results in application unavailability and could potentially (but not probably) result in a few seconds of data loss due to users being impeded from inputting data.
Currently, the only way a leader gets demoted is when a pod gets killed, closing the connection.
+The CIIP application doesn't switch leaders cleanly and can get stuck on the wrong patroni.
+The above risk re: patroni could be resolved by the use of operators. It remains unclear whether operators will be used in OCP 4.x
The addition of pgbouncer or similar would be an application-independent socket pool as it would sit between the app and postgres. A pgbouncer solution would solve for availability on all apps (metabase, airflow, fider, etc)
Notes from backlog grooming on September 22 2020: +There is a low probability but high effect if the patroni leader gets demoted currently as the CIIP applicatoin won't detect/connect to a new leader until the graphile worker (relates to email) complains. This results in application unavailability and could potentially (but not probably) result in a few seconds of data loss due to users being impeded from inputting data.
+The CIIP application doesn't switch leaders cleanly and can get stuck on the wrong patroni.
+The above risk re: patroni could be resolved by the use of operators. It remains unclear whether operators will be used in OCP 4.x