1. Always start repliction from the begging of WAL segment (to be able to skip missed segments)

2. Do not materialize always last version of objects in GC (only when needed)
3. Fix history test
4. Fix CPU consumption in wal_keeper when connection is broken
5. Fix handling of --recall parameter in walkeeper
This commit is contained in:
Konstantin Knizhnik
2021-06-11 15:49:38 +03:00
parent 04e1ee5ce3
commit 87fce3fcd5
8 changed files with 40 additions and 37 deletions

View File

@@ -97,10 +97,12 @@ impl WalStreamDecoder {
let hdr = XLogLongPageHeaderData::from_bytes(&mut self.inputbuf);
if hdr.std.xlp_pageaddr != self.lsn.0 {
return Err(WalDecodeError {
msg: "invalid xlog segment header".into(),
lsn: self.lsn,
});
info!(
"Receive page with LSN {} instead of expected {}",
Lsn(hdr.std.xlp_pageaddr),
self.lsn
);
self.lsn = Lsn(hdr.std.xlp_pageaddr);
}
// TODO: verify the remaining fields in the header