Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
d20c24f9
T
TDengine
项目概览
taosdata
/
TDengine
大约 1 年 前同步成功
通知
1185
Star
22015
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
d20c24f9
编写于
6月 09, 2020
作者:
S
Shengliang Guan
提交者:
GitHub
6月 09, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #2212 from taosdata/hotfix/crash
Hotfix/crash
上级
298c03be
f4f75a0c
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
40 addition
and
28 deletion
+40
-28
src/common/inc/tdataformat.h
src/common/inc/tdataformat.h
+2
-2
src/dnode/src/dnodePeer.c
src/dnode/src/dnodePeer.c
+6
-5
src/dnode/src/dnodeShell.c
src/dnode/src/dnodeShell.c
+8
-6
src/dnode/src/dnodeSystem.c
src/dnode/src/dnodeSystem.c
+1
-1
src/mnode/src/mnodeDb.c
src/mnode/src/mnodeDb.c
+1
-1
src/mnode/src/mnodeDnode.c
src/mnode/src/mnodeDnode.c
+5
-3
src/mnode/src/mnodeMain.c
src/mnode/src/mnodeMain.c
+6
-2
src/mnode/src/mnodeProfile.c
src/mnode/src/mnodeProfile.c
+1
-1
src/mnode/src/mnodeSdb.c
src/mnode/src/mnodeSdb.c
+9
-7
src/mnode/src/mnodeShow.c
src/mnode/src/mnodeShow.c
+1
-0
未找到文件。
src/common/inc/tdataformat.h
浏览文件 @
d20c24f9
...
...
@@ -31,7 +31,7 @@ extern "C" {
do { \
VarDataLenT __len = strlen(str); \
*(VarDataLenT *)(x) = __len; \
strn
cpy(varDataVal(x), (str), __len); \
mem
cpy(varDataVal(x), (str), __len); \
} while (0);
#define STR_WITH_MAXSIZE_TO_VARSTR(x, str, _maxs) \
...
...
@@ -43,7 +43,7 @@ extern "C" {
#define STR_WITH_SIZE_TO_VARSTR(x, str, _size) \
do { \
*(VarDataLenT *)(x) = (_size); \
strn
cpy(varDataVal(x), (str), (_size)); \
mem
cpy(varDataVal(x), (str), (_size)); \
} while (0);
// ----------------- TSDB COLUMN DEFINITION
...
...
src/dnode/src/dnodePeer.c
浏览文件 @
d20c24f9
...
...
@@ -83,11 +83,12 @@ void dnodeCleanupServer() {
}
static
void
dnodeProcessReqMsgFromDnode
(
SRpcMsg
*
pMsg
,
SRpcIpSet
*
pIpSet
)
{
SRpcMsg
rspMsg
;
rspMsg
.
handle
=
pMsg
->
handle
;
rspMsg
.
pCont
=
NULL
;
rspMsg
.
contLen
=
0
;
SRpcMsg
rspMsg
=
{
.
handle
=
pMsg
->
handle
,
.
pCont
=
NULL
,
.
contLen
=
0
};
if
(
dnodeGetRunStatus
()
!=
TSDB_DNODE_RUN_STATUS_RUNING
)
{
rspMsg
.
code
=
TSDB_CODE_RPC_NOT_READY
;
rpcSendResponse
(
&
rspMsg
);
...
...
src/dnode/src/dnodeShell.c
浏览文件 @
d20c24f9
...
...
@@ -19,6 +19,7 @@
#include "taosdef.h"
#include "taosmsg.h"
#include "tglobal.h"
#include "tutil.h"
#include "http.h"
#include "mnode.h"
#include "dnode.h"
...
...
@@ -108,10 +109,11 @@ void dnodeCleanupShell() {
}
void
dnodeProcessMsgFromShell
(
SRpcMsg
*
pMsg
,
SRpcIpSet
*
pIpSet
)
{
SRpcMsg
rpcMsg
;
rpcMsg
.
handle
=
pMsg
->
handle
;
rpcMsg
.
pCont
=
NULL
;
rpcMsg
.
contLen
=
0
;
SRpcMsg
rpcMsg
=
{
.
handle
=
pMsg
->
handle
,
.
pCont
=
NULL
,
.
contLen
=
0
};
if
(
dnodeGetRunStatus
()
!=
TSDB_DNODE_RUN_STATUS_RUNING
)
{
dError
(
"RPC %p, shell msg:%s is ignored since dnode not running"
,
pMsg
->
handle
,
taosMsg
[
pMsg
->
msgType
]);
...
...
@@ -143,7 +145,7 @@ static int dnodeRetrieveUserAuthInfo(char *user, char *spi, char *encrypt, char
if
(
code
!=
TSDB_CODE_RPC_NOT_READY
)
return
code
;
SDMAuthMsg
*
pMsg
=
rpcMallocCont
(
sizeof
(
SDMAuthMsg
));
strcpy
(
pMsg
->
user
,
user
);
tstrncpy
(
pMsg
->
user
,
user
,
TSDB_USER_LEN
);
SRpcMsg
rpcMsg
=
{
0
};
rpcMsg
.
pCont
=
pMsg
;
...
...
@@ -201,7 +203,7 @@ void *dnodeSendCfgTableToRecv(int32_t vgId, int32_t sid) {
int16_t
numOfTags
=
htons
(
pTable
->
numOfTags
);
int32_t
sid
=
htonl
(
pTable
->
sid
);
uint64_t
uid
=
htobe64
(
pTable
->
uid
);
dPrint
(
"table:%s, numOfColumns:%d numOfTags:%d sid:%d uid:%
d"
,
pTable
->
tableId
,
numOfColumns
,
numOfTags
,
sid
,
uid
);
dPrint
(
"table:%s, numOfColumns:%d numOfTags:%d sid:%d uid:%
"
PRIu64
,
pTable
->
tableId
,
numOfColumns
,
numOfTags
,
sid
,
uid
);
return
rpcRsp
.
pCont
;
}
...
...
src/dnode/src/dnodeSystem.c
浏览文件 @
d20c24f9
...
...
@@ -33,7 +33,7 @@ int32_t main(int32_t argc, char *argv[]) {
printf
(
"config file path overflow"
);
exit
(
EXIT_FAILURE
);
}
strcpy
(
configDir
,
argv
[
i
]
);
tstrncpy
(
configDir
,
argv
[
i
],
TSDB_FILENAME_LEN
);
}
else
{
printf
(
"'-c' requires a parameter, default:%s
\n
"
,
configDir
);
exit
(
EXIT_FAILURE
);
...
...
src/mnode/src/mnodeDb.c
浏览文件 @
d20c24f9
...
...
@@ -882,7 +882,7 @@ static SDbCfg mnodeGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
}
if
(
pDb
->
cfg
.
replications
-
replications
>=
2
)
{
mError
(
"db:%s, replica number can't change from
3 to 1"
,
pDb
->
name
,
replications
);
mError
(
"db:%s, replica number can't change from
%d to %d"
,
pDb
->
name
,
pDb
->
cfg
.
replications
,
replications
);
terrno
=
TSDB_CODE_MND_INVALID_DB_OPTION
;
}
}
...
...
src/mnode/src/mnodeDnode.c
浏览文件 @
d20c24f9
...
...
@@ -90,7 +90,7 @@ static int32_t mnodeDnodeActionDelete(SSdbOper *pOper) {
static
int32_t
mnodeDnodeActionUpdate
(
SSdbOper
*
pOper
)
{
SDnodeObj
*
pDnode
=
pOper
->
pObj
;
SDnodeObj
*
pSaved
=
mnodeGetDnode
(
pDnode
->
dnodeId
);
if
(
pDnode
!=
pSaved
)
{
if
(
pDnode
!=
pSaved
&&
pDnode
!=
NULL
&&
pSaved
!=
NULL
)
{
memcpy
(
pSaved
,
pDnode
,
pOper
->
rowSize
);
free
(
pDnode
);
}
...
...
@@ -237,7 +237,9 @@ void mnodeUpdateDnode(SDnodeObj *pDnode) {
.
pObj
=
pDnode
};
sdbUpdateRow
(
&
oper
);
if
(
sdbUpdateRow
(
&
oper
)
!=
0
)
{
mError
(
"dnodeId:%d, failed update"
,
pDnode
->
dnodeId
);
}
}
static
int32_t
mnodeProcessCfgDnodeMsg
(
SMnodeMsg
*
pMsg
)
{
...
...
@@ -383,7 +385,7 @@ static int32_t mnodeCreateDnode(char *ep) {
pDnode
->
createdTime
=
taosGetTimestampMs
();
pDnode
->
status
=
TAOS_DN_STATUS_OFFLINE
;
pDnode
->
totalVnodes
=
TSDB_INVALID_VNODE_NUM
;
strcpy
(
pDnode
->
dnodeEp
,
ep
);
tstrncpy
(
pDnode
->
dnodeEp
,
ep
,
TSDB_EP_LEN
);
taosGetFqdnPortFromEp
(
ep
,
pDnode
->
dnodeFqdn
,
&
pDnode
->
dnodePort
);
SSdbOper
oper
=
{
...
...
src/mnode/src/mnodeMain.c
浏览文件 @
d20c24f9
...
...
@@ -134,8 +134,12 @@ void mnodeStopSystem() {
}
mnodeCleanupSystem
();
mPrint
(
"mnode file is removed"
);
remove
(
tsMnodeDir
);
if
(
remove
(
tsMnodeDir
)
!=
0
)
{
mPrint
(
"failed to remove mnode file, reason:%s"
,
strerror
(
errno
));
}
else
{
mPrint
(
"mnode file is removed"
);
}
}
static
void
mnodeInitTimer
()
{
...
...
src/mnode/src/mnodeProfile.c
浏览文件 @
d20c24f9
...
...
@@ -97,7 +97,7 @@ SConnObj *mnodeCreateConn(char *user, uint32_t ip, uint16_t port) {
.
connId
=
connId
,
.
stime
=
taosGetTimestampMs
()
};
strcpy
(
connObj
.
user
,
user
);
tstrncpy
(
connObj
.
user
,
user
,
TSDB_USER_LEN
);
char
key
[
10
];
sprintf
(
key
,
"%u"
,
connId
);
...
...
src/mnode/src/mnodeSdb.c
浏览文件 @
d20c24f9
...
...
@@ -30,6 +30,8 @@
#include "mnodeDnode.h"
#include "mnodeSdb.h"
#define SDB_TABLE_LEN 12
typedef
enum
{
SDB_ACTION_INSERT
,
SDB_ACTION_DELETE
,
...
...
@@ -43,7 +45,7 @@ typedef enum {
}
ESdbStatus
;
typedef
struct
_SSdbTable
{
char
tableName
[
TSDB_DB_NAM
E_LEN
];
char
tableName
[
SDB_TABL
E_LEN
];
ESdbTable
tableId
;
ESdbKey
keyType
;
int32_t
hashSessions
;
...
...
@@ -174,10 +176,10 @@ static void sdbRestoreTables() {
totalRows
+=
pTable
->
numOfRows
;
numOfTables
++
;
sdbTrace
(
"table:%s, is restored, numOfRows:%
d"
,
pTable
->
tableName
,
pTable
->
numOfRows
);
sdbTrace
(
"table:%s, is restored, numOfRows:%
"
PRId64
,
pTable
->
tableName
,
pTable
->
numOfRows
);
}
sdbTrace
(
"sdb is restored, version:%
d
totalRows:%d numOfTables:%d"
,
tsSdbObj
.
version
,
totalRows
,
numOfTables
);
sdbTrace
(
"sdb is restored, version:%
"
PRId64
"
totalRows:%d numOfTables:%d"
,
tsSdbObj
.
version
,
totalRows
,
numOfTables
);
}
void
sdbUpdateMnodeRoles
()
{
...
...
@@ -449,7 +451,7 @@ static int32_t sdbInsertHash(SSdbTable *pTable, SSdbOper *pOper) {
pthread_mutex_unlock
(
&
pTable
->
mutex
);
sdbTrace
(
"table:%s, insert record:%s to hash, rowSize:%d vnumOfRows:%
d
version:%"
PRIu64
,
pTable
->
tableName
,
sdbTrace
(
"table:%s, insert record:%s to hash, rowSize:%d vnumOfRows:%
"
PRId64
"
version:%"
PRIu64
,
pTable
->
tableName
,
sdbGetKeyStrFromObj
(
pTable
,
pOper
->
pObj
),
pOper
->
rowSize
,
pTable
->
numOfRows
,
sdbGetVersion
());
(
*
pTable
->
insertFp
)(
pOper
);
...
...
@@ -473,7 +475,7 @@ static int32_t sdbDeleteHash(SSdbTable *pTable, SSdbOper *pOper) {
pTable
->
numOfRows
--
;
pthread_mutex_unlock
(
&
pTable
->
mutex
);
sdbTrace
(
"table:%s, delete record:%s from hash, numOfRows:%d
version:%"
PRIu64
,
pTable
->
tableName
,
sdbTrace
(
"table:%s, delete record:%s from hash, numOfRows:%d
"
PRId64
"
version:%"
PRIu64
,
pTable
->
tableName
,
sdbGetKeyStrFromObj
(
pTable
,
pOper
->
pObj
),
pTable
->
numOfRows
,
sdbGetVersion
());
int8_t
*
updateEnd
=
pOper
->
pObj
+
pTable
->
refCountPos
-
1
;
...
...
@@ -484,7 +486,7 @@ static int32_t sdbDeleteHash(SSdbTable *pTable, SSdbOper *pOper) {
}
static
int32_t
sdbUpdateHash
(
SSdbTable
*
pTable
,
SSdbOper
*
pOper
)
{
sdbTrace
(
"table:%s, update record:%s in hash, numOfRows:%
d
version:%"
PRIu64
,
pTable
->
tableName
,
sdbTrace
(
"table:%s, update record:%s in hash, numOfRows:%
"
PRId64
"
version:%"
PRIu64
,
pTable
->
tableName
,
sdbGetKeyStrFromObj
(
pTable
,
pOper
->
pObj
),
pTable
->
numOfRows
,
sdbGetVersion
());
(
*
pTable
->
updateFp
)(
pOper
);
...
...
@@ -717,7 +719,7 @@ void *sdbOpenTable(SSdbTableDesc *pDesc) {
if
(
pTable
==
NULL
)
return
NULL
;
strcpy
(
pTable
->
tableName
,
pDesc
->
tableName
);
tstrncpy
(
pTable
->
tableName
,
pDesc
->
tableName
,
SDB_TABLE_LEN
);
pTable
->
keyType
=
pDesc
->
keyType
;
pTable
->
tableId
=
pDesc
->
tableId
;
pTable
->
hashSessions
=
pDesc
->
hashSessions
;
...
...
src/mnode/src/mnodeShow.c
浏览文件 @
d20c24f9
...
...
@@ -324,6 +324,7 @@ static int32_t mnodeProcessConnectMsg(SMnodeMsg *pMsg) {
connect_over:
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
rpcFreeCont
(
pConnectRsp
);
mLError
(
"user:%s login from %s, result:%s"
,
connInfo
.
user
,
taosIpStr
(
connInfo
.
clientIp
),
tstrerror
(
code
));
}
else
{
mLPrint
(
"user:%s login from %s, result:%s"
,
connInfo
.
user
,
taosIpStr
(
connInfo
.
clientIp
),
tstrerror
(
code
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录