On Thu, Jun 26, 2025 at 09:40:05AM +0000, Hayato Kuroda (Fujitsu) wrote: > I've spent time how we use the injection point to cause the same situation, > which > generates the OVERWRITE_CONTRECORD in-between the page, but it seems > difficult.
Hmm. I was wondering first about detecting a OVERWRITE_CONTRECORD while looping in the loop of XLogDecodeNextRecord() with a IS_INJECTION_POINT_ATTACHED(), then do a wait. But this method means that the injection point is linked to the fix we are trying to bundle here because it would need to be placed between the two ReadPageInternal() as we need to read the header first. Usually I try to place points so as they are generic enough, but that's a vague philosophy. > So... I have no idea to create deterministic reproducers, it is OK for me to > use > 046 test for the purpose. Let's reuse 046 and call it a day. It would not be the first reproducer that fails on timeout if a problem arises. The important fact is to be informed about the failure, while keeping tests fast in the "normal" cases. We have a few tests like that already in the tree, where a timeout is the best thing we can rely on when the code fails its test. -- Michael
signature.asc
Description: PGP signature