Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
392564cc
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
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看板
提交
392564cc
编写于
10月 31, 2022
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
enh: refact syncEnv code
上级
8cdbcb89
变更
23
展开全部
显示空白变更内容
内联
并排
Showing
23 changed file
with
216 addition
and
356 deletion
+216
-356
include/libs/sync/sync.h
include/libs/sync/sync.h
+4
-2
include/libs/sync/syncTools.h
include/libs/sync/syncTools.h
+0
-4
include/util/tref.h
include/util/tref.h
+2
-1
source/dnode/mnode/impl/src/mndMain.c
source/dnode/mnode/impl/src/mndMain.c
+2
-7
source/dnode/vnode/src/vnd/vnodeSync.c
source/dnode/vnode/src/vnd/vnodeSync.c
+2
-2
source/libs/sync/inc/syncEnv.h
source/libs/sync/inc/syncEnv.h
+5
-11
source/libs/sync/inc/syncInt.h
source/libs/sync/inc/syncInt.h
+2
-6
source/libs/sync/src/syncEnv.c
source/libs/sync/src/syncEnv.c
+82
-86
source/libs/sync/src/syncMain.c
source/libs/sync/src/syncMain.c
+101
-219
source/libs/sync/test/syncElectTest.cpp
source/libs/sync/test/syncElectTest.cpp
+1
-1
source/libs/sync/test/syncEncodeTest.cpp
source/libs/sync/test/syncEncodeTest.cpp
+1
-1
source/libs/sync/test/syncEnqTest.cpp
source/libs/sync/test/syncEnqTest.cpp
+1
-1
source/libs/sync/test/syncEnvTest.cpp
source/libs/sync/test/syncEnvTest.cpp
+2
-4
source/libs/sync/test/syncIOSendMsgTest.cpp
source/libs/sync/test/syncIOSendMsgTest.cpp
+1
-1
source/libs/sync/test/syncInitTest.cpp
source/libs/sync/test/syncInitTest.cpp
+2
-2
source/libs/sync/test/syncPingSelfTest.cpp
source/libs/sync/test/syncPingSelfTest.cpp
+1
-1
source/libs/sync/test/syncPingTimerTest.cpp
source/libs/sync/test/syncPingTimerTest.cpp
+1
-1
source/libs/sync/test/syncPingTimerTest2.cpp
source/libs/sync/test/syncPingTimerTest2.cpp
+1
-1
source/libs/sync/test/syncSnapshotTest.cpp
source/libs/sync/test/syncSnapshotTest.cpp
+1
-1
source/libs/sync/test/syncVotesGrantedTest.cpp
source/libs/sync/test/syncVotesGrantedTest.cpp
+1
-1
source/libs/sync/test/syncVotesRespondTest.cpp
source/libs/sync/test/syncVotesRespondTest.cpp
+1
-1
source/libs/sync/test/syncWriteTest.cpp
source/libs/sync/test/syncWriteTest.cpp
+1
-1
source/util/src/tref.c
source/util/src/tref.c
+1
-1
未找到文件。
include/libs/sync/sync.h
浏览文件 @
392564cc
...
...
@@ -200,10 +200,10 @@ typedef struct SSyncInfo {
int32_t
syncInit
();
void
syncCleanUp
();
bool
syncIsInit
();
int64_t
syncOpen
(
SSyncInfo
*
pSyncInfo
);
void
syncStart
(
int64_t
rid
);
void
syncStop
(
int64_t
rid
);
int32_t
syncSetStandby
(
int64_t
rid
);
ESyncState
syncGetMyRole
(
int64_t
rid
);
bool
syncIsReady
(
int64_t
rid
);
const
char
*
syncGetMyRoleStr
(
int64_t
rid
);
...
...
@@ -216,7 +216,6 @@ void syncGetEpSet(int64_t rid, SEpSet* pEpSet);
void
syncGetRetryEpSet
(
int64_t
rid
,
SEpSet
*
pEpSet
);
int32_t
syncPropose
(
int64_t
rid
,
SRpcMsg
*
pMsg
,
bool
isWeak
);
// int32_t syncProposeBatch(int64_t rid, SRpcMsg** pMsgPArr, bool* pIsWeakArr, int32_t arrSize);
bool
syncEnvIsStart
();
const
char
*
syncStr
(
ESyncState
state
);
bool
syncIsRestoreFinish
(
int64_t
rid
);
int32_t
syncGetSnapshotByIndex
(
int64_t
rid
,
SyncIndex
index
,
SSnapshot
*
pSnapshot
);
...
...
@@ -234,6 +233,9 @@ int32_t syncEndSnapshot(int64_t rid);
int32_t
syncStepDown
(
int64_t
rid
,
SyncTerm
newTerm
);
SSyncNode
*
syncNodeAcquire
(
int64_t
rid
);
void
syncNodeRelease
(
SSyncNode
*
pNode
);
#ifdef __cplusplus
}
#endif
...
...
include/libs/sync/syncTools.h
浏览文件 @
392564cc
...
...
@@ -28,10 +28,6 @@ typedef struct SRaftId {
SyncGroupId
vgId
;
}
SRaftId
;
// ------------------ control -------------------
SSyncNode
*
syncNodeAcquire
(
int64_t
rid
);
void
syncNodeRelease
(
SSyncNode
*
pNode
);
int32_t
syncGetRespRpc
(
int64_t
rid
,
uint64_t
index
,
SRpcMsg
*
msg
);
int32_t
syncGetAndDelRespRpc
(
int64_t
rid
,
uint64_t
index
,
SRpcHandleInfo
*
pInfo
);
void
syncSetMsgCb
(
int64_t
rid
,
const
SMsgCb
*
msgcb
);
...
...
include/util/tref.h
浏览文件 @
392564cc
...
...
@@ -25,7 +25,8 @@ extern "C" {
// open a reference set, max is the mod used by hash, fp is the pointer to free resource function
// return rsetId which will be used by other APIs. On error, -1 is returned, and terrno is set appropriately
int32_t
taosOpenRef
(
int32_t
max
,
void
(
*
fp
)(
void
*
));
typedef
void
(
*
RefFp
)(
void
*
);
int32_t
taosOpenRef
(
int32_t
max
,
RefFp
fp
);
// close the reference set, refId is the return value by taosOpenRef
// return 0 if success. On error, -1 is returned, and terrno is set appropriately
...
...
source/dnode/mnode/impl/src/mndMain.c
浏览文件 @
392564cc
...
...
@@ -481,7 +481,7 @@ int32_t mndProcessSyncCtrlMsg(SRpcMsg *pMsg) {
mInfo
(
"vgId:%d, process sync ctrl msg"
,
1
);
if
(
!
sync
EnvIsStar
t
())
{
if
(
!
sync
IsIni
t
())
{
mError
(
"failed to process sync msg:%p type:%s since syncEnv stop"
,
pMsg
,
TMSG_INFO
(
pMsg
->
msgType
));
terrno
=
TSDB_CODE_SYN_INTERNAL_ERROR
;
return
-
1
;
...
...
@@ -518,7 +518,7 @@ int32_t mndProcessSyncMsg(SRpcMsg *pMsg) {
SSyncMgmt
*
pMgmt
=
&
pMnode
->
syncMgmt
;
int32_t
code
=
0
;
if
(
!
sync
EnvIsStar
t
())
{
if
(
!
sync
IsIni
t
())
{
mError
(
"failed to process sync msg:%p type:%s since syncEnv stop"
,
pMsg
,
TMSG_INFO
(
pMsg
->
msgType
));
terrno
=
TSDB_CODE_SYN_INTERNAL_ERROR
;
return
-
1
;
...
...
@@ -581,11 +581,6 @@ int32_t mndProcessSyncMsg(SRpcMsg *pMsg) {
code
=
syncNodeOnSnapshotReply
(
pSyncNode
,
pSyncMsg
);
syncSnapshotRspDestroy
(
pSyncMsg
);
}
else
if
(
pMsg
->
msgType
==
TDMT_SYNC_SET_MNODE_STANDBY
)
{
code
=
syncSetStandby
(
pMgmt
->
sync
);
SRpcMsg
rsp
=
{.
code
=
code
,
.
info
=
pMsg
->
info
};
tmsgSendRsp
(
&
rsp
);
}
else
if
(
pMsg
->
msgType
==
TDMT_SYNC_LOCAL_CMD
)
{
SyncLocalCmd
*
pSyncMsg
=
syncLocalCmdFromRpcMsg2
(
pMsg
);
code
=
syncNodeOnLocalCmd
(
pSyncNode
,
pSyncMsg
);
...
...
source/dnode/vnode/src/vnd/vnodeSync.c
浏览文件 @
392564cc
...
...
@@ -234,7 +234,7 @@ int32_t vnodeProcessSyncCtrlMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg **pRsp) {
int32_t
code
=
0
;
const
STraceId
*
trace
=
&
pMsg
->
info
.
traceId
;
if
(
!
sync
EnvIsStar
t
())
{
if
(
!
sync
IsIni
t
())
{
vGError
(
"vgId:%d, msg:%p failed to process since sync env not start"
,
pVnode
->
config
.
vgId
,
pMsg
);
terrno
=
TSDB_CODE_APP_ERROR
;
return
-
1
;
...
...
@@ -277,7 +277,7 @@ int32_t vnodeProcessSyncMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg **pRsp) {
int32_t
code
=
0
;
const
STraceId
*
trace
=
&
pMsg
->
info
.
traceId
;
if
(
!
sync
EnvIsStar
t
())
{
if
(
!
sync
IsIni
t
())
{
vGError
(
"vgId:%d, msg:%p failed to process since sync env not start"
,
pVnode
->
config
.
vgId
,
pMsg
);
terrno
=
TSDB_CODE_APP_ERROR
;
return
-
1
;
...
...
source/libs/sync/inc/syncEnv.h
浏览文件 @
392564cc
...
...
@@ -20,13 +20,7 @@
extern
"C"
{
#endif
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include "syncInt.h"
#include "taosdef.h"
#include "trpc.h"
#include "ttimer.h"
#define TIMER_MAX_MS 0x7FFFFFFF
#define ENV_TICK_TIMER_MS 1000
...
...
@@ -57,12 +51,12 @@ typedef struct SSyncEnv {
}
SSyncEnv
;
extern
SSyncEnv
*
gSyncEnv
;
SSyncEnv
*
syncEnv
()
;
int
32_t
syncEnvStart
(
);
int32_t
syncEnvStop
(
);
int32_t
syncEnvStartTimer
(
);
int32_t
syncEnvStopTimer
(
);
int
64_t
syncNodeAdd
(
SSyncNode
*
pNode
);
void
syncNodeRemove
(
SSyncNode
*
pNode
);
SSyncNode
*
syncNodeAcquire
(
int64_t
rid
);
void
syncNodeRelease
(
SSyncNode
*
pNode
);
#ifdef __cplusplus
}
...
...
source/libs/sync/inc/syncInt.h
浏览文件 @
392564cc
...
...
@@ -24,6 +24,8 @@ extern "C" {
#include "syncTools.h"
#include "tlog.h"
#include "ttimer.h"
#include "taosdef.h"
#include "ttimer.h"
// clang-format off
#define sFatal(...) do { if (sDebugFlag & DEBUG_FATAL) { taosPrintLog("SYN FATAL ", DEBUG_FATAL, 255, __VA_ARGS__); }} while(0)
...
...
@@ -255,9 +257,6 @@ void syncNodeDoConfigChange(SSyncNode* pSyncNode, SSyncCfg* newConfig, Sync
SyncIndex
syncMinMatchIndex
(
SSyncNode
*
pSyncNode
);
char
*
syncNodePeerState2Str
(
const
SSyncNode
*
pSyncNode
);
SSyncNode
*
syncNodeAcquire
(
int64_t
rid
);
void
syncNodeRelease
(
SSyncNode
*
pNode
);
// raft state change --------------
void
syncNodeUpdateTerm
(
SSyncNode
*
pSyncNode
,
SyncTerm
term
);
void
syncNodeUpdateTermWithoutStepDown
(
SSyncNode
*
pSyncNode
,
SyncTerm
term
);
...
...
@@ -302,9 +301,6 @@ bool syncNodeNeedSendAppendEntries(SSyncNode* ths, const SRaftId* pDestId, const
int32_t
syncGetSnapshotMeta
(
int64_t
rid
,
struct
SSnapshotMeta
*
sMeta
);
int32_t
syncGetSnapshotMetaByIndex
(
int64_t
rid
,
SyncIndex
snapshotIndex
,
struct
SSnapshotMeta
*
sMeta
);
void
syncStartNormal
(
int64_t
rid
);
void
syncStartStandBy
(
int64_t
rid
);
bool
syncNodeCanChange
(
SSyncNode
*
pSyncNode
);
bool
syncNodeCheckNewConfig
(
SSyncNode
*
pSyncNode
,
const
SSyncCfg
*
pNewCfg
);
...
...
source/libs/sync/src/syncEnv.c
浏览文件 @
392564cc
...
...
@@ -13,118 +13,114 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define _DEFAULT_SOURCE
#include "syncEnv.h"
// #include <ASSERT.h>
#include "tref.h"
SSyncEnv
*
gSyncEnv
=
NULL
;
// local function -----------------
static
SSyncEnv
*
doSyncEnvStart
();
static
int32_t
doSyncEnvStop
(
SSyncEnv
*
pSyncEnv
);
static
int32_t
doSyncEnvStartTimer
(
SSyncEnv
*
pSyncEnv
);
static
int32_t
doSyncEnvStopTimer
(
SSyncEnv
*
pSyncEnv
);
static
SSyncEnv
gSyncEnv
=
{
0
};
static
int32_t
gNodeRefId
=
-
1
;
bool
gRaftDetailLog
=
false
;
static
void
syncEnvTick
(
void
*
param
,
void
*
tmrId
);
// --------------------------------
bool
syncEnvIsStart
()
{
if
(
gSyncEnv
==
NULL
)
{
return
false
;
}
SSyncEnv
*
syncEnv
()
{
return
&
gSyncEnv
;
}
return
atomic_load_8
(
&
(
gSyncEnv
->
isStart
));
}
bool
syncIsInit
()
{
return
atomic_load_8
(
&
gSyncEnv
.
isStart
);
}
int32_t
syncInit
()
{
if
(
syncIsInit
())
return
0
;
int32_t
syncEnvStart
()
{
int32_t
ret
=
0
;
uint32_t
seed
=
(
uint32_t
)(
taosGetTimestampNs
()
&
0x00000000FFFFFFFF
);
taosSeedRand
(
seed
);
// gSyncEnv = doSyncEnvStart(gSyncEnv);
gSyncEnv
=
doSyncEnvStart
();
ASSERT
(
gSyncEnv
!=
NULL
);
sTrace
(
"sync env start ok"
);
return
ret
;
}
int32_t
syncEnvStop
()
{
int32_t
ret
=
doSyncEnvStop
(
gSyncEnv
);
return
ret
;
}
memset
(
&
gSyncEnv
,
0
,
sizeof
(
SSyncEnv
));
gSyncEnv
.
envTickTimerCounter
=
0
;
gSyncEnv
.
envTickTimerMS
=
ENV_TICK_TIMER_MS
;
gSyncEnv
.
FpEnvTickTimer
=
syncEnvTick
;
atomic_store_64
(
&
gSyncEnv
.
envTickTimerLogicClock
,
0
);
atomic_store_64
(
&
gSyncEnv
.
envTickTimerLogicClockUser
,
0
);
int32_t
syncEnvStartTimer
()
{
int32_t
ret
=
doSyncEnvStartTimer
(
gSyncEnv
);
return
ret
;
}
// start tmr thread
gSyncEnv
.
pTimerManager
=
taosTmrInit
(
1000
,
50
,
10000
,
"SYNC-ENV"
);
atomic_store_8
(
&
gSyncEnv
.
isStart
,
1
);
gNodeRefId
=
taosOpenRef
(
200
,
(
RefFp
)
syncNodeClose
);
if
(
gNodeRefId
<
0
)
{
sError
(
"failed to init node ref"
);
syncCleanUp
();
return
-
1
;
}
int32_t
syncEnvStopTimer
()
{
int32_t
ret
=
doSyncEnvStopTimer
(
gSyncEnv
);
return
ret
;
sDebug
(
"sync rsetId:%d is open"
,
gNodeRefId
);
return
0
;
}
// local function -----------------
static
void
syncEnvTick
(
void
*
param
,
void
*
tmrId
)
{
SSyncEnv
*
pSyncEnv
=
(
SSyncEnv
*
)
param
;
if
(
atomic_load_64
(
&
pSyncEnv
->
envTickTimerLogicClockUser
)
<=
atomic_load_64
(
&
pSyncEnv
->
envTickTimerLogicClock
))
{
++
(
pSyncEnv
->
envTickTimerCounter
);
sTrace
(
"syncEnvTick do ... envTickTimerLogicClockUser:%"
PRIu64
", envTickTimerLogicClock:%"
PRIu64
", envTickTimerCounter:%"
PRIu64
", "
"envTickTimerMS:%d, tmrId:%p"
,
pSyncEnv
->
envTickTimerLogicClockUser
,
pSyncEnv
->
envTickTimerLogicClock
,
pSyncEnv
->
envTickTimerCounter
,
pSyncEnv
->
envTickTimerMS
,
tmrId
);
void
syncCleanUp
()
{
atomic_store_8
(
&
gSyncEnv
.
isStart
,
0
);
taosTmrCleanUp
(
gSyncEnv
.
pTimerManager
);
memset
(
&
gSyncEnv
,
0
,
sizeof
(
SSyncEnv
));
// do something, tick ...
taosTmrReset
(
syncEnvTick
,
pSyncEnv
->
envTickTimerMS
,
pSyncEnv
,
pSyncEnv
->
pTimerManager
,
&
pSyncEnv
->
pEnvTickTimer
);
}
else
{
sTrace
(
"syncEnvTick pass ... envTickTimerLogicClockUser:%"
PRIu64
", envTickTimerLogicClock:%"
PRIu64
", envTickTimerCounter:%"
PRIu64
", "
"envTickTimerMS:%d, tmrId:%p"
,
pSyncEnv
->
envTickTimerLogicClockUser
,
pSyncEnv
->
envTickTimerLogicClock
,
pSyncEnv
->
envTickTimerCounter
,
pSyncEnv
->
envTickTimerMS
,
tmrId
);
if
(
gNodeRefId
!=
-
1
)
{
sDebug
(
"sync rsetId:%d is closed"
,
gNodeRefId
);
taosCloseRef
(
gNodeRefId
);
gNodeRefId
=
-
1
;
}
}
static
SSyncEnv
*
doSyncEnvStart
()
{
SSyncEnv
*
pSyncEnv
=
(
SSyncEnv
*
)
taosMemoryMalloc
(
sizeof
(
SSyncEnv
));
ASSERT
(
pSyncEnv
!=
NULL
);
memset
(
pSyncEnv
,
0
,
sizeof
(
SSyncEnv
));
pSyncEnv
->
envTickTimerCounter
=
0
;
pSyncEnv
->
envTickTimerMS
=
ENV_TICK_TIMER_MS
;
pSyncEnv
->
FpEnvTickTimer
=
syncEnvTick
;
atomic_store_64
(
&
pSyncEnv
->
envTickTimerLogicClock
,
0
);
atomic_store_64
(
&
pSyncEnv
->
envTickTimerLogicClockUser
,
0
);
int64_t
syncNodeAdd
(
SSyncNode
*
pNode
)
{
pNode
->
rid
=
taosAddRef
(
gNodeRefId
,
pNode
);
if
(
pNode
->
rid
<
0
)
return
-
1
;
// start tmr thread
pSyncEnv
->
pTimerManager
=
taosTmrInit
(
1000
,
50
,
10000
,
"SYNC-ENV"
);
sDebug
(
"vgId:%d, sync rid:%"
PRId64
" is added to rsetId:%d"
,
pNode
->
vgId
,
pNode
->
rid
,
gNodeRefId
);
return
0
;
}
atomic_store_8
(
&
(
pSyncEnv
->
isStart
),
1
);
return
pSyncEnv
;
void
syncNodeRemove
(
SSyncNode
*
pNode
)
{
taosRemoveRef
(
gNodeRefId
,
pNode
->
rid
);
sDebug
(
"vgId:%d, sync rid:%"
PRId64
" is removed from rsetId:%d"
,
pNode
->
vgId
,
pNode
->
rid
,
gNodeRefId
);
}
static
int32_t
doSyncEnvStop
(
SSyncEnv
*
pSyncEnv
)
{
ASSERT
(
pSyncEnv
==
gSyncEnv
);
if
(
pSyncEnv
!=
NULL
)
{
atomic_store_8
(
&
(
pSyncEnv
->
isStart
),
0
);
taosTmrCleanUp
(
pSyncEnv
->
pTimerManager
);
taosMemoryFree
(
pSyncEnv
);
SSyncNode
*
syncNodeAcquire
(
int64_t
rid
)
{
SSyncNode
*
pNode
=
taosAcquireRef
(
gNodeRefId
,
rid
);
if
(
pNode
==
NULL
)
{
sTrace
(
"failed to acquire node from refId:%"
PRId64
,
rid
);
}
gSyncEnv
=
NULL
;
return
0
;
return
pNode
;
}
static
int32_t
doSyncEnvStartTimer
(
SSyncEnv
*
pSyncEnv
)
{
int32_t
ret
=
0
;
taosTmrReset
(
pSyncEnv
->
FpEnvTickTimer
,
pSyncEnv
->
envTickTimerMS
,
pSyncEnv
,
pSyncEnv
->
pTimerManager
,
&
pSyncEnv
->
pEnvTickTimer
);
atomic_store_64
(
&
pSyncEnv
->
envTickTimerLogicClock
,
pSyncEnv
->
envTickTimerLogicClockUser
);
return
ret
;
void
syncNodeRelease
(
SSyncNode
*
pNode
)
{
taosReleaseRef
(
gNodeRefId
,
pNode
->
rid
);
}
#if 0
void syncEnvStartTimer() {
taosTmrReset(gSyncEnv.FpEnvTickTimer, gSyncEnv.envTickTimerMS, &gSyncEnv, gSyncEnv.pTimerManager,
&gSyncEnv.pEnvTickTimer);
atomic_store_64(&gSyncEnv.envTickTimerLogicClock, gSyncEnv.envTickTimerLogicClockUser);
}
static
int32_t
doSyncEnvStopTimer
(
SSyncEnv
*
pSyncEnv
)
{
void syncEnvStopTimer(
) {
int32_t ret = 0;
atomic_add_fetch_64
(
&
pSyncEnv
->
envTickTimerLogicClockUser
,
1
);
taosTmrStop
(
pSyncEnv
->
pEnvTickTimer
);
pSyncEnv
->
pEnvTickTimer
=
NULL
;
atomic_add_fetch_64(&
gSyncEnv.
envTickTimerLogicClockUser, 1);
taosTmrStop(
gSyncEnv.
pEnvTickTimer);
gSyncEnv.
pEnvTickTimer = NULL;
return ret;
}
#endif
static
void
syncEnvTick
(
void
*
param
,
void
*
tmrId
)
{
SSyncEnv
*
pSyncEnv
=
param
;
if
(
atomic_load_64
(
&
gSyncEnv
.
envTickTimerLogicClockUser
)
<=
atomic_load_64
(
&
gSyncEnv
.
envTickTimerLogicClock
))
{
gSyncEnv
.
envTickTimerCounter
++
;
sTrace
(
"syncEnvTick do ... envTickTimerLogicClockUser:%"
PRIu64
", envTickTimerLogicClock:%"
PRIu64
", envTickTimerCounter:%"
PRIu64
", envTickTimerMS:%d, tmrId:%p"
,
gSyncEnv
.
envTickTimerLogicClockUser
,
gSyncEnv
.
envTickTimerLogicClock
,
gSyncEnv
.
envTickTimerCounter
,
gSyncEnv
.
envTickTimerMS
,
tmrId
);
// do something, tick ...
taosTmrReset
(
syncEnvTick
,
gSyncEnv
.
envTickTimerMS
,
pSyncEnv
,
gSyncEnv
.
pTimerManager
,
&
gSyncEnv
.
pEnvTickTimer
);
}
else
{
sTrace
(
"syncEnvTick pass ... envTickTimerLogicClockUser:%"
PRIu64
", envTickTimerLogicClock:%"
PRIu64
", envTickTimerCounter:%"
PRIu64
", envTickTimerMS:%d, tmrId:%p"
,
gSyncEnv
.
envTickTimerLogicClockUser
,
gSyncEnv
.
envTickTimerLogicClock
,
gSyncEnv
.
envTickTimerCounter
,
gSyncEnv
.
envTickTimerMS
,
tmrId
);
}
}
source/libs/sync/src/syncMain.c
浏览文件 @
392564cc
此差异已折叠。
点击以展开。
source/libs/sync/test/syncElectTest.cpp
浏览文件 @
392564cc
...
...
@@ -98,7 +98,7 @@ int main(int argc, char** argv) {
init
();
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
gPorts
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
char
walPath
[
128
];
...
...
source/libs/sync/test/syncEncodeTest.cpp
浏览文件 @
392564cc
...
...
@@ -152,7 +152,7 @@ int main(int argc, char **argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
taosRemoveDir
(
"./wal_test"
);
...
...
source/libs/sync/test/syncEnqTest.cpp
浏览文件 @
392564cc
...
...
@@ -81,7 +81,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
source/libs/sync/test/syncEnvTest.cpp
浏览文件 @
392564cc
...
...
@@ -22,7 +22,7 @@ int main() {
logTest
();
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
...
...
@@ -37,8 +37,6 @@ int main() {
taosMsleep
(
5000
);
}
ret
=
syncEnvStop
();
assert
(
ret
==
0
);
syncCleanUp
();
return
0
;
}
source/libs/sync/test/syncIOSendMsgTest.cpp
浏览文件 @
392564cc
...
...
@@ -82,7 +82,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
source/libs/sync/test/syncInitTest.cpp
浏览文件 @
392564cc
...
...
@@ -81,7 +81,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
@@ -91,7 +91,7 @@ int main(int argc, char** argv) {
initRaftId
(
pSyncNode
);
syncNodeClose
(
pSyncNode
);
sync
EnvSto
p
();
sync
CleanU
p
();
// syncIOStop();
// taosCloseLog();
...
...
source/libs/sync/test/syncPingSelfTest.cpp
浏览文件 @
392564cc
...
...
@@ -81,7 +81,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
source/libs/sync/test/syncPingTimerTest.cpp
浏览文件 @
392564cc
...
...
@@ -81,7 +81,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
source/libs/sync/test/syncPingTimerTest2.cpp
浏览文件 @
392564cc
...
...
@@ -81,7 +81,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
source/libs/sync/test/syncSnapshotTest.cpp
浏览文件 @
392564cc
...
...
@@ -179,7 +179,7 @@ int main(int argc, char **argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
// taosRemoveDir(pWalDir);
...
...
source/libs/sync/test/syncVotesGrantedTest.cpp
浏览文件 @
392564cc
...
...
@@ -82,7 +82,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
source/libs/sync/test/syncVotesRespondTest.cpp
浏览文件 @
392564cc
...
...
@@ -82,7 +82,7 @@ int main(int argc, char** argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
SSyncNode
*
pSyncNode
=
syncInitTest
();
...
...
source/libs/sync/test/syncWriteTest.cpp
浏览文件 @
392564cc
...
...
@@ -154,7 +154,7 @@ int main(int argc, char **argv) {
int32_t
ret
=
syncIOStart
((
char
*
)
"127.0.0.1"
,
ports
[
myIndex
]);
assert
(
ret
==
0
);
ret
=
sync
EnvStar
t
();
ret
=
sync
Ini
t
();
assert
(
ret
==
0
);
taosRemoveDir
(
"./wal_test"
);
...
...
source/util/src/tref.c
浏览文件 @
392564cc
...
...
@@ -57,7 +57,7 @@ static void taosIncRsetCount(SRefSet *pSet);
static
void
taosDecRsetCount
(
SRefSet
*
pSet
);
static
int32_t
taosDecRefCount
(
int32_t
rsetId
,
int64_t
rid
,
int32_t
remove
);
int32_t
taosOpenRef
(
int32_t
max
,
void
(
*
fp
)(
void
*
)
)
{
int32_t
taosOpenRef
(
int32_t
max
,
RefFp
fp
)
{
SRefNode
**
nodeList
;
SRefSet
*
pSet
;
int64_t
*
lockedBy
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录