truecharts / public

Community Helm Chart Repository
https://truecharts.org
GNU Affero General Public License v3.0
1.14k stars 619 forks source link

Outline: some issue with db connection #17048

Closed malinah closed 6 months ago

malinah commented 9 months ago

App Name

Outline

Operating System

TrueNAS SCALE 23.10.1

App Version

0.74.0 11.1.8

Application Events

2024-01-08 18:15:21
Container image "outlinewiki/outline:0.74.0@sha256:f630dfbf53ce61c0742052571cef6938a755f04c9001b51785621be9cb7e5581" already present on machine
2024-01-08 16:46:16
Back-off restarting failed container outline in pod outline-6cb96f6974-b5q98_ix-outline(c0043495-d3c3-40b5-a223-f576db91c7a0)

Application Logs

outline-cnpg-main-pooler-rw-768d84474c-7vp6r
Defaulted container "pgbouncer" out of: pgbouncer, bootstrap-controller (init)
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.688 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: pgbouncer/pgbouncer@unix(1):5432 login attempt: db=pgbouncer user=pgbouncer tls=no"}}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"Missing metric","query":"SHOW LISTS","metric":"peers"}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"Missing metric","query":"SHOW LISTS","metric":"peer_pools"}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.689 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: pgbouncer/pgbouncer@unix(1):5432 closing because: client close request (age=0s)"}}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.689 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: (nodb)/pgbouncer@unix(1):5432 pgbouncer access from unix socket"}}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.689 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: pgbouncer/pgbouncer@unix(1):5432 login attempt: db=pgbouncer user=pgbouncer tls=no"}}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.689 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: pgbouncer/pgbouncer@unix(1):5432 closing because: client close request (age=0s)"}}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.689 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: (nodb)/pgbouncer@unix(1):5432 pgbouncer access from unix socket"}}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.689 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: pgbouncer/pgbouncer@unix(1):5432 login attempt: db=pgbouncer user=pgbouncer tls=no"}}
{"level":"info","ts":"2024-01-08T18:15:38Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:38.690 UTC","pid":"20","level":"LOG","msg":"C-0x562527af9a50: pgbouncer/pgbouncer@unix(1):5432 closing because: client close request (age=0s)"}}

outline-cnpg-main-rw-6d8785fbb7-7krrh
Defaulted container "pgbouncer" out of: pgbouncer, bootstrap-controller (init)
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.207 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: pgbouncer/pgbouncer@unix(1):5432 login attempt: db=pgbouncer user=pgbouncer tls=no"}}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"Missing metric","query":"SHOW LISTS","metric":"peers"}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"Missing metric","query":"SHOW LISTS","metric":"peer_pools"}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.207 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: pgbouncer/pgbouncer@unix(1):5432 closing because: client close request (age=0s)"}}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.207 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: (nodb)/pgbouncer@unix(1):5432 pgbouncer access from unix socket"}}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.207 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: pgbouncer/pgbouncer@unix(1):5432 login attempt: db=pgbouncer user=pgbouncer tls=no"}}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.208 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: pgbouncer/pgbouncer@unix(1):5432 closing because: client close request (age=0s)"}}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.208 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: (nodb)/pgbouncer@unix(1):5432 pgbouncer access from unix socket"}}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.208 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: pgbouncer/pgbouncer@unix(1):5432 login attempt: db=pgbouncer user=pgbouncer tls=no"}}
{"level":"info","ts":"2024-01-08T18:15:34Z","msg":"record","pipe":"stderr","record":{"timestamp":"2024-01-08 18:15:34.208 UTC","pid":"20","level":"LOG","msg":"C-0x55c0dabc2f20: pgbouncer/pgbouncer@unix(1):5432 closing because: client close request (age=0s)"}}

