Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
JDChain
Bftsmart
提交
2c7187bf
B
Bftsmart
项目概览
JDChain
/
Bftsmart
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
B
Bftsmart
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
2c7187bf
编写于
4月 08, 2012
作者:
L
liquidsnake@sapo.pt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Copied fixes from branche to main trunk, part 4
上级
42a67680
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
27 addition
and
22 deletion
+27
-22
src/navigators/smart/paxosatwar/executionmanager/ExecutionManager.java
...s/smart/paxosatwar/executionmanager/ExecutionManager.java
+2
-1
src/navigators/smart/paxosatwar/roles/Acceptor.java
src/navigators/smart/paxosatwar/roles/Acceptor.java
+2
-1
src/navigators/smart/tom/core/DeliveryThread.java
src/navigators/smart/tom/core/DeliveryThread.java
+22
-20
src/navigators/smart/tom/server/defaultservices/DefaultRecoverable.java
.../smart/tom/server/defaultservices/DefaultRecoverable.java
+1
-0
未找到文件。
src/navigators/smart/paxosatwar/executionmanager/ExecutionManager.java
浏览文件 @
2c7187bf
...
...
@@ -164,7 +164,8 @@ public final class ExecutionManager {
//process stopped messages
while
(!
stoppedMsgs
.
isEmpty
())
{
acceptor
.
processMessage
(
stoppedMsgs
.
remove
());
PaxosMessage
pm
=
stoppedMsgs
.
remove
();
if
(
pm
.
getNumber
()
>
tomLayer
.
getLastExec
())
acceptor
.
processMessage
(
pm
);
}
stoppedMsgsLock
.
unlock
();
Logger
.
println
(
"(ExecutionManager.restart) Finished stopped messages processing"
);
...
...
src/navigators/smart/paxosatwar/roles/Acceptor.java
浏览文件 @
2c7187bf
...
...
@@ -290,7 +290,8 @@ public final class Acceptor {
* @param value The decided value (got from WEAK or STRONG messages)
*/
private
void
decide
(
Round
round
,
byte
[]
value
)
{
round
.
getExecution
().
getLearner
().
firstMessageProposed
.
decisionTime
=
System
.
nanoTime
();
if
(
round
.
getExecution
().
getLearner
().
firstMessageProposed
!=
null
)
round
.
getExecution
().
getLearner
().
firstMessageProposed
.
decisionTime
=
System
.
nanoTime
();
leaderModule
.
decided
(
round
.
getExecution
().
getId
(),
tomLayer
.
lm
.
getCurrentLeader
()
/*leaderModule.getLeader(round.getExecution().getId(),
...
...
src/navigators/smart/tom/core/DeliveryThread.java
浏览文件 @
2c7187bf
...
...
@@ -173,27 +173,29 @@ public final class DeliveryThread extends Thread {
Logger
.
println
(
"(DeliveryThread.run) Consensus "
+
cons
.
getId
()
+
" was delivered."
);
TOMMessage
[]
requests
=
extractMessagesFromDecision
(
cons
);
//cons.firstMessageProposed contains the performance counters
if
(
requests
[
0
].
equals
(
cons
.
firstMessageProposed
))
{
requests
[
0
]
=
cons
.
firstMessageProposed
;
}
//clean the ordered messages from the pending buffer
tomLayer
.
clientsManager
.
requestsOrdered
(
requests
);
deliverMessages
(
cons
.
getId
(),
tomLayer
.
getLCManager
().
getLastReg
(),
true
,
requests
,
cons
.
getDecision
());
//******* EDUARDO BEGIN **************//
if
(
manager
.
hasUpdates
())
{
processReconfigMessages
(
cons
.
getId
(),
cons
.
getDecisionRound
().
getNumber
());
//set this consensus as the last executed
tomLayer
.
setLastExec
(
cons
.
getId
());
//define that end of this execution
tomLayer
.
setInExec
(-
1
);
if
(
requests
!=
null
&&
requests
.
length
>
0
)
{
//cons.firstMessageProposed contains the performance counters
if
(
requests
[
0
].
equals
(
cons
.
firstMessageProposed
))
{
requests
[
0
]
=
cons
.
firstMessageProposed
;
}
//clean the ordered messages from the pending buffer
tomLayer
.
clientsManager
.
requestsOrdered
(
requests
);
deliverMessages
(
cons
.
getId
(),
tomLayer
.
getLCManager
().
getLastReg
(),
true
,
requests
,
cons
.
getDecision
());
//******* EDUARDO BEGIN **************//
if
(
manager
.
hasUpdates
())
{
processReconfigMessages
(
cons
.
getId
(),
cons
.
getDecisionRound
().
getNumber
());
//set this consensus as the last executed
tomLayer
.
setLastExec
(
cons
.
getId
());
//define that end of this execution
tomLayer
.
setInExec
(-
1
);
}
//******* EDUARDO END **************//
}
//******* EDUARDO END **************//
/** THIS IS JOAO'S CODE, TO HANDLE CHECKPOINTS */
//logDecision(cons);
/********************************************************/
...
...
src/navigators/smart/tom/server/defaultservices/DefaultRecoverable.java
浏览文件 @
2c7187bf
...
...
@@ -159,6 +159,7 @@ public abstract class DefaultRecoverable implements Recoverable, BatchExecutable
byte
[][]
commands
=
state
.
getMessageBatch
(
eid
).
commands
;
// take a batch
if
(
commands
==
null
||
commands
.
length
<=
0
)
continue
;
// INUTIL??????
//tomLayer.lm.addLeaderInfo(eid, state.getMessageBatch(eid).round,
// state.getMessageBatch(eid).leader);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录