I'm on 9.1.2 and occasionally get what are probably harmless warning messages in my logs, but because I have the responbility of ensuring we haven't lost a bit of data between our master and standby, I feel I should know exactly what they mean. I occasionally see "invalid record length" and "record with zero length" in my logs, and they almost only occur during reboots (the "consistent recovery state reached" message gives me the warm-fuzzy, but then when they're followed by either of those two, it leaves me wondering). For example, I had to reboot my hot standby twice yesterday:
2012-03-16 10:23:28 CDT LOG: received smart shutdown request 2012-03-16 10:23:28 CDT FATAL: terminating walreceiver process due to administrator command 2012-03-16 10:27:33 CDT LOG: database system was interrupted while in recovery at log time 2012-03-16 10:14:15 CDT 2012-03-16 10:27:33 CDT HINT: If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target. 2012-03-16 10:27:33 CDT LOG: entering standby mode 2012-03-16 10:27:34 CDT LOG: redo starts at 9/B98D6968 2012-03-16 10:27:34 CDT LOG: consistent recovery state reached at 9/B9F171B0 2012-03-16 10:27:34 CDT LOG: database system is ready to accept read only connections 2012-03-16 10:27:34 CDT LOG: invalid record length at 9/B9F85E78 2012-03-16 10:27:34 CDT LOG: streaming replication successfully connected to primary 2012-03-16 10:28:07 CDT LOG: received smart shutdown request 2012-03-16 10:28:07 CDT FATAL: terminating walreceiver process due to administrator command 2012-03-16 10:28:07 CDT LOG: shutting down 2012-03-16 10:47:00 CDT LOG: database system was interrupted while in recovery at log time 2012-03-16 10:14:15 CDT 2012-03-16 10:47:00 CDT HINT: If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target. 2012-03-16 10:47:00 CDT LOG: entering standby mode 2012-03-16 10:47:01 CDT LOG: redo starts at 9/B98D6968 2012-03-16 10:47:02 CDT LOG: consistent recovery state reached at 9/BA2D3490 2012-03-16 10:47:02 CDT LOG: database system is ready to accept read only connections 2012-03-16 10:47:02 CDT LOG: invalid record length at 9/BA2D3490 2012-03-16 10:47:02 CDT LOG: streaming replication successfully connected to primaryIs this something I should be concerned about (and even if not, where can I read about what these mean in detail)?
Also, is there maybe a more elegant shutdown I can use in my Linux shutdown scripts?
P.S. I have searched the forums and the docs several times, so I apologize if I missed the answer/tutorial on this somewhere.
Thanks,
Eric Simon
View this message in context: Warnings in Standby Logs
Sent from the PostgreSQL - admin mailing list archive at Nabble.com.