outline-redis-0
1:M 08 Jan 2024 15:30:14.193 * 100 changes in 300 seconds. Saving...
1:M 08 Jan 2024 15:30:14.194 * Background saving started by pid 5475
5475:C 08 Jan 2024 15:30:14.277 * DB saved on disk
5475:C 08 Jan 2024 15:30:14.278 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
1:M 08 Jan 2024 15:30:14.294 * Background saving terminated with success
1:M 08 Jan 2024 16:30:15.028 * 1 changes in 3600 seconds. Saving...
1:M 08 Jan 2024 16:30:15.029 * Background saving started by pid 11964
11964:C 08 Jan 2024 16:30:15.060 * DB saved on disk
11964:C 08 Jan 2024 16:30:15.060 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB
1:M 08 Jan 2024 16:30:15.129 * Background saving terminated with success

outline-cnpg-main-1
Defaulted container "postgres" out of: postgres, bootstrap-controller (init)
{"level":"info","ts":"2024-01-08T17:29:57Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:29:57.225 UTC","user_name":"outline","database_name":"outline","process_id":"15393","connection_from":"172.16.7.138:40702","session_id":"659c3115.3c21","session_line_num":"1","command_tag":"authentication","session_start_time":"2024-01-08 17:29:57 UTC","virtual_transaction_id":"5/26062","transaction_id":"0","error_severity":"FATAL","sql_state_code":"28P01","message":"password authentication failed for user \"outline\"","detail":"Connection matched file \"/var/lib/postgresql/data/pgdata/pg_hba.conf\" line 14: \"host all all all scram-sha-256\"","backend_type":"client backend","query_id":"0"}}
{"level":"info","ts":"2024-01-08T17:29:57Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:29:57.228 UTC","user_name":"outline","database_name":"outline","process_id":"15394","connection_from":"172.16.7.138:40714","session_id":"659c3115.3c22","session_line_num":"1","command_tag":"authentication","session_start_time":"2024-01-08 17:29:57 UTC","virtual_transaction_id":"5/26063","transaction_id":"0","error_severity":"FATAL","sql_state_code":"28P01","message":"password authentication failed for user \"outline\"","detail":"Connection matched file \"/var/lib/postgresql/data/pgdata/pg_hba.conf\" line 14: \"host all all all scram-sha-256\"","backend_type":"client backend","query_id":"0"}}
{"level":"info","ts":"2024-01-08T17:29:57Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:29:57.234 UTC","user_name":"outline","database_name":"postgres","process_id":"15395","connection_from":"172.16.7.138:40722","session_id":"659c3115.3c23","session_line_num":"1","command_tag":"authentication","session_start_time":"2024-01-08 17:29:57 UTC","virtual_transaction_id":"5/26064","transaction_id":"0","error_severity":"FATAL","sql_state_code":"28P01","message":"password authentication failed for user \"outline\"","detail":"Connection matched file \"/var/lib/postgresql/data/pgdata/pg_hba.conf\" line 14: \"host all all all scram-sha-256\"","backend_type":"client backend","query_id":"0"}}
{"level":"info","ts":"2024-01-08T17:29:57Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:29:57.237 UTC","user_name":"outline","database_name":"postgres","process_id":"15396","connection_from":"172.16.7.138:40728","session_id":"659c3115.3c24","session_line_num":"1","command_tag":"authentication","session_start_time":"2024-01-08 17:29:57 UTC","virtual_transaction_id":"5/26065","transaction_id":"0","error_severity":"FATAL","sql_state_code":"28P01","message":"password authentication failed for user \"outline\"","detail":"Connection matched file \"/var/lib/postgresql/data/pgdata/pg_hba.conf\" line 14: \"host all all all scram-sha-256\"","backend_type":"client backend","query_id":"0"}}
{"level":"info","ts":"2024-01-08T17:30:12Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:30:12.758 UTC","process_id":"31","session_id":"659c094a.1f","session_line_num":"7","session_start_time":"2024-01-08 14:40:10 UTC","transaction_id":"0","error_severity":"LOG","sql_state_code":"00000","message":"checkpoint starting: time","backend_type":"checkpointer","query_id":"0"}}
{"level":"info","ts":"2024-01-08T17:30:12Z","logger":"wal-archive","msg":"Backup not configured, skip WAL archiving","logging_pod":"outline-cnpg-main-1","walName":"pg_wal/000000010000000000000041","currentPrimary":"outline-cnpg-main-1","targetPrimary":"outline-cnpg-main-1"}
{"level":"info","ts":"2024-01-08T17:30:13Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:30:13.672 UTC","process_id":"31","session_id":"659c094a.1f","session_line_num":"8","session_start_time":"2024-01-08 14:40:10 UTC","transaction_id":"0","error_severity":"LOG","sql_state_code":"00000","message":"checkpoint complete: wrote 6 buffers (0.0%); 0 WAL file(s) added, 0 removed, 2 recycled; write=0.756 s, sync=0.067 s, total=0.914 s; sync files=2, longest=0.037 s, average=0.034 s; distance=16417 kB, estimate=29637 kB; lsn=0/42000060, redo lsn=0/4100A068","backend_type":"checkpointer","query_id":"0"}}
{"level":"info","ts":"2024-01-08T17:35:12Z","logger":"wal-archive","msg":"Backup not configured, skip WAL archiving","logging_pod":"outline-cnpg-main-1","walName":"pg_wal/000000010000000000000042","currentPrimary":"outline-cnpg-main-1","targetPrimary":"outline-cnpg-main-1"}
{"level":"info","ts":"2024-01-08T17:45:08Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:45:08.791 UTC","user_name":"outline","database_name":"outline","process_id":"5351","connection_from":"172.16.7.140:51122","session_id":"659c16b5.14e7","session_line_num":"1","command_tag":"idle","session_start_time":"2024-01-08 15:37:25 UTC","virtual_transaction_id":"4/0","transaction_id":"0","error_severity":"LOG","sql_state_code":"08006","message":"could not receive data from client: Connection reset by peer","backend_type":"client backend","query_id":"0"}}
{"level":"info","ts":"2024-01-08T17:45:08Z","logger":"postgres","msg":"record","logging_pod":"outline-cnpg-main-1","record":{"log_time":"2024-01-08 17:45:08.791 UTC","user_name":"outline","database_name":"outline","process_id":"5530","connection_from":"172.16.7.140:37726","session_id":"659c172d.159a","session_line_num":"1","command_tag":"idle","session_start_time":"2024-01-08 15:39:25 UTC","virtual_transaction_id":"3/0","transaction_id":"0","error_severity":"LOG","sql_state_code":"08006","message":"could not receive data from client: Connection reset by peer","backend_type":"client backend","query_id":"0"}}

