Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Nov 2013 15:10:27 -0800
From:      Maxim Sobolev <sobomax@FreeBSD.org>
To:        glebius@FreeBSD.org, andre@FreeBSD.org, bz@FreeBSD.org,  lstewart@FreeBSD.org, pgsql@FreeBSD.org, stable@freebsd.org
Subject:   Re: svn commit: r232945 - in stable/9: share/man/man4 sys/i386/conf sys/netinet sys/sys
Message-ID:  <CAH7qZfuy8GpRMxz84FArGreqE0YdYUAt1-CRwh%2BsJi8f%2B1Y3ag@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Hey guys, any particular reasons why those options are write-only? Is it
just laziness of the developer or is there any particular fundamental
reason for it being like this. This might be some regression, since at
least some 3rd party software that does getsockopt(), checks its status and
only does setsockopt() if the former completed successfully. Which kinda
makes sense IMHO. The software in question is PostgreSQL here. As a result,
the software may be misbehaving since it detects those options as being
present on the configure stage, but cannot really make any use of them
later on during runtime. Had it not detect those options at the build
stage, it might have used some kind of software protocol workaround (i.e.
sending ping/nop packets) so it in fact might trigger some bugs and whatnot.

We believe it might be the reason for some of our problems here with PG 91
and FreeBSD 92.



> Log:
>   Merge 231025 from head:
>     Add new socket options: TCP_KEEPINIT, TCP_KEEPIDLE, TCP_KEEPINTVL and
>     TCP_KEEPCNT, that allow to control initial timeout, idle time, idle
>     re-send interval and idle send count on a per-socket basis.
>
>     Reviewed by:  andre, bz, lstewart
>

Nov  7 16:04:01 sip-dc postgres[64004]: [13-1] LOG:
getsockopt(TCP_KEEPCNT) failed: Protocol not available
Nov  7 16:04:01 sip-dc postgres[64004]: [14-1] LOG:
getsockopt(TCP_KEEPIDLE) failed: Protocol not available
Nov  7 16:04:01 sip-dc postgres[64004]: [15-1] LOG:
getsockopt(TCP_KEEPINTVL) failed: Protocol not available
Nov  7 16:04:02 sip-dc postgres[64140]: [13-1] LOG:
getsockopt(TCP_KEEPCNT) failed: Protocol not available
Nov  7 16:04:02 sip-dc postgres[64140]: [14-1] LOG:
getsockopt(TCP_KEEPIDLE) failed: Protocol not available
Nov  7 16:04:02 sip-dc postgres[64140]: [15-1] LOG:
getsockopt(TCP_KEEPINTVL) failed: Protocol not available

 -Maxim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAH7qZfuy8GpRMxz84FArGreqE0YdYUAt1-CRwh%2BsJi8f%2B1Y3ag>