fix: 10분 중단 즉시 복구와 대기 중 토너먼트 참가 허용
This commit is contained in:
@@ -44,9 +44,18 @@ From 2026-09-07, maintenance and crash recovery use the following
|
||||
`RECOVER_TURNS` policy. The base turn length does not change. One turn remains
|
||||
36,000,000 ticks; a persisted `TurnRecoveryWindow` changes only wall execution.
|
||||
|
||||
- An entire delay strictly below `min(600 seconds, turnSeconds / 10)` catches
|
||||
up immediately through the ordinary engine. Equality uses recovery. The
|
||||
limit is 30 seconds on a 5-minute server and 6 minutes on a 60-minute server.
|
||||
- From 2026-09-15, an entire delay up to and including 600 seconds catches
|
||||
up immediately through the ordinary engine, independently of the server's
|
||||
turn length. This accommodates host updates that pause and resume a VM.
|
||||
Pending turns are executed in order with the ordinary per-run budget and
|
||||
month boundary cap; they are not marked complete or skipped. The lease still
|
||||
expires after 30 seconds and a fresh owner must fence the old process and
|
||||
reload durable state before catching up. Operator pauses remain pauses.
|
||||
- During the persisted wait before 2x recovery, tournament participation is
|
||||
allowed when the phase is `RUNNING`, the daemon lease is ready, and DB/Redis
|
||||
revision and deadline generation agree. Registration stage, capacity,
|
||||
duplicate entry, fee and ENGINE transaction checks still apply. Tournament
|
||||
stage advancement and settlement continue to require a ticking clock.
|
||||
- For longer delays, skip only complete 12-turn blocks, moving future
|
||||
schedules and the execution cursor by the same integer delta. Never apply
|
||||
the short-delay exception again to the remainder. An exact multiple of
|
||||
|
||||
@@ -336,6 +336,11 @@ PM2가 새 owner/epoch와 DB snapshot으로 재시작합니다. lease 오류만
|
||||
않습니다. 이전 버전에서 이미 lease 오류로 PAUSED가 된 서버는 원인을 확인한 뒤
|
||||
한 번 `START`/재개해야 합니다.
|
||||
|
||||
Host 업데이트 등으로 VM이 최대 10분 중단되면 새 runtime은 밀린 턴을 기존 엔진의
|
||||
순서·batch budget으로 즉시 따라잡습니다(정확히 10분 포함). 10분 초과는 기존의
|
||||
12턴 묶음 이동 및 대기 후 2배속 복구 정책을 사용합니다. 이미 저장한 복구 창과
|
||||
운영자의 PAUSED/STOPPED는 변경하지 않습니다.
|
||||
|
||||
30초 lease와 이전 owner의 fencing은 유지합니다. transaction의 만료 검사는 시작에
|
||||
고정된 `CURRENT_TIMESTAMP`가 아닌 검사 순간의 `clock_timestamp()`를 사용합니다.
|
||||
역방향 시계 보정으로 기존 lease가 아직 유효하면 startup은 2초 간격으로 기다리며
|
||||
|
||||
Reference in New Issue
Block a user