outline-6cb96f6974-b5q98
Defaulted container "outline" out of: outline, outline-system-cnpg-wait (init), outline-system-redis-wait (init), outline-init-1-migratedb (init)
The environment variable AWS_S3_UPLOAD_MAX_SIZE is deprecated and will be removed in a future release. Use FILE_STORAGE_UPLOAD_MAX_SIZE instead
(node:32) NOTE: We are formalizing our plans to enter AWS SDK for JavaScript (v2) into maintenance mode in 2023.

Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check the migration guide at https://a.co/7PzMCcy
(Use `node --trace-warnings ...` to show where the warning was created)
{"error":"server login has been failing, try again later (server_login_retry)","level":"error","message":"Failed to connect to database","stack":"SequelizeConnectionError: server login has been failing, try again later (server_login_retry)\n    at Client._connectionCallback (/opt/outline/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:143:24)\n    at Client._handleErrorWhileConnecting (/opt/outline/node_modules/pg/lib/client.js:327:19)\n    at Client._handleErrorMessage (/opt/outline/node_modules/pg/lib/client.js:347:19)\n    at Connection.emit (node:events:514:28)\n    at Connection.emit (node:domain:488:12)\n    at /opt/outline/node_modules/pg/lib/connection.js:117:12\n    at Parser.parse (/opt/outline/node_modules/pg-protocol/dist/parser.js:40:17)\n    at Socket.<anonymous> (/opt/outline/node_modules/pg-protocol/dist/index.js:11:42)\n    at Socket.emit (node:events:514:28)\n    at Socket.emit (node:domain:488:12)\n    at addChunk (node:internal/streams/readable:545:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:495:3)\n    at Readable.push (node:internal/streams/readable:375:5)\n    at TCP.onStreamRead (node:internal/stream_base_commons:190:23)"}
{"label":"lifecycle","level":"info","message":"\nIs your team enjoying Outline? Consider supporting future development by sponsoring the project:\n\nhttps://github.com/sponsors/outline\n"}
{"label":"lifecycle","level":"info","message":"Gracefully quitting"}

Application Configuration

https://discord.com/channels/830763548678291466/1192562154121986098/1192570440850362378

Describe the bug

Outline stops working after undetermined amount of time. Sometimes it's hours, sometime it's days.

The Outline pod log says it cannot connect to the database and keeps re-crashing.

After manual examination I found that in the crashing state it is still possible to connect to the pgsql server, just not through the pgbouncer. Details are provided in the Addition Context section.

This does happen only in Outline chart. Other charts with CNPG work fine.

To Reproduce

Install Outline. Setup OpenID and S3. Create document and wait.

Expected Behavior

Doesn't crash.

Screenshots

-

Additional Context

This is the state the chart got stuck in:

# k3s kubectl get all -n ix-outline
NAME                                               READY   STATUS             RESTARTS         AGE
pod/outline-cnpg-main-pooler-rw-768d84474c-7vp6r   1/1     Running            0                3h30m
pod/outline-cnpg-main-rw-6d8785fbb7-7krrh          1/1     Running            0                3h30m
pod/outline-redis-0                                1/1     Running            0                3h30m
pod/outline-cnpg-main-1                            1/1     Running            0                3h30m
pod/outline-6cb96f6974-b5q98                       0/1     CrashLoopBackOff   33 (3m36s ago)   3h30m

NAME                                  TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)     AGE
service/outline-cnpg-main-r           ClusterIP   172.17.24.72     <none>        5432/TCP    3h31m
service/outline-cnpg-main-ro          ClusterIP   172.17.225.173   <none>        5432/TCP    3h31m
service/outline-redis                 ClusterIP   172.17.129.34    <none>        6379/TCP    3h30m
service/outline                       ClusterIP   172.17.198.19    <none>        10196/TCP   3h30m
service/outline-cnpg-main-pooler-rw   ClusterIP   172.17.187.145   <none>        5432/TCP    3h30m
service/outline-cnpg-main-rw          ClusterIP   172.17.194.185   <none>        5432/TCP    3h31m

NAME                                          READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/outline-cnpg-main-pooler-rw   1/1     1            1           3h30m
deployment.apps/outline-cnpg-main-rw          1/1     1            1           9d
deployment.apps/outline                       0/1     1            0           2d4h

NAME                                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/outline-76c57cfbf8                       0         0         0       3h43m
replicaset.apps/outline-8656596975                       0         0         0       3h35m
replicaset.apps/outline-988d8b865                        0         0         0       3h31m
replicaset.apps/outline-cnpg-main-pooler-rw-768d84474c   1         1         1       3h30m
replicaset.apps/outline-cnpg-main-rw-6d8785fbb7          1         1         1       9d
replicaset.apps/outline-6cb96f6974                       1         1         0       3h30m

NAME                             READY   AGE
statefulset.apps/outline-redis   1/1     2d4h

Chain of IPs for the recommended way to connect to the chart's db: outline-cnpg-main-rw.ix-outline.svc.cluster.local 172.17.194.185 service/outline-cnpg-main-rw ClusterIP 172.17.194.185 <none> 5432/TCP 174m

k3s kubectl describe service/outline-cnpg-main-rw -n ix-outline | grep Endpoints
Endpoints:         172.16.7.144:5432

