@@ -38,8 +38,8 @@ type ChainGetter interface {
38
38
GetChain (chainID string ) * multichannel.ChainSupport
39
39
}
40
40
41
- // EtcdRaftConfig contains etcdraft configurations
42
- type EtcdRaftConfig struct {
41
+ // Config contains etcdraft configurations
42
+ type Config struct {
43
43
WALDir string // WAL data of <my-channel> is stored in WALDir/<my-channel>
44
44
SnapDir string // Snapshots of <my-channel> are stored in SnapDir/<my-channel>
45
45
}
@@ -51,7 +51,7 @@ type Consenter struct {
51
51
* Dispatcher
52
52
Chains ChainGetter
53
53
Logger * flogging.FabricLogger
54
- EtcdRaftConfig EtcdRaftConfig
54
+ EtcdRaftConfig Config
55
55
OrdererConfig localconfig.TopLevel
56
56
Cert []byte
57
57
}
@@ -116,7 +116,10 @@ func (c *Consenter) HandleChain(support consensus.ConsenterSupport, metadata *co
116
116
// In case chain has been restarted we restore raft metadata
117
117
// information from the recently committed block meta data
118
118
// field.
119
- raftMetadata , err := raftMetadata (metadata , m )
119
+ raftMetadata , err := readRaftMetadata (metadata , m )
120
+ if err != nil {
121
+ return nil , errors .Wrapf (err , "failed to read Raft metadata" )
122
+ }
120
123
121
124
id , err := c .detectSelfID (raftMetadata .Consenters )
122
125
if err != nil {
@@ -155,7 +158,7 @@ func (c *Consenter) HandleChain(support consensus.ConsenterSupport, metadata *co
155
158
return NewChain (support , opts , c .Communication , rpc , bp , nil )
156
159
}
157
160
158
- func raftMetadata (blockMetadata * common.Metadata , configMetadata * etcdraft.Metadata ) (* etcdraft.RaftMetadata , error ) {
161
+ func readRaftMetadata (blockMetadata * common.Metadata , configMetadata * etcdraft.Metadata ) (* etcdraft.RaftMetadata , error ) {
159
162
m := & etcdraft.RaftMetadata {
160
163
Consenters : map [uint64 ]* etcdraft.Consenter {},
161
164
NextConsenterId : 1 ,
@@ -181,7 +184,7 @@ func New(clusterDialer *cluster.PredicateDialer, conf *localconfig.TopLevel,
181
184
srvConf comm.ServerConfig , srv * comm.GRPCServer , r * multichannel.Registrar ) * Consenter {
182
185
logger := flogging .MustGetLogger ("orderer.consensus.etcdraft" )
183
186
184
- var cfg EtcdRaftConfig
187
+ var cfg Config
185
188
if err := viperutil .Decode (conf .Consensus , & cfg ); err != nil {
186
189
logger .Panicf ("Failed to decode etcdraft configuration: %s" , err )
187
190
}
0 commit comments