Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
9e41cce3
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
9e41cce3
编写于
4月 26, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(cluster): adjust acct log
上级
efff7760
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
32 addition
and
29 deletion
+32
-29
include/dnode/mnode/sdb/sdb.h
include/dnode/mnode/sdb/sdb.h
+1
-1
source/dnode/mnode/impl/src/mndAcct.c
source/dnode/mnode/impl/src/mndAcct.c
+7
-6
source/dnode/mnode/impl/src/mndSync.c
source/dnode/mnode/impl/src/mndSync.c
+1
-1
source/dnode/mnode/impl/src/mndTrans.c
source/dnode/mnode/impl/src/mndTrans.c
+1
-1
source/dnode/mnode/sdb/src/sdbFile.c
source/dnode/mnode/sdb/src/sdbFile.c
+2
-2
source/dnode/mnode/sdb/src/sdbHash.c
source/dnode/mnode/sdb/src/sdbHash.c
+18
-16
source/dnode/mnode/sdb/src/sdbRaw.c
source/dnode/mnode/sdb/src/sdbRaw.c
+1
-1
source/dnode/mnode/sdb/src/sdbRow.c
source/dnode/mnode/sdb/src/sdbRow.c
+1
-1
未找到文件。
include/dnode/mnode/sdb/sdb.h
浏览文件 @
9e41cce3
...
...
@@ -221,7 +221,7 @@ int32_t sdbWrite(SSdb *pSdb, SSdbRaw *pRaw);
* @param pRaw The raw data.
* @return int32_t 0 for success, -1 for failure.
*/
int32_t
sdbWrite
No
tFree
(
SSdb
*
pSdb
,
SSdbRaw
*
pRaw
);
int32_t
sdbWrite
Withou
tFree
(
SSdb
*
pSdb
,
SSdbRaw
*
pRaw
);
/**
* @brief Acquire a row from sdb
...
...
source/dnode/mnode/impl/src/mndAcct.c
浏览文件 @
9e41cce3
...
...
@@ -17,8 +17,8 @@
#include "mndAcct.h"
#include "mndShow.h"
#define
TSDB_
ACCT_VER_NUMBER 1
#define
TSDB_
ACCT_RESERVE_SIZE 128
#define ACCT_VER_NUMBER 1
#define ACCT_RESERVE_SIZE 128
static
int32_t
mndCreateDefaultAcct
(
SMnode
*
pMnode
);
static
SSdbRaw
*
mndAcctActionEncode
(
SAcctObj
*
pAcct
);
...
...
@@ -55,6 +55,7 @@ static int32_t mndCreateDefaultAcct(SMnode *pMnode) {
acctObj
.
createdTime
=
taosGetTimestampMs
();
acctObj
.
updateTime
=
acctObj
.
createdTime
;
acctObj
.
acctId
=
1
;
acctObj
.
status
=
0
;
acctObj
.
cfg
=
(
SAcctCfg
){.
maxUsers
=
INT32_MAX
,
.
maxDbs
=
INT32_MAX
,
.
maxStbs
=
INT32_MAX
,
...
...
@@ -79,7 +80,7 @@ static int32_t mndCreateDefaultAcct(SMnode *pMnode) {
static
SSdbRaw
*
mndAcctActionEncode
(
SAcctObj
*
pAcct
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
SSdbRaw
*
pRaw
=
sdbAllocRaw
(
SDB_ACCT
,
TSDB_ACCT_VER_NUMBER
,
sizeof
(
SAcctObj
)
+
TSDB_
ACCT_RESERVE_SIZE
);
SSdbRaw
*
pRaw
=
sdbAllocRaw
(
SDB_ACCT
,
ACCT_VER_NUMBER
,
sizeof
(
SAcctObj
)
+
ACCT_RESERVE_SIZE
);
if
(
pRaw
==
NULL
)
goto
_OVER
;
int32_t
dataPos
=
0
;
...
...
@@ -100,7 +101,7 @@ static SSdbRaw *mndAcctActionEncode(SAcctObj *pAcct) {
SDB_SET_INT32
(
pRaw
,
dataPos
,
pAcct
->
cfg
.
maxTopics
,
_OVER
)
SDB_SET_INT64
(
pRaw
,
dataPos
,
pAcct
->
cfg
.
maxStorage
,
_OVER
)
SDB_SET_INT32
(
pRaw
,
dataPos
,
pAcct
->
cfg
.
accessState
,
_OVER
)
SDB_SET_RESERVE
(
pRaw
,
dataPos
,
TSDB_
ACCT_RESERVE_SIZE
,
_OVER
)
SDB_SET_RESERVE
(
pRaw
,
dataPos
,
ACCT_RESERVE_SIZE
,
_OVER
)
SDB_SET_DATALEN
(
pRaw
,
dataPos
,
_OVER
)
terrno
=
0
;
...
...
@@ -122,7 +123,7 @@ static SSdbRow *mndAcctActionDecode(SSdbRaw *pRaw) {
int8_t
sver
=
0
;
if
(
sdbGetRawSoftVer
(
pRaw
,
&
sver
)
!=
0
)
goto
_OVER
;
if
(
sver
!=
TSDB_
ACCT_VER_NUMBER
)
{
if
(
sver
!=
ACCT_VER_NUMBER
)
{
terrno
=
TSDB_CODE_SDB_INVALID_DATA_VER
;
goto
_OVER
;
}
...
...
@@ -151,7 +152,7 @@ static SSdbRow *mndAcctActionDecode(SSdbRaw *pRaw) {
SDB_GET_INT32
(
pRaw
,
dataPos
,
&
pAcct
->
cfg
.
maxTopics
,
_OVER
)
SDB_GET_INT64
(
pRaw
,
dataPos
,
&
pAcct
->
cfg
.
maxStorage
,
_OVER
)
SDB_GET_INT32
(
pRaw
,
dataPos
,
&
pAcct
->
cfg
.
accessState
,
_OVER
)
SDB_GET_RESERVE
(
pRaw
,
dataPos
,
TSDB_
ACCT_RESERVE_SIZE
,
_OVER
)
SDB_GET_RESERVE
(
pRaw
,
dataPos
,
ACCT_RESERVE_SIZE
,
_OVER
)
terrno
=
0
;
...
...
source/dnode/mnode/impl/src/mndSync.c
浏览文件 @
9e41cce3
...
...
@@ -72,7 +72,7 @@ static int32_t mndRestoreWal(SMnode *pMnode) {
}
mTrace
(
"wal:%"
PRId64
", will be restored, content:%p"
,
ver
,
pHead
->
head
.
body
);
if
(
sdbWrite
No
tFree
(
pSdb
,
(
void
*
)
pHead
->
head
.
body
)
<
0
)
{
if
(
sdbWrite
Withou
tFree
(
pSdb
,
(
void
*
)
pHead
->
head
.
body
)
<
0
)
{
mError
(
"failed to read wal from sdb since %s, ver:%"
PRId64
,
terrstr
(),
ver
);
goto
WAL_RESTORE_OVER
;
}
...
...
source/dnode/mnode/impl/src/mndTrans.c
浏览文件 @
9e41cce3
...
...
@@ -844,7 +844,7 @@ static int32_t mndTransExecuteLogs(SMnode *pMnode, SArray *pArray) {
for
(
int32_t
i
=
0
;
i
<
arraySize
;
++
i
)
{
SSdbRaw
*
pRaw
=
taosArrayGetP
(
pArray
,
i
);
int32_t
code
=
sdbWrite
No
tFree
(
pSdb
,
pRaw
);
int32_t
code
=
sdbWrite
Withou
tFree
(
pSdb
,
pRaw
);
if
(
code
!=
0
)
{
return
code
;
}
...
...
source/dnode/mnode/sdb/src/sdbFile.c
浏览文件 @
9e41cce3
...
...
@@ -202,7 +202,7 @@ int32_t sdbReadFile(SSdb *pSdb) {
break
;
}
code
=
sdbWrite
No
tFree
(
pSdb
,
pRaw
);
code
=
sdbWrite
Withou
tFree
(
pSdb
,
pRaw
);
if
(
code
!=
0
)
{
mError
(
"failed to read file:%s since %s"
,
file
,
terrstr
());
goto
PARSE_SDB_DATA_ERROR
;
...
...
@@ -263,7 +263,7 @@ static int32_t sdbWriteFileImp(SSdb *pSdb) {
continue
;
}
sdbPrintOper
(
pSdb
,
pRow
,
"write
File
"
);
sdbPrintOper
(
pSdb
,
pRow
,
"write"
);
SSdbRaw
*
pRaw
=
(
*
encodeFp
)(
pRow
->
pObj
);
if
(
pRaw
!=
NULL
)
{
...
...
source/dnode/mnode/sdb/src/sdbHash.c
浏览文件 @
9e41cce3
...
...
@@ -51,7 +51,9 @@ const char *sdbTableName(ESdbType type) {
case
SDB_TOPIC
:
return
"topic"
;
case
SDB_VGROUP
:
return
"vgId"
;
return
"vgroup"
;
case
SDB_SMA
:
return
"sma"
;
case
SDB_STB
:
return
"stb"
;
case
SDB_DB
:
...
...
@@ -86,13 +88,13 @@ void sdbPrintOper(SSdb *pSdb, SSdbRow *pRow, const char *oper) {
EKeyType
keyType
=
pSdb
->
keyTypes
[
pRow
->
type
];
if
(
keyType
==
SDB_KEY_BINARY
)
{
mTrace
(
"%s:%s, ref
Count:%d oper:%s row:%p status:%s"
,
sdbTableName
(
pRow
->
type
),
(
char
*
)
pRow
->
pObj
,
pRow
->
refCount
,
oper
,
pRow
->
pObj
,
sdbStatusStr
(
pRow
->
status
));
mTrace
(
"%s:%s, ref
:%d oper:%s row:%p status:%s"
,
sdbTableName
(
pRow
->
type
),
(
char
*
)
pRow
->
pObj
,
pRow
->
refCount
,
oper
,
pRow
->
pObj
,
sdbStatusStr
(
pRow
->
status
));
}
else
if
(
keyType
==
SDB_KEY_INT32
)
{
mTrace
(
"%s:%d, ref
Count:%d oper:%s row:%p status:%s"
,
sdbTableName
(
pRow
->
type
),
*
(
int32_t
*
)
pRow
->
pObj
,
pRow
->
refCount
,
oper
,
pRow
->
pObj
,
sdbStatusStr
(
pRow
->
status
));
mTrace
(
"%s:%d, ref
:%d oper:%s row:%p status:%s"
,
sdbTableName
(
pRow
->
type
),
*
(
int32_t
*
)
pRow
->
pObj
,
pRow
->
refCount
,
oper
,
pRow
->
pObj
,
sdbStatusStr
(
pRow
->
status
));
}
else
if
(
keyType
==
SDB_KEY_INT64
)
{
mTrace
(
"%s:%"
PRId64
", ref
Count
:%d oper:%s row:%p status:%s"
,
sdbTableName
(
pRow
->
type
),
*
(
int64_t
*
)
pRow
->
pObj
,
mTrace
(
"%s:%"
PRId64
", ref:%d oper:%s row:%p status:%s"
,
sdbTableName
(
pRow
->
type
),
*
(
int64_t
*
)
pRow
->
pObj
,
pRow
->
refCount
,
oper
,
pRow
->
pObj
,
sdbStatusStr
(
pRow
->
status
));
}
else
{
}
...
...
@@ -142,7 +144,7 @@ static int32_t sdbInsertRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow *
pRow
->
refCount
=
0
;
pRow
->
status
=
pRaw
->
status
;
sdbPrintOper
(
pSdb
,
pRow
,
"insert
Row
"
);
sdbPrintOper
(
pSdb
,
pRow
,
"insert"
);
if
(
taosHashPut
(
hash
,
pRow
->
pObj
,
keySize
,
&
pRow
,
sizeof
(
void
*
))
!=
0
)
{
taosWUnLockLatch
(
pLock
);
...
...
@@ -191,7 +193,7 @@ static int32_t sdbUpdateRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow *
SSdbRow
*
pOldRow
=
*
ppOldRow
;
pOldRow
->
status
=
pRaw
->
status
;
sdbPrintOper
(
pSdb
,
pOldRow
,
"update
Row
"
);
sdbPrintOper
(
pSdb
,
pOldRow
,
"update"
);
taosRUnLockLatch
(
pLock
);
int32_t
code
=
0
;
...
...
@@ -220,7 +222,7 @@ static int32_t sdbDeleteRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow *
SSdbRow
*
pOldRow
=
*
ppOldRow
;
pOldRow
->
status
=
pRaw
->
status
;
sdbPrintOper
(
pSdb
,
pOldRow
,
"delete
Row
"
);
sdbPrintOper
(
pSdb
,
pOldRow
,
"delete"
);
taosHashRemove
(
hash
,
pOldRow
->
pObj
,
keySize
);
taosWUnLockLatch
(
pLock
);
...
...
@@ -233,7 +235,7 @@ static int32_t sdbDeleteRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw, SSdbRow *
return
0
;
}
int32_t
sdbWrite
No
tFree
(
SSdb
*
pSdb
,
SSdbRaw
*
pRaw
)
{
int32_t
sdbWrite
Withou
tFree
(
SSdb
*
pSdb
,
SSdbRaw
*
pRaw
)
{
SHashObj
*
hash
=
sdbGetHash
(
pSdb
,
pRaw
->
type
);
if
(
hash
==
NULL
)
return
terrno
;
...
...
@@ -266,7 +268,7 @@ int32_t sdbWriteNotFree(SSdb *pSdb, SSdbRaw *pRaw) {
}
int32_t
sdbWrite
(
SSdb
*
pSdb
,
SSdbRaw
*
pRaw
)
{
int32_t
code
=
sdbWrite
No
tFree
(
pSdb
,
pRaw
);
int32_t
code
=
sdbWrite
Withou
tFree
(
pSdb
,
pRaw
);
sdbFreeRaw
(
pRaw
);
return
code
;
}
...
...
@@ -296,7 +298,7 @@ void *sdbAcquire(SSdb *pSdb, ESdbType type, const void *pKey) {
case
SDB_STATUS_UPDATING
:
atomic_add_fetch_32
(
&
pRow
->
refCount
,
1
);
pRet
=
pRow
->
pObj
;
sdbPrintOper
(
pSdb
,
pRow
,
"acquire
Row
"
);
sdbPrintOper
(
pSdb
,
pRow
,
"acquire"
);
break
;
case
SDB_STATUS_CREATING
:
terrno
=
TSDB_CODE_SDB_OBJ_CREATING
;
...
...
@@ -318,7 +320,7 @@ static void sdbCheck(SSdb *pSdb, SSdbRow *pRow) {
taosRLockLatch
(
pLock
);
int32_t
ref
=
atomic_load_32
(
&
pRow
->
refCount
);
sdbPrintOper
(
pSdb
,
pRow
,
"check
Row
"
);
sdbPrintOper
(
pSdb
,
pRow
,
"check"
);
if
(
ref
<=
0
&&
pRow
->
status
==
SDB_STATUS_DROPPED
)
{
sdbFreeRow
(
pSdb
,
pRow
);
}
...
...
@@ -330,13 +332,13 @@ void sdbRelease(SSdb *pSdb, void *pObj) {
if
(
pObj
==
NULL
)
return
;
SSdbRow
*
pRow
=
(
SSdbRow
*
)((
char
*
)
pObj
-
sizeof
(
SSdbRow
));
if
(
pRow
->
type
>=
SDB_MAX
)
return
;
if
(
pRow
->
type
>=
SDB_MAX
)
return
;
SRWLatch
*
pLock
=
&
pSdb
->
locks
[
pRow
->
type
];
taosRLockLatch
(
pLock
);
int32_t
ref
=
atomic_sub_fetch_32
(
&
pRow
->
refCount
,
1
);
sdbPrintOper
(
pSdb
,
pRow
,
"release
Row
"
);
sdbPrintOper
(
pSdb
,
pRow
,
"release"
);
if
(
ref
<=
0
&&
pRow
->
status
==
SDB_STATUS_DROPPED
)
{
sdbFreeRow
(
pSdb
,
pRow
);
}
...
...
@@ -372,7 +374,7 @@ void *sdbFetch(SSdb *pSdb, ESdbType type, void *pIter, void **ppObj) {
}
atomic_add_fetch_32
(
&
pRow
->
refCount
,
1
);
sdbPrintOper
(
pSdb
,
pRow
,
"fetch
Row
"
);
sdbPrintOper
(
pSdb
,
pRow
,
"fetch"
);
*
ppObj
=
pRow
->
pObj
;
break
;
}
...
...
source/dnode/mnode/sdb/src/sdbRaw.c
浏览文件 @
9e41cce3
...
...
@@ -27,7 +27,7 @@ SSdbRaw *sdbAllocRaw(ESdbType type, int8_t sver, int32_t dataLen) {
pRaw
->
sver
=
sver
;
pRaw
->
dataLen
=
dataLen
;
mTrace
(
"raw:%p, is created, len:%d
"
,
pRaw
,
dataLen
);
mTrace
(
"raw:%p, is created, len:%d
table:%s"
,
pRaw
,
dataLen
,
sdbTableName
(
type
)
);
return
pRaw
;
}
...
...
source/dnode/mnode/sdb/src/sdbRow.c
浏览文件 @
9e41cce3
...
...
@@ -43,7 +43,7 @@ void sdbFreeRow(SSdb *pSdb, SSdbRow *pRow) {
(
*
deleteFp
)(
pSdb
,
pRow
->
pObj
);
}
sdbPrintOper
(
pSdb
,
pRow
,
"free
Row
"
);
sdbPrintOper
(
pSdb
,
pRow
,
"free"
);
mTrace
(
"row:%p, is freed"
,
pRow
->
pObj
);
taosMemoryFreeClear
(
pRow
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录