mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-11 07:22:55 +00:00
Fix division by zero in WAL removal.
This commit is contained in:
@@ -938,9 +938,7 @@ where
|
||||
),
|
||||
self.state.s3_wal_lsn,
|
||||
);
|
||||
let res = horizon_lsn.segment_number(self.state.server.wal_seg_size as usize);
|
||||
info!("horizon is {}, res {}", horizon_lsn, res);
|
||||
res
|
||||
horizon_lsn.segment_number(self.state.server.wal_seg_size as usize)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -469,6 +469,10 @@ impl Timeline {
|
||||
let remover: Box<dyn Fn(u64) -> Result<(), anyhow::Error>>;
|
||||
{
|
||||
let shared_state = self.mutex.lock().unwrap();
|
||||
// WAL seg size not initialized yet, no WAL exists.
|
||||
if shared_state.sk.state.server.wal_seg_size == 0 {
|
||||
return Ok(());
|
||||
}
|
||||
horizon_segno = shared_state.sk.get_horizon_segno();
|
||||
remover = shared_state.sk.wal_store.remove_up_to();
|
||||
if horizon_segno <= 1 || horizon_segno <= shared_state.last_removed_segno {
|
||||
|
||||
Reference in New Issue
Block a user