Received: from makus.postgresql.org (makus.postgresql.org [98.129.198.125]) by mail.postgresql.org (Postfix) with ESMTP id 20DE4450671 for ; Wed, 11 Jan 2012 17:51:08 -0400 (AST) Received: from tx2ehsobe002.messaging.microsoft.com ([65.55.88.12] helo=TX2EHSOBE004.bigfish.com) by makus.postgresql.org with esmtp (Exim 4.72) (envelope-from ) id 1Rl64a-0003VJ-0D for pgsql-general@postgresql.org; Wed, 11 Jan 2012 21:51:09 +0000 Received: from mail176-tx2-R.bigfish.com (10.9.14.237) by TX2EHSOBE004.bigfish.com (10.9.40.24) with Microsoft SMTP Server id 14.1.225.23; Wed, 11 Jan 2012 21:50:54 +0000 Received: from mail176-tx2 (localhost [127.0.0.1]) by mail176-tx2-R.bigfish.com (Postfix) with ESMTP id 2A1CA2C00AE for ; Wed, 11 Jan 2012 21:50:54 +0000 (UTC) X-SpamScore: 0 X-BigFish: VPS0(zzzz1202hzzz2fhc1ahc1bh2a8h668h839h62h) X-Spam-TCS-SCL: 1:0 X-Forefront-Antispam-Report: CIP:64.62.153.98; KIP:(null); UIP:(null); IPV:NLI; H:mail.nimblestorage.com; RD:none; EFVD:NLI Received-SPF: pass (mail176-tx2: domain of nimblestorage.com designates 64.62.153.98 as permitted sender) client-ip=64.62.153.98; envelope-from=manoj@nimblestorage.com; helo=mail.nimblestorage.com ; estorage.com ; Received: from mail176-tx2 (localhost.localdomain [127.0.0.1]) by mail176-tx2 (MessageSwitch) id 1326318653528621_20614; Wed, 11 Jan 2012 21:50:53 +0000 (UTC) Received: from TX2EHSMHS025.bigfish.com (unknown [10.9.14.241]) by mail176-tx2.bigfish.com (Postfix) with ESMTP id 74EDA220046 for ; Wed, 11 Jan 2012 21:50:53 +0000 (UTC) Received: from mail.nimblestorage.com (64.62.153.98) by TX2EHSMHS025.bigfish.com (10.9.99.125) with Microsoft SMTP Server (TLS) id 14.1.225.23; Wed, 11 Jan 2012 21:50:51 +0000 Received: from [10.11.1.75] (64.71.12.98) by coloex01.nimblestorage.com (192.168.50.95) with Microsoft SMTP Server (TLS) id 14.1.355.2; Wed, 11 Jan 2012 13:50:51 -0800 Message-ID: <4F0E0438.5070300@nimblestorage.com> Date: Wed, 11 Jan 2012 13:50:48 -0800 From: Manoj Govindassamy User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: Subject: PG synchronous replication and unresponsive slave Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [64.71.12.98] X-OriginatorOrg: nimblestorage.com X-Pg-Spam-Score: -4.2 (----) X-Archive-Number: 201201/302 X-Sequence-Number: 183953 Hi, I have a PG 9.1.2 Master <--> Slave with synchronous replication setup. They are all working fine as expected. I do have a case where I want to flip Master to non replication mode whenever its slave is not responding. I have set replication_timeout to 5s and whenever salve is not responding for for more than 5s, i see the master detecting it. But, the transactions on the master is stuck till the slave comes back. To get over it, I reloaded the config on master with synchronous_commit = local. Further transactions on the master are going thru fine with this local commits turned on. Here are my questions: 1. Transaction which was stuck right when slave going away never went thru even after I reloaded master's config with local commit on. I do see all new transactions on master are going thru fine, except the one which was stuck initially. How to get this stuck transaction complete or return with error. 2. Whenever there is a problem with slave, I have to manually reload master's config with local commit turned on to get master go forward. Is there any automated way to reload this config with local commit on on slave's unresponsiveness ? tcp connection timeouts, replication timeouts all detect the failures, but i want to run some corrective action on these failure detection. -- thanks, Manoj