Hi Rui, This should be fixed by the following commit from Phil: https://github.com/LINBIT/drbd/commit/d8214d47d13a4c9b5c8f8cae7989de7996983688
Please test it to ensure that it fixes your precise scenario. Best regards, Joel On Tue, 7 Jan 2025 at 17:12, Joel Colledge <joel.colle...@linbit.com> wrote: > Hi Rui, > > > I installed DRBD 9.2.12 and retested, but the issue persists. > > > > I think the logic of this problem is quite clear. First, an Inconsistent > replication serving as a sync target can be promoted to the primary when it > is connected to an uptodate replication. Next, if the connection with the > primary node is lost, the uptodate replication becomes outdated. Finally, > after the network is restored and synchronization is completed, the sync > target updates its metadata to match the sync source, which causes its > state to also become outdated. > > I am able to reproduce the problem too now. > > > Would it be possible to introduce a parameter that allows users to > prevent the promotion of Inconsistent replications? This could help avoid > the the issue. If you have other solutions, that would be great as well, of > course. > > I believe the correct fix is at step 5. of your original reproduction > steps. Node B should know that A does not have access to any UpToDate > data and so cannot complete any writes. So node B should not become > Outdated. > > I'm not sure how the exact implementation would work. We may need to > add more information to the two-phase commit packets to allow node B > to reliably determine its disk state. > > The fix should also make sure that node A does not consider node B to > be Outdated at this stage. > > > Additionally, are there other methods to remove the outdated tag from > the metadata, aside from using the primary --force command? > > It should be possible with the "get-gi" and "set-gi" commands, but I > recommend using "primary --force", because it is much simpler. > > Best regards, > Joel >