package com.alibaba.doris.dataserver.store.log.db; import java.io.File; import com.alibaba.doris.dataserver.store.log.BaseTestCase; import com.alibaba.doris.dataserver.store.log.entry.ClumpHeadEntry; import com.alibaba.doris.dataserver.store.log.utils.LogFileUtil; /** * @author ajun Email:jack.yuj@alibaba-inc.com */ public class LogClumpManagerTest extends BaseTestCase { @Override protected void setUp() throws Exception { config = getClumpConfigure(); config.setPath(getCurrentClassPath() + File.separatorChar + "data" + File.separatorChar); manager = new LogClumpManager(config); } @Override protected void tearDown() throws Exception { manager.releaseAllResources(); } public void testListAvaliableLogClumps() { LogClump[] clumpArray = manager.listAvaliableLogClumps(); assertNotNull(clumpArray); } public void testMaxFileSize() { ClumpConfigure conf = null; LogClump clump2 = null; try { conf = getClumpConfigure(); conf.setMaxFileSize(1024 * 10); conf.setPath(getCurrentClassPath() + File.separatorChar + "data" + File.separatorChar); LogClumpManager m = new LogClumpManager(conf); LogClump clump = m.getLogClump(); WriteWindow writer = clump.getWriteWindow(); writer.append(generateLogEntry()); clump2 = m.getLogClump(); writer.close(); assertNotSame(clump.getName(), clump2.getName()); assertEquals(2, clump2.getNo()); } finally { if (null != clump2) { LogFileUtil.deleteClumpFile(conf.getPath(), clump2.getName()); } } } public void testGetLogClump() { LogClump clump = manager.getLogClump(); assertNotNull(clump); // 默认获取编号最大的日志文件 assertEquals(1, clump.getNo()); ClumpHeadEntry head = clump.getClumpHeadEntry(); assertNotNull(head); assertTrue(head.getVnodeNum() > 0); } public void testGetLogClump0() { config.setPath(getCurrentClassPath() + File.separatorChar); LogClumpManager m = new LogClumpManager(config); LogClump clump = m.getLogClump(); assertNotNull(clump); } public void testDeleteClumpByVnodes() { } private LogClumpManager manager; private ClumpConfigure config; }