PurgeTxnTest.java 文件源码

java
阅读 34 收藏 0 点赞 0 评论 0

项目:fuck_zookeeper 作者:
/**
 * Tests purge where the data directory contains old snapshots and data
 * logs, newest snapshots and data logs, (newest + n) snapshots and data
 * logs
 */
@Test
public void testSnapFilesGreaterThanToRetain() throws Exception {
    int nRecentCount = 4;
    int fileAboveRecentCount = 4;
    int fileToPurgeCount = 2;
    AtomicInteger offset = new AtomicInteger(0);
    tmpDir = ClientBase.createTmpDir();
    File version2 = new File(tmpDir.toString(), "version-2");
    Assert.assertTrue("Failed to create version_2 dir:" + version2.toString(),
            version2.mkdir());
    List<File> snapsToPurge = new ArrayList<File>();
    List<File> logsToPurge = new ArrayList<File>();
    List<File> snaps = new ArrayList<File>();
    List<File> logs = new ArrayList<File>();
    List<File> snapsAboveRecentFiles = new ArrayList<File>();
    List<File> logsAboveRecentFiles = new ArrayList<File>();
    createDataDirFiles(offset, fileToPurgeCount, version2, snapsToPurge,
            logsToPurge);
    createDataDirFiles(offset, nRecentCount, version2, snaps, logs);
    createDataDirFiles(offset, fileAboveRecentCount, version2,
            snapsAboveRecentFiles, logsAboveRecentFiles);

    FileTxnSnapLog txnLog = new FileTxnSnapLog(tmpDir, tmpDir);
    PurgeTxnLog.retainNRecentSnapshots(txnLog, snaps);
    txnLog.close();
    verifyFilesAfterPurge(snapsToPurge, false);
    verifyFilesAfterPurge(logsToPurge, false);
    verifyFilesAfterPurge(snaps, true);
    verifyFilesAfterPurge(logs, true);
    verifyFilesAfterPurge(snapsAboveRecentFiles, true);
    verifyFilesAfterPurge(logsAboveRecentFiles, true);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号