Re: walsender doesn't send keepalives when writes are pending
От | Andres Freund |
---|---|
Тема | Re: walsender doesn't send keepalives when writes are pending |
Дата | |
Msg-id | 20140222093916.GC30593@awork2.anarazel.de обсуждение исходный текст |
Ответ на | Re: walsender doesn't send keepalives when writes are pending (Amit Kapila <amit.kapila16@gmail.com>) |
Список | pgsql-hackers |
On 2014-02-22 09:08:39 +0530, Amit Kapila wrote: > > The danger is rather that *no* keepalive is sent (with requestReply = > > true triggering a reply by the client) by the walsender. Try to run > > pg_receivexlog against a busy server with a low walsender timeout. Since > > we'll never get to sending a keepalive we'll not trigger a reply by the > > receiver. Now > > Looking at code of pg_receivexlog in function HandleCopyStream(), > it seems that it can only happen if user has not configured > --status-interval in pg_receivexlog. Code referred is as below: The interval interval is configured independently from the primary and pg_receivexlog doesn't tune it automatically to the one configured for the walsender. > Even if this is not happening due to some reason, shouldn't this be > anyway the responsibility of pg_receivexlog to send the status from time > to time rather than sending when server asked for it? It does. At it's own interval. I don't see what's to discuss here, sorry. There's really barely any cost to doing the keepalive correctly, otherwise it'd be problematic in the half dozen cases where *we* do send it. The keepalive mechanism doesn't work in one edgecase. So, let's fix it, and not discuss why we think the entire mechanism might be useless. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: