Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
c903ef42
Commit
c903ef42
authored
Sep 23, 2020
by
QM
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix commit
parent
d63cc036
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
36 additions
and
16 deletions
+36
-16
paracommitmsg.go
plugin/consensus/para/paracommitmsg.go
+6
-3
action.go
plugin/dapp/paracross/executor/action.go
+16
-11
kv.go
plugin/dapp/paracross/executor/kv.go
+2
-2
query.go
plugin/dapp/paracross/executor/query.go
+12
-0
No files found.
plugin/consensus/para/paracommitmsg.go
View file @
c903ef42
...
...
@@ -341,10 +341,14 @@ func (client *commitMsgClient) checkConsensusStop(checks *commitCheckParams) {
func
(
client
*
commitMsgClient
)
checkAuthAccountIn
()
{
nodeStr
,
err
:=
client
.
getNodeGroupAddrs
()
if
err
!=
nil
{
nodeSupervisionStr
,
errSupervision
:=
client
.
getSupervisionNodeGroupAddrs
()
// 判断是否是监督节点
if
err
!=
nil
&&
errSupervision
!=
nil
{
return
}
authExist
:=
strings
.
Contains
(
nodeStr
,
client
.
authAccount
)
authExist1
:=
strings
.
Contains
(
nodeStr
,
client
.
authAccount
)
authExist2
:=
strings
.
Contains
(
nodeSupervisionStr
,
client
.
authAccount
)
authExist
:=
authExist1
||
authExist2
//如果授权节点重新加入,需要从当前共识高度重新发送
if
!
client
.
authAccountIn
&&
authExist
{
...
...
@@ -403,7 +407,6 @@ func (client *commitMsgClient) isSync() bool {
}
return
true
}
func
(
client
*
commitMsgClient
)
getSendingTx
(
startHeight
,
endHeight
int64
)
(
*
types
.
Transaction
,
int64
)
{
...
...
plugin/dapp/paracross/executor/action.go
View file @
c903ef42
...
...
@@ -357,10 +357,10 @@ func updateCommitAddrs(stat *pt.ParacrossHeightStatus, nodes map[string]struct{}
func
updateSupervisionDetailsCommitAddrs
(
stat
*
pt
.
ParacrossHeightStatus
,
nodes
map
[
string
]
struct
{})
{
supervisionDetailsDetails
:=
&
pt
.
ParacrossStatusDetails
{}
for
i
,
addr
:=
range
stat
.
Details
.
Addrs
{
for
i
,
addr
:=
range
stat
.
Supervision
Details
.
Addrs
{
if
_
,
ok
:=
nodes
[
addr
];
ok
{
supervisionDetailsDetails
.
Addrs
=
append
(
supervisionDetailsDetails
.
Addrs
,
addr
)
supervisionDetailsDetails
.
BlockHash
=
append
(
supervisionDetailsDetails
.
BlockHash
,
stat
.
Details
.
BlockHash
[
i
])
supervisionDetailsDetails
.
BlockHash
=
append
(
supervisionDetailsDetails
.
BlockHash
,
stat
.
Supervision
Details
.
BlockHash
[
i
])
}
}
stat
.
SupervisionDetails
=
supervisionDetailsDetails
...
...
@@ -613,7 +613,12 @@ func (a *action) Commit(commit *pt.ParacrossCommitAction) (*types.Receipt, error
func
(
a
*
action
)
proCommitMsg
(
commit
*
pt
.
ParacrossNodeStatus
,
nodes
map
[
string
]
struct
{},
commitAddrs
[]
string
,
supervisionNodes
map
[
string
]
struct
{},
supervisionValidAddrs
[]
string
)
(
*
types
.
Receipt
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
err
:=
a
.
preCheckCommitInfo
(
commit
,
commitAddrs
)
var
err
error
if
len
(
commitAddrs
)
>
0
{
err
=
a
.
preCheckCommitInfo
(
commit
,
commitAddrs
)
}
else
{
err
=
a
.
preCheckCommitInfo
(
commit
,
supervisionValidAddrs
)
}
if
err
!=
nil
{
return
nil
,
err
}
...
...
@@ -641,10 +646,11 @@ func (a *action) proCommitMsg(commit *pt.ParacrossNodeStatus, nodes map[string]s
var
copyStat
*
pt
.
ParacrossHeightStatus
if
isNotFound
(
err
)
{
stat
=
&
pt
.
ParacrossHeightStatus
{
Status
:
pt
.
ParacrossStatusCommiting
,
Title
:
commit
.
Title
,
Height
:
commit
.
Height
,
Details
:
&
pt
.
ParacrossStatusDetails
{},
Status
:
pt
.
ParacrossStatusCommiting
,
Title
:
commit
.
Title
,
Height
:
commit
.
Height
,
Details
:
&
pt
.
ParacrossStatusDetails
{},
SupervisionDetails
:
&
pt
.
ParacrossStatusDetails
{},
}
if
pt
.
IsParaForkHeight
(
cfg
,
a
.
exec
.
GetMainHeight
(),
pt
.
ForkCommitTx
)
{
stat
.
MainHeight
=
commit
.
MainBlockHeight
...
...
@@ -667,12 +673,12 @@ func (a *action) proCommitMsg(commit *pt.ParacrossNodeStatus, nodes map[string]s
for
_
,
addr
:=
range
supervisionValidAddrs
{
// 如有分叉, 同一个节点可能再次提交commit交易
found
,
index
:=
hasCommited
(
stat
.
Details
.
Addrs
,
addr
)
found
,
index
:=
hasCommited
(
stat
.
Supervision
Details
.
Addrs
,
addr
)
if
found
{
stat
.
SupervisionDetails
.
BlockHash
[
index
]
=
commit
.
BlockHash
}
else
{
stat
.
SupervisionDetails
.
Addrs
=
append
(
stat
.
Details
.
Addrs
,
addr
)
stat
.
SupervisionDetails
.
BlockHash
=
append
(
stat
.
Details
.
BlockHash
,
commit
.
BlockHash
)
stat
.
SupervisionDetails
.
Addrs
=
append
(
stat
.
Supervision
Details
.
Addrs
,
addr
)
stat
.
SupervisionDetails
.
BlockHash
=
append
(
stat
.
Supervision
Details
.
BlockHash
,
commit
.
BlockHash
)
}
}
...
...
@@ -735,7 +741,6 @@ func (a *action) commitTxDone(nodeStatus *pt.ParacrossNodeStatus, stat *pt.Parac
for
i
,
v
:=
range
stat
.
SupervisionDetails
.
Addrs
{
clog
.
Debug
(
"paracross.Commit commit SupervisionDetails"
,
"addr"
,
v
,
"hash"
,
common
.
ToHex
(
stat
.
SupervisionDetails
.
BlockHash
[
i
]))
}
mostSupervisionCount
,
mostSupervisionHash
:=
GetMostCommit
(
stat
.
SupervisionDetails
.
BlockHash
)
if
!
isCommitDone
(
len
(
supervisionNodes
),
mostSupervisionCount
)
{
return
receipt
,
nil
...
...
plugin/dapp/paracross/executor/kv.go
View file @
c903ef42
...
...
@@ -80,9 +80,9 @@ func setPrefix() {
paraSupervisionNodes
=
"mavl-paracross-supervision-nodes-title-"
paraSupervisionNodeAddr
=
"mavl-paracross-supervision-nodes-titleAddr-"
paraSupervisionNodeGroupStatusAddrs
=
"mavl-paracross-supervision-nodegroup-apply-title-"
paraSupervisionNodeGroupIDPrefix
=
"mavl-paracross-
supervision-title-nodegroupid
-"
paraSupervisionNodeGroupIDPrefix
=
"mavl-paracross-
title-nodegroupid-supervision
-"
paraSupervisionSelfConsensStages
=
"mavl-paracross-supervision-selfconsens-stages-"
paraSupervisionSelfConsensStageIDPrefix
=
"mavl-paracross-s
upervision-selfconsens-id
-"
paraSupervisionSelfConsensStageIDPrefix
=
"mavl-paracross-s
elfconsens-id-supervision
-"
localSupervisionNodeGroupStatusTitle
=
"LODB-paracross-supervision-nodegroupStatusTitle-"
}
...
...
plugin/dapp/paracross/executor/query.go
View file @
c903ef42
...
...
@@ -245,6 +245,10 @@ func (p *Paracross) Query_GetSupervisionNodeGroupStatus(in *pt.ReqParacrossNodeI
return
nil
,
types
.
ErrInvalidParam
}
stat
,
err
:=
getSupervisionNodeGroupStatus
(
p
.
GetStateDB
(),
in
.
Title
)
if
err
!=
nil
{
return
stat
,
err
}
stat
.
Id
=
getParaNodeIDSuffix
(
stat
.
Id
)
return
stat
,
err
}
...
...
@@ -286,6 +290,14 @@ func (p *Paracross) Query_ListSupervisionNodeGroupStatus(in *pt.ReqParacrossNode
}
resp
,
err
:=
listNodeGroupStatus
(
p
.
GetLocalDB
(),
prefix
)
if
err
!=
nil
{
return
resp
,
err
}
addrs
:=
resp
.
(
*
pt
.
RespParacrossNodeGroups
)
for
_
,
id
:=
range
addrs
.
Ids
{
id
.
Id
=
getParaNodeIDSuffix
(
id
.
Id
)
}
return
resp
,
err
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment