Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
474aeb44
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
474aeb44
编写于
8月 09, 2023
作者:
S
Shungang Li
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add ttlExpireTime to vnode.json/state
上级
14b8a312
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
15 addition
and
4 deletion
+15
-4
source/dnode/vnode/src/inc/vnodeInt.h
source/dnode/vnode/src/inc/vnodeInt.h
+1
-0
source/dnode/vnode/src/meta/metaTtl.c
source/dnode/vnode/src/meta/metaTtl.c
+5
-3
source/dnode/vnode/src/vnd/vnodeCommit.c
source/dnode/vnode/src/vnd/vnodeCommit.c
+4
-0
source/dnode/vnode/src/vnd/vnodeOpen.c
source/dnode/vnode/src/vnd/vnodeOpen.c
+2
-0
source/dnode/vnode/src/vnd/vnodeSvr.c
source/dnode/vnode/src/vnd/vnodeSvr.c
+3
-1
未找到文件。
source/dnode/vnode/src/inc/vnodeInt.h
浏览文件 @
474aeb44
...
...
@@ -347,6 +347,7 @@ struct SVState {
int64_t
applyTerm
;
int64_t
commitID
;
int64_t
commitTerm
;
int64_t
ttlExpireTime
;
};
struct
SVStatis
{
...
...
source/dnode/vnode/src/meta/metaTtl.c
浏览文件 @
474aeb44
...
...
@@ -42,6 +42,8 @@ static int32_t ttlMgrULock(STtlManger *pTtlMgr);
const
char
*
ttlTbname
=
"ttl.idx"
;
const
char
*
ttlV1Tbname
=
"ttlv1.idx"
;
#define TTL_EXPIRE_TIME_UNINIT -1
int
ttlMgrOpen
(
STtlManger
**
ppTtlMgr
,
TDB
*
pEnv
,
int8_t
rollback
,
const
char
*
logPrefix
,
int32_t
flushThreshold
)
{
int
ret
=
TSDB_CODE_SUCCESS
;
int64_t
startNs
=
taosGetTimestampNs
();
...
...
@@ -59,7 +61,7 @@ int ttlMgrOpen(STtlManger **ppTtlMgr, TDB *pEnv, int8_t rollback, const char *lo
strcpy
(
logBuffer
,
logPrefix
);
pTtlMgr
->
logPrefix
=
logBuffer
;
pTtlMgr
->
flushThreshold
=
flushThreshold
;
pTtlMgr
->
expireTimeMs
=
0
;
// TODO(LSG)
pTtlMgr
->
expireTimeMs
=
TTL_EXPIRE_TIME_UNINIT
;
ret
=
tdbTbOpen
(
ttlV1Tbname
,
TDB_VARIANT_LEN
,
TDB_VARIANT_LEN
,
ttlIdxKeyV1Cmpr
,
pEnv
,
&
pTtlMgr
->
pTtlIdx
,
rollback
);
if
(
ret
<
0
)
{
...
...
@@ -370,9 +372,9 @@ _out:
int
ttlMgrFindExpired
(
STtlManger
*
pTtlMgr
,
SArray
*
pTbUids
)
{
ttlMgrRLock
(
pTtlMgr
);
if
(
pTtlMgr
->
expireTimeMs
==
0
)
{
if
(
pTtlMgr
->
expireTimeMs
==
TTL_EXPIRE_TIME_UNINIT
)
{
metaError
(
"%s, ttl mgr expireTimeMs uninitialized, skip find expired"
,
pTtlMgr
->
logPrefix
);
return
0
;
goto
_out
;
}
TBC
*
pCur
;
...
...
source/dnode/vnode/src/vnd/vnodeCommit.c
浏览文件 @
474aeb44
...
...
@@ -291,6 +291,7 @@ static int32_t vnodePrepareCommit(SVnode *pVnode, SCommitInfo *pInfo) {
pInfo
->
info
.
state
.
committed
=
pVnode
->
state
.
applied
;
pInfo
->
info
.
state
.
commitTerm
=
pVnode
->
state
.
applyTerm
;
pInfo
->
info
.
state
.
commitID
=
++
pVnode
->
state
.
commitID
;
pInfo
->
info
.
state
.
ttlExpireTime
=
pVnode
->
state
.
ttlExpireTime
;
pInfo
->
pVnode
=
pVnode
;
pInfo
->
txn
=
metaGetTxn
(
pVnode
->
pMeta
);
...
...
@@ -572,6 +573,7 @@ static int vnodeEncodeState(const void *pObj, SJson *pJson) {
if
(
tjsonAddIntegerToObject
(
pJson
,
"commit version"
,
pState
->
committed
)
<
0
)
return
-
1
;
if
(
tjsonAddIntegerToObject
(
pJson
,
"commit ID"
,
pState
->
commitID
)
<
0
)
return
-
1
;
if
(
tjsonAddIntegerToObject
(
pJson
,
"commit term"
,
pState
->
commitTerm
)
<
0
)
return
-
1
;
if
(
tjsonAddIntegerToObject
(
pJson
,
"ttl expire time"
,
pState
->
ttlExpireTime
)
<
0
)
return
-
1
;
return
0
;
}
...
...
@@ -586,6 +588,8 @@ static int vnodeDecodeState(const SJson *pJson, void *pObj) {
if
(
code
<
0
)
return
-
1
;
tjsonGetNumberValue
(
pJson
,
"commit term"
,
pState
->
commitTerm
,
code
);
if
(
code
<
0
)
return
-
1
;
tjsonGetNumberValue
(
pJson
,
"ttl expire time"
,
pState
->
ttlExpireTime
,
code
);
if
(
code
<
0
)
return
-
1
;
return
0
;
}
...
...
source/dnode/vnode/src/vnd/vnodeOpen.c
浏览文件 @
474aeb44
...
...
@@ -60,6 +60,7 @@ int32_t vnodeCreate(const char *path, SVnodeCfg *pCfg, int32_t diskPrimary, STfs
info
.
state
.
committed
=
-
1
;
info
.
state
.
applied
=
-
1
;
info
.
state
.
commitID
=
0
;
info
.
state
.
ttlExpireTime
=
0
;
vInfo
(
"vgId:%d, save config while create"
,
info
.
config
.
vgId
);
if
(
vnodeSaveInfo
(
dir
,
&
info
)
<
0
||
vnodeCommitInfo
(
dir
)
<
0
)
{
...
...
@@ -364,6 +365,7 @@ SVnode *vnodeOpen(const char *path, int32_t diskPrimary, STfs *pTfs, SMsgCb msgC
pVnode
->
state
.
commitID
=
info
.
state
.
commitID
;
pVnode
->
state
.
applied
=
info
.
state
.
committed
;
pVnode
->
state
.
applyTerm
=
info
.
state
.
commitTerm
;
pVnode
->
state
.
ttlExpireTime
=
info
.
state
.
ttlExpireTime
;
pVnode
->
pTfs
=
pTfs
;
pVnode
->
diskPrimary
=
diskPrimary
;
pVnode
->
msgCb
=
msgCb
;
...
...
source/dnode/vnode/src/vnd/vnodeSvr.c
浏览文件 @
474aeb44
...
...
@@ -720,7 +720,9 @@ static int32_t vnodeProcessDropTtlTbReq(SVnode *pVnode, int64_t ver, void *pReq,
}
vDebug
(
"vgId:%d, drop ttl table req will be processed, time:%"
PRId32
,
pVnode
->
config
.
vgId
,
ttlReq
.
timestampSec
);
code
=
metaTtlSetExpireTime
(
pVnode
->
pMeta
,
(
int64_t
)
ttlReq
.
timestampSec
*
1000
);
int64_t
ttlExpireTimeMs
=
(
int64_t
)
ttlReq
.
timestampSec
*
1000
;
atomic_store_64
(
&
pVnode
->
state
.
ttlExpireTime
,
ttlExpireTimeMs
);
code
=
metaTtlSetExpireTime
(
pVnode
->
pMeta
,
ttlExpireTimeMs
);
if
(
code
)
goto
end
;
code
=
vnodeAsyncTtlDropTable
(
pVnode
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录