Hi,
On 2025-04-06 23:00:00 +0300, Alexander Lakhin wrote:
> 02.04.2025 14:58, Andres Freund wrote:
> When running multiple installcheck's against a single server (please find
> the ready-to-use script attached (I use more sophisticated version with
> additional patches to make installcheck pass cleanly, but that's not
> required for this case)), I've encountered an interesting error related to
> AIO/uring:
> iteration 8: Sun Apr 6 19:22:39 UTC 2025
> installchecks finished: Sun Apr 6 19:23:47 UTC 2025
> 2025-04-06 19:22:44.216 UTC [349525] LOG: could not read blocks 0..0 in file "base/6179194/2606": Operation
canceled
> 2025-04-06 19:22:44.216 UTC [349525] ERROR: could not read blocks 0..0 in file "base/6179194/2606": Operation
canceled
Thanks for the report, clearly something isn't right.
> It's reproduced better on tmpfs for me; probably you would need to increase
> NUM_INSTALLCHECKS/NUM_ITERATIONS for your machine.
I ran it for a while in a VM, it hasn't triggered yet. Neither on xfs nor on
tmpfs.
> server.log contains:
> 2025-04-06 19:22:44.215 UTC [38231] LOG: checkpoint complete: wrote ...
> 2025-04-06 19:22:44.216 UTC [38231] LOG: checkpoint starting: immediate force wait flush-all
> 2025-04-06 19:22:44.216 UTC [349525] LOG: could not read blocks 0..0 in file "base/6179194/2606": Operation
canceled
> 2025-04-06 19:22:44.216 UTC [349525] STATEMENT: alter table parted_copytest
> attach partition parted_copytest_a1 for values in(1);
> 2025-04-06 19:22:44.216 UTC [349525] ERROR: could not read blocks 0..0 in file "base/6179194/2606": Operation
canceled
> 2025-04-06 19:22:44.216 UTC [349525] STATEMENT: alter table parted_copytest
> attach partition parted_copytest_a1 for values in(1);
Hm. Does the failure vary between occurrences?
- is it always the same statement? Probably not?
- is it always 2606 (i.e. pg_constraint)?
- does the failure always happen around a checkpoint? If so, is it always
immediate?
- I do assume it's always ECANCELED?
> I can reduce the testing procedure to something trivial, if it makes sense
> for you. Probably, the same effect can be also achieved with just pgbench...
That'd be very helpful!
Greetings,
Andres Freund