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