Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
On 06/28/2016 11:39 AM, Louis Munro wrote: > > >> On Jun 28, 2016, at 13:58 , Matt Kereczman <matt at linbit.com >> <mailto:matt at linbit.com>> 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 : matt at linbit.com : +1 (503) 573-1262 x205 : LINBIT | Keeping the Digital World Running : DRBD -- Heartbeat -- Corosync -- Pacemaker