[DRBD-user] ProtocollError using on-congestion pull-ahead

Lars Ellenberg lars.ellenberg at linbit.com
Wed Feb 13 10:23:04 CET 2013

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.

On Fri, Feb 08, 2013 at 06:34:41PM +0100, Holger Steinhaus wrote:
> >
> >Known bug in 8.4, supposedly fixed with 8.4.3.
> Sorry, I cannot confirm this. I have just upgraded to 8.4.3 - but I
> see still the same  behavior:
> initialization:
> Feb  8 18:04:10 nas2 kernel: drbd: initialized. Version: 8.4.3
> (api:1/proto:86-101)
> Feb  8 18:04:10 nas2 kernel: drbd: GIT-hash:
> 89a294209144b68adb3ee85a73221f964d3ee515 build by
> root at sl62-gluster1.home, 2013-02-08 17:44:22

> primary node:

> Feb  8 18:27:22 nas2 kernel: block drbd0: Congestion-fill threshold reached
> Feb  8 18:27:22 nas2 kernel: block drbd0: conn( SyncSource -> Ahead )
> Feb  8 18:27:22 nas2 kernel: d-con main_disk: BAD! BarrierAck #627
> received with n_writes=1024, expected n_writes=1025!

Too bad :(

Well, you could try if 8.3.15 does work better for you.
Or wait until we fix this one, too.

Besides, the Ahead/Behind feature
may not really do what you expect it does.

Its intended usage is together with DRBD proxy (huge buffer),
as "fallback solution", in case an unexpectedly high write peak
does not fit into the buffer.

If your setup "flaps" Ahead <-> Resync continuously, for basically every
other write, it won't do any good, really.

Note that from "Behind" it always goes "SyncTarget" first, and a
SyncTarget is necessarily "Inconsistent", which means if you lost your
Primary data right then, you don't have any consistent data left,
unless you created a snapshot with the before-resync-target handler.


More information about the drbd-user mailing list