Re: canceling statement coming in slave instance

Поиск
Список
Период
Сортировка
От Rohit Arora
Тема Re: canceling statement coming in slave instance
Дата
Msg-id CAMUAjH805S-35_QetGAHn2SOZe_=YAdcLN_CeXfzYt2KBMxnTw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: canceling statement coming in slave instance  (Shreeyansh Dba <shreeyansh2014@gmail.com>)
Ответы Re: canceling statement coming in slave instance  (Laurenz Albe <laurenz.albe@cybertec.at>)
Список 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@gmail.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.




On Sat, Nov 24, 2018 at 4:53 PM Shreeyansh Dba <shreeyansh2014@gmail.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.




On Sat, Nov 24, 2018 at 4:35 PM Rohit Arora <arora.leo9@gmail.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.leo9@gmail.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


В списке pgsql-admin по дате отправления:

Предыдущее
От: Shreeyansh Dba
Дата:
Сообщение: Re: canceling statement coming in slave instance
Следующее
От: Laurenz Albe
Дата:
Сообщение: Re: canceling statement coming in slave instance