Re: canceling statement coming in slave instance

From: Rohit Arora <arora(dot)leo9(at)gmail(dot)com>
To: shreeyansh2014(at)gmail(dot)com
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: canceling statement coming in slave instance
Date: 2018-11-27 04:50:13
Message-ID: CAMUAjH805S-35_QetGAHn2SOZe_=YAdcLN_CeXfzYt2KBMxnTw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Dear Shreeyansh DBA and Laurenz Albe,

Thanks for your feedback.

Please find my reply below.

*Shreeyansh DBA Said: *
You need to rollback/commit your transaction manually. After
rollback/commit try to execute the correct SQL- statement again.

*My Reply:*
Initially we were actually facing 2 errors during this incidence.
1st error i mentioned in this mail
and when we encounter the 1st error we encounter below error.

ERROR: current transaction is aborted, commands ignored until end of
transaction block

as per my findings due to 1st error connection got corrupted and after
that all queries on that corrupted connection faced the 2nd error and
solution to this 2nd error is to execute rollback.

I already implemented that and after the implementation of rollback now we
are not facing this 2nd issue.

But still i am searching the solution for my original concern raised in
this mail i.e.

*ERROR: canceling statement due to conflict with recovery*
*DETAIL: User was holding a relation lock for too long*

*Shreeyansh DBA Said: *
You can consider tweaking the parameters max_standby_streaming_delay to the
higher value

*My Reply:*
As per my finding increasing the value of this parameters just delay the
occurrence of error and it might cause the bloating.

*Shreeyansh DBA Said: *
and also should consider tuning the query to increase its response time.

*My Reply*
We regularly optimize the queries but and we generally find relief from
this activity but due to frequent changing requirement we occasionally
end up in this situation.

Apart from this if you could help us to understand the actual reason behind
this and can we do anything permanently to resolve this issue then that
would be a great help.

*Laurenz Albe Said:*
You'd have to set max_standby_streaming_delay to -1

* My Reply:*
As per my understanding setting the value of this parameter to -1 might
cause the bloating

with regards
Rohit Arora

On Mon, Nov 26, 2018 at 4:16 PM Shreeyansh Dba <shreeyansh2014(at)gmail(dot)com>
wrote:

> Hi Rohit,
>
> In addition to this.
>
> As your application is very high write intensive that results into heavy
> streaming on the slave causing the slave read queries taking longer time
> not finishing in the specific time limits causing query cancellation.
>
> You can consider tweaking the parameters max_standby_streaming_delay to
> the higher value to meet your business requirement completing the said
> query and also should consider tuning the query to increase its response
> time.
>
> <http://www.shreeyansh.com>
>
>
> On Sat, Nov 24, 2018 at 4:53 PM Shreeyansh Dba <shreeyansh2014(at)gmail(dot)com>
> wrote:
>
>> Hi Rohit,
>>
>> It seems you are executing a non-correct SQL statement and when you
>> correct it and try to execute it again you will get this error.
>>
>> You need to rollback/commit your transaction manually. After
>> rollback/commit try to execute the correct SQL- statement again.
>>
>> Hope this helps.
>>
>> <http://www.shreeyansh.com>
>>
>>
>> On Sat, Nov 24, 2018 at 4:35 PM Rohit Arora <arora(dot)leo9(at)gmail(dot)com> wrote:
>>
>>> Dear List,
>>>
>>> Please note that we are working on PostgreSQL 9.4.19.
>>>
>>> Thanks
>>> Rohit Arora
>>>
>>>
>>> On Sat, Nov 24, 2018 at 4:29 PM Rohit Arora <arora(dot)leo9(at)gmail(dot)com>
>>> wrote:
>>>
>>>> Dear List,
>>>>
>>>> In few of our Slave PostgreSQL machines.
>>>>
>>>> I occasionally encounter below error.
>>>>
>>>> *ERROR: canceling statement due to conflict with recovery*
>>>> *DETAIL: User was holding a relation lock for too long*
>>>>
>>>> While investigating online i came to know that this issue can be
>>>> handled by below configuration parameters
>>>>
>>>> "max_standby_archive_delay "
>>>> "max_standby_streaming_delay"
>>>>
>>>> I have increased the value of both the parameters as per below.
>>>>
>>>> Original values:
>>>> "max_standby_archive_delay=30s"
>>>> "max_standby_streaming_delay=30s"
>>>>
>>>> Current values:
>>>> "max_standby_archive_delay=30s" ----> was increased it to 300s but we
>>>> did not get any benefit so we rollback it to original value
>>>> "max_standby_streaming_delay=300s"
>>>>
>>>> But still i occasionally encounter the mention issue.
>>>>
>>>> Please note that on Master node we have heavy write operations and
>>>> these Slave nodes are geographically distinct on a WAN connection.
>>>>
>>>> Thanks in Advance
>>>> Rohit Arora
>>>>
>>>>
>>>>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Laurenz Albe 2018-11-27 05:12:24 Re: canceling statement coming in slave instance
Previous Message Shreeyansh Dba 2018-11-26 10:46:10 Re: canceling statement coming in slave instance