public virtual void TestChangeWritersLogsInSync()
 {
     QJMTestUtil.WriteSegment(cluster, qjm, 1, 3, false);
     QJMTestUtil.AssertExistsInQuorum(cluster, NNStorage.GetInProgressEditsFileName(1)
                                      );
     // Make a new QJM
     qjm = CloseLater(new QuorumJournalManager(conf, cluster.GetQuorumJournalURI(QJMTestUtil
                                                                                 .Jid), QJMTestUtil.FakeNsinfo));
     qjm.RecoverUnfinalizedSegments();
     CheckRecovery(cluster, 1, 3);
 }
 /// <exception cref="System.Exception"/>
 private void DoOutOfSyncTest(int missingOnRecoveryIdx, long expectedRecoveryTxnId
                              )
 {
     SetupLoggers345();
     QJMTestUtil.AssertExistsInQuorum(cluster, NNStorage.GetInProgressEditsFileName(1)
                                      );
     // Shut down the specified JN, so it's not present during recovery.
     cluster.GetJournalNode(missingOnRecoveryIdx).StopAndJoin(0);
     // Make a new QJM
     qjm = CreateSpyingQJM();
     qjm.RecoverUnfinalizedSegments();
     CheckRecovery(cluster, 1, expectedRecoveryTxnId);
 }