enh: support enable/disable tfs config entries

This commit is contained in:
kailixu 2024-06-12 17:12:30 +08:00
parent e7754a0b3e
commit ff47e1eab1
3 changed files with 13 additions and 5 deletions

View File

@ -221,8 +221,6 @@ int32_t tsDiskCfgNum = 0;
SDiskCfg tsDiskCfg[TFS_MAX_DISKS] = {0}; SDiskCfg tsDiskCfg[TFS_MAX_DISKS] = {0};
int64_t tsMinDiskFreeSize = TFS_MIN_DISK_FREE_SIZE; int64_t tsMinDiskFreeSize = TFS_MIN_DISK_FREE_SIZE;
int a = sizeof(tsDiskCfg);
// stream scheduler // stream scheduler
bool tsDeployOnSnode = true; bool tsDeployOnSnode = true;

View File

@ -494,6 +494,11 @@ static int32_t tfsMount(STfs *pTfs, SDiskCfg *pCfg) {
return -1; return -1;
} }
if (pCfg->enable == 0) {
fInfo("skip to mount disk %s to level %d since enable is %" PRIi8, pCfg->dir, pCfg->level, pCfg->enable);
return 0;
}
SDiskID did = {.level = pCfg->level}; SDiskID did = {.level = pCfg->level};
STfsDisk *pDisk = tfsMountDiskToTier(TFS_TIER_AT(pTfs, did.level), pCfg); STfsDisk *pDisk = tfsMountDiskToTier(TFS_TIER_AT(pTfs, did.level), pCfg);
if (pDisk == NULL) { if (pDisk == NULL) {

View File

@ -242,7 +242,7 @@ class TDTestCase:
tdSql.execute('use dbtest') tdSql.execute('use dbtest')
tdSql.execute('create table stb (ts timestamp,c0 int) tags(t0 int)') tdSql.execute('create table stb (ts timestamp,c0 int) tags(t0 int)')
tdSql.execute('create table tb1 using stb tags(1)') tdSql.execute('create table tb1 using stb tags(1)')
for i in range(10,30): for i in range(1,600, 30):
tdSql.execute(f'insert into tb1 values(now-{i}d,10)') tdSql.execute(f'insert into tb1 values(now-{i}d,10)')
tdSql.execute('flush database dbtest') tdSql.execute('flush database dbtest')
time.sleep(3) time.sleep(3)
@ -250,21 +250,26 @@ class TDTestCase:
tdDnodes.stop(1) tdDnodes.stop(1)
cfg={ cfg={
'/mnt/data1 0 1' : 'dataDir', '/mnt/data1 0 1' : 'dataDir',
'/mnt/data2 1 0' : 'dataDir', '/mnt/data2 1 0 1' : 'dataDir',
'/mnt/data3 2 0' : 'dataDir', '/mnt/data3 1 0 0' : 'dataDir',
'/mnt/data4 1 0' : 'dataDir',
} }
tdSql.createDir('/mnt/data2') tdSql.createDir('/mnt/data2')
tdSql.createDir('/mnt/data3') tdSql.createDir('/mnt/data3')
tdSql.createDir('/mnt/data4')
tdDnodes.deploy(1,cfg) tdDnodes.deploy(1,cfg)
tdDnodes.start(1) tdDnodes.start(1)
checkFiles('/mnt/data1/vnode/*/tsdb/v*',1) checkFiles('/mnt/data1/vnode/*/tsdb/v*',1)
checkFiles('/mnt/data2/vnode/*/tsdb/v*',0) checkFiles('/mnt/data2/vnode/*/tsdb/v*',0)
checkFiles('/mnt/data3/vnode/*/tsdb/v*',0) checkFiles('/mnt/data3/vnode/*/tsdb/v*',0)
checkFiles('/mnt/data4/vnode/*/tsdb/v*',0)
tdSql.execute('alter database dbtest keep 10d,365d,3650d') tdSql.execute('alter database dbtest keep 10d,365d,3650d')
tdSql.execute('trim database dbtest') tdSql.execute('trim database dbtest')
time.sleep(3) time.sleep(3)
checkFiles('/mnt/data1/vnode/*/tsdb/v*',1) checkFiles('/mnt/data1/vnode/*/tsdb/v*',1)
checkFiles('/mnt/data2/vnode/*/tsdb/v*',1) checkFiles('/mnt/data2/vnode/*/tsdb/v*',1)
checkFiles('/mnt/data3/vnode/*/tsdb/v*',0)
checkFiles('/mnt/data4/vnode/*/tsdb/v*',1)
def run(self): def run(self):
self.basic() self.basic()