Re: BUG #17355: Server crashes on ExecReScanForeignScan in postgres_fdw when accessing foreign partition
Alexander Law <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: Etsuro Fujita <etsuro.fujita@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2022-02-01T04:00:00Z
Lists: pgsql-bugs
Hello Etsuro-san,
30.01.2022 13:59, Etsuro Fujita wrote:
>> (Besides that I've observed an infinite waiting for ShareLock with
>> step "s1i" { INSERT INTO pt VALUES (2000); }
>> This doesn't happen with a regular (not foreign) table.)
> You mean the lock wait occurs on the remote side, not on the local
> side? If so, I think that that is expected behavior because a write
> conflict occurs on the remote side in that case. Maybe I don’t fully
> understand your words, so could you elaborate a bit more on your
> observation?
Yes, you are right, that was expected behavior. I didn't realize that
the isolationtester itself resolves blocking when the target table is local.
The isolationtester controls the step execution using
pg_isolation_test_session_is_blocked(), but when the target table is
foreign, it can not determine correctly whether one step blocking other
(cause it checks local, not remote session pids) and just hangs.
Sorry for the noise.
Best regards,
Alexander
Commits
-
Further fix for EvalPlanQual with mix of local and foreign partitions.
- 7b0cec2fa05a 14.2 landed
- f862d57057fd 15.0 landed
-
Fix segfault during EvalPlanQual with mix of local and foreign partitions.
- c3928b467a4f 15.0 cited
-
Rework planning and execution of UPDATE and DELETE.
- 86dc90056dfd 14.0 cited