On 06/28/2016 11:39 AM, Louis Munro wrote:
On Jun 28, 2016, at 13:58 , Matt Kereczman <[email protected]
<mailto:[email protected]>> wrote:
You might want to make sure your version of 8.4.5 includes this commit:
http://git.drbd.org/drbd-8.4.git/commit/27ed4f3ca752b9bcc37d16edbb2791e626ab203d
Interesting.
I thought my problem was that the output buffer was full:
That could still be true. Looking at the "Send-Q" (via 'netstat' or
'ss') on DRBD's TCP socket, or the IO state flags (flag #5) in
'/proc/drbd', while IO is blocking would probably tell you.
IO flags: https://www.drbd.org/en/doc/users-guide-84/ch-admin#s-io-flags
"DRBD’s protocol A is asynchronous, but the writing application will
block as soon as the socket output buffer is full (see the sndbuf-size
option in drbd.conf(5)). In that event, the writing application has to
wait until some of the data written runs off through a possibly small
bandwidth network link."
So if I understand this correctly, the issue could be that my primary
hadn’t received the ACK for the block and was rewriting it (as is
frequent for a database).
Is there any way I could ascertain whether that is the case before I
recompile and reinstall (which is no trivial matter for that database)?
I would just verify that the version you have installed is newer than
the commit with the fix. The, "GIT-hash:", in '/proc/drbd' is the commit
from which the source was compiled.
Hope that is helpful.
--
: Matt Kereczman
: [email protected]
: +1 (503) 573-1262 x205
: LINBIT | Keeping the Digital World Running
: DRBD -- Heartbeat -- Corosync -- Pacemaker
_______________________________________________
drbd-user mailing list
[email protected]
http://lists.linbit.com/mailman/listinfo/drbd-user