Timo Sirainen via dovecot <[email protected]> wrote:
> 
> On 12 Jul 2019, at 21.05, Michael Grimm via dovecot <[email protected]> 
> 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

Reply via email to