Standby recovery is done like that: 1. try restore 0000000F00000A27000000E5 2. unable to find 0000000F00000A27000000E5 in the archive 3. try restore 0000000E00000A27000000E5 4. found 0000000E00000A27000000E5 in the archive -- trying next WAL for BOTH timelines 1. try restore 0000000F00000A27000000E6 2. unable to find 0000000F00000A27000000E6 in the archive 3. try restore 0000000E00000A27000000E6 4. found 0000000E00000A27000000E6 in the archive
Why does Postgres restore WALs not in a timelines order? First 13, then 14, then 15. Up to timeline switch position. WALs it try to restore for the latest timeline are deliberately not yet exist. It leads to terrible recovery performance because of long "unable to find" operations.