Timo Sirainen via dovecot <dovecot@dovecot.org> wrote:
On 12 Jul 2019, at 21.05, Michael Grimm via dovecot <dovecot@dovecot.org> wrote:
My upgrade from 2.3.6 to 2.3.7 broke replication (FreeBSD 12.0-STABLE r349799):
I don't think these cause any actual breakage?
It doesn't break completely, but it leaves replication shaken: 1) replication is pretty much delayed in some cases (monitored on both instances) 2) replication doesn't become completed after 15 minutes in some cases Returning to 2.3.6 completes these hanging replications instantaneously.
Of course, there are tons of errors logged..
Yes.
This likely fixes it anyway:
diff --git a/src/lib/ostream-file.c b/src/lib/ostream-file.c index e7e6f62d1..766841f2f 100644 --- a/src/lib/ostream-file.c +++ b/src/lib/ostream-file.c @@ -334,7 +334,7 @@ static void o_stream_tcp_flush_via_nodelay(struct file_ostream *fstream) { if (net_set_tcp_nodelay(fstream->fd, TRUE) < 0) { if (errno != ENOTSUP && errno != ENOTSOCK && - errno != ENOPROTOOPT) { + errno != ENOPROTOOPT && errno != EINVAL) { i_error("file_ostream.net_set_tcp_nodelay(%s, TRUE) failed: %m", o_stream_get_name(&fstream->ostream.ostream)); }
I do not compile from source, I'm using FreeBSD's ports. Thus I tried to put this patch at the desired location to become used whilst compiling dovecot. But this patch fails to become applied, most probably due to incorrect whitespaces. As I do not have access to the dovecot's source tree, I do not have a clue who the ASCII version of the patch is. Thus, could you mail it to my as an attachment? Regards, Michael