Connecting with Adminer directly to these pods results:

pod/outline-cnpg-main-pooler-rw-768d84474c-7vp6r    172.16.7.142    server login has been failing, try again later
pod/outline-cnpg-main-rw-6d8785fbb7-7krrh           172.16.7.144    timeout
pod/outline-cnpg-main-1                             172.16.7.143    OK, connected

I've read and agree with the following

PrivatePuffin commented 9 months ago

PGbouncer is not related. Why? Because up until today nothing even uses pgbouncer/pooler yet due to a small design mistake.

malinah commented 9 months ago

Yeah, I know. I reported to your team that the pooler POD might not be in the connection chain.

Nonetheless, when I dug deeper into this issue I found that the POD cnpg-main-rw is running pgbouncer PROCESS as well.

# k3s kubectl get pod -n ix-outline | grep cnpg | cut -f1 -d' ' | while read pod; do echo "\n$pod"; k3s kubectl exec pod/$pod -n ix-outline -- /bin/sh -c 'ls -ald /proc/*/exe' | grep -e /pgbouncer -e /postgres; done

outline-cnpg-main-pooler-rw-768d84474c-7vp6r
Defaulted container "pgbouncer" out of: pgbouncer, bootstrap-controller (init)
lrwxrwxrwx 1 pgbouncer pgbouncer 0 Jan  9 14:37 /proc/20/exe -> /usr/bin/pgbouncer

outline-cnpg-main-rw-6d8785fbb7-7krrh
Defaulted container "pgbouncer" out of: pgbouncer, bootstrap-controller (init)
lrwxrwxrwx 1 pgbouncer pgbouncer 0 Jan  9 14:33 /proc/20/exe -> /usr/bin/pgbouncer

outline-cnpg-main-1
Defaulted container "postgres" out of: postgres, bootstrap-controller (init)
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/28/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/29/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/30/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/31/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/42/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/43/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/44/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:34 /proc/45/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:49 /proc/80924/exe -> /usr/lib/postgresql/16/bin/postgres
lrwxrwxrwx 1 postgres tape 0 Jan  9 14:50 /proc/81385/exe -> /usr/lib/postgresql/16/bin/postgres

Let me reiterate one point again. I tried to connect to each of these pods with Adminer using the same credentials while the Outline was in CrashLoopBackOff state due to database connection error. This is how it went:

pod/outline-cnpg-main-pooler-rw-768d84474c-7vp6r  pgbouncer  server login has been failing, try again later
pod/outline-cnpg-main-rw-6d8785fbb7-7krrh         pgbouncer  timeout
pod/outline-cnpg-main-1                           postgres   OK, connected

And since the database URL outline-cnpg-main-rw.ix-outline.svc.cluster.local points to the cnpg-main-rw SERVICE which points to the cnpg-main-rw POD, as described in the first message of this issue, this makes me believe there really is a pgbouncer PROCESS in the way.

Also the Outline log shows this message login has been failing, try again later which is unique for the pgbouncer I believe. https://github.com/pgbouncer/pgbouncer/blob/master/src/objects.c#L815

Anyway. Im learning about this as I go and I don't really know how to diagnose this better. So any help would be appreciated.

Thanks

PrivatePuffin commented 9 months ago

We've no control over what runs or does not run in any CNPG pod. So it's not worth our time to overdiagnose issues related to them.

PrivatePuffin commented 9 months ago

read your logs. Issue is a simple case of wrong username and password.

malinah commented 9 months ago

read your logs. Issue is a simple case of wrong username and password.

That's a residue of my manual connection testing.

That explanation doesn't match with the pgbouncer error message in Outline logs. It doesn't explain why it's possible to connect directly with Adminer. Nor why would Outline changed db creds at random times and maybe after 10 crash back loops managed to recover.

We've no control over what runs or does not run in any CNPG pod. So it's not worth our time to overdiagnose issues related to them.

Cool.

malinah commented 6 months ago

This no longer seems to be an issue.