Обсуждение: Stmt timeout error can be sent after a CommandComplete
Hi, At the end of a command, disable_statement_timeout is called as the timeout applies to a specific command and a CommandComplete message is sent. However, it's possible for the stmt timeout to have been fired between the last message and the call to disable_statement_timeout. The timeout won't be active anymore, so disable_timeout will be skipped. However, the timeout is still queued, and the next call to CHECK_FOR_INTERRUPTS will process and generate a stmt timeout error. This leads to the confusing situation where we can have a CompleteCommand message followed by a stmt timeout error for the same command. This patch fixes this issue by resetting the timeout indicator if the timeout is inactive, relying on get_timeout_indicator to reset the timeout indicator. Regards, Anthonin Bonnefoy
Вложения
Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com> writes: > At the end of a command, disable_statement_timeout is called as the > timeout applies to a specific command and a CommandComplete message is > sent. > However, it's possible for the stmt timeout to have been fired between > the last message and the call to disable_statement_timeout. The > timeout won't be active anymore, so disable_timeout will be skipped. > However, the timeout is still queued, and the next call to > CHECK_FOR_INTERRUPTS will process and generate a stmt timeout error. I think this overlaps the discussion we're having over here: https://www.postgresql.org/message-id/flat/CAGECzQQD5f9ce-D1v6vCTT94hG%3DJbGdTHuf8vQ%3DHBLz9T4dA1g%40mail.gmail.com I agree that this area is a bit buggy, but I think it's got more problems than just this. regards, tom lane
On Tue, Jan 13, 2026 at 6:30 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > I think this overlaps the discussion we're having over here: > > https://www.postgresql.org/message-id/flat/CAGECzQQD5f9ce-D1v6vCTT94hG%3DJbGdTHuf8vQ%3DHBLz9T4dA1g%40mail.gmail.com > > I agree that this area is a bit buggy, but I think it's got more > problems than just this. Yeah, that's definitely the same kind of issue. Thanks for the link, I will catch up with the thread.