Keycloak commits the login INSERT with synchronous_commit off, so a crash loses whole sessions and not just refresh timestamps. Measured 4 of 153 lost, matching the default wal_writer_delay window. Two injections failed silently first: --grace-period=0 --force lets the container runtime send SIGTERM so PostgreSQL flushes and shuts down cleanly, and SIGKILL to PID 1 from inside its own namespace is ignored by the kernel. Killing a backend makes the postmaster reinitialize, which is a real crash recovery. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
18 lines
1.3 KiB
Plaintext
18 lines
1.3 KiB
Plaintext
=== 로그인 루프 시작 ===
|
|
8초 후: 112 건
|
|
|
|
=== 백엔드 프로세스에 SIGKILL → postmaster 가 재초기화한다 ===
|
|
시각: 12:04:22.063
|
|
최종 성공 로그인: 153 건
|
|
|
|
=== [검증] crash recovery 가 돌았는가 ===
|
|
2026-09-04 02:59:48.427 UTC [1] LOG: database system is ready to accept connections
|
|
2026-09-04 03:02:35.807 UTC [1] LOG: server process (PID 40) was terminated by signal 9: Killed
|
|
2026-09-04 03:02:35.807 UTC [1] LOG: terminating any other active server processes
|
|
2026-09-04 03:02:35.814 UTC [1] LOG: all server processes terminated; reinitializing
|
|
2026-09-04 03:02:35.896 UTC [2585] LOG: database system was not properly shut down; automatic recovery in progress
|
|
2026-09-04 03:02:35.899 UTC [2585] LOG: redo starts at 0/23CAB68
|
|
2026-09-04 03:02:35.904 UTC [2585] LOG: redo done at 0/2529E40 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
|
|
2026-09-04 03:02:35.923 UTC [2586] LOG: checkpoint complete: wrote 113 buffers (0.7%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.004 s, sync=0.004 s, total=0.015 s; sync files=27, longest=0.003 s, average=0.001 s; distance=1405 kB, estimate=1405 kB; lsn=0/252A048, redo lsn=0/252A048
|
|
2026-09-04 03:02:35.926 UTC [1] LOG: database system is ready to accept connections
|