Skip to content

Commit f320615

Browse files
committed
[FAB-14324] remove InitGossip...DeliveryFactory
- delegation target of InitGossipService - only used in test - appears unnecessary in tests - removed bespoke mocks around the setup Change-Id: I794a816c4fad278b7f65d504289f92e38d19190d Signed-off-by: Matthew Sykes <sykesmat@us.ibm.com>
1 parent 6c728cf commit f320615

File tree

3 files changed

+18
-107
lines changed

3 files changed

+18
-107
lines changed

core/peer/peer_test.go

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,11 @@ import (
2424
"github.com/hyperledger/fabric/core/chaincode/platforms"
2525
"github.com/hyperledger/fabric/core/comm"
2626
"github.com/hyperledger/fabric/core/committer/txvalidator/plugin"
27-
"github.com/hyperledger/fabric/core/deliverservice"
28-
"github.com/hyperledger/fabric/core/deliverservice/blocksprovider"
2927
validation "github.com/hyperledger/fabric/core/handlers/validation/api"
3028
"github.com/hyperledger/fabric/core/ledger"
3129
"github.com/hyperledger/fabric/core/ledger/mock"
3230
ledgermocks "github.com/hyperledger/fabric/core/ledger/mock"
3331
"github.com/hyperledger/fabric/core/transientstore"
34-
"github.com/hyperledger/fabric/gossip/api"
3532
"github.com/hyperledger/fabric/gossip/service"
3633
peergossip "github.com/hyperledger/fabric/internal/peer/gossip"
3734
"github.com/hyperledger/fabric/internal/peer/gossip/mocks"
@@ -42,36 +39,6 @@ import (
4239
"google.golang.org/grpc"
4340
)
4441

45-
type mockDeliveryClient struct {
46-
}
47-
48-
func (ds *mockDeliveryClient) UpdateEndpoints(chainID string, endpoints []string) error {
49-
return nil
50-
}
51-
52-
// StartDeliverForChannel dynamically starts delivery of new blocks from ordering service
53-
// to channel peers.
54-
func (ds *mockDeliveryClient) StartDeliverForChannel(chainID string, ledgerInfo blocksprovider.LedgerInfo, f func()) error {
55-
return nil
56-
}
57-
58-
// StopDeliverForChannel dynamically stops delivery of new blocks from ordering service
59-
// to channel peers.
60-
func (ds *mockDeliveryClient) StopDeliverForChannel(chainID string) error {
61-
return nil
62-
}
63-
64-
// Stop terminates delivery service and closes the connection
65-
func (*mockDeliveryClient) Stop() {
66-
}
67-
68-
type mockDeliveryClientFactory struct {
69-
}
70-
71-
func (*mockDeliveryClientFactory) Service(g service.GossipService, endpoints []string, mcs api.MessageCryptoService) (deliverservice.DeliverService, error) {
72-
return &mockDeliveryClient{}, nil
73-
}
74-
7542
func TestMain(m *testing.M) {
7643
// TODO: remove the transient store and peer setup once we've completed the
7744
// transition to instances
@@ -203,18 +170,17 @@ func TestCreateChainFromBlock(t *testing.T) {
203170
dialOpts = append(dialOpts, grpc.WithInsecure())
204171
return dialOpts
205172
}
206-
err = service.InitGossipServiceCustomDeliveryFactory(
173+
174+
err = service.InitGossipService(
207175
signer,
208176
&disabled.Provider{},
209177
socket.Addr().String(),
210178
grpcServer,
211179
nil,
212-
&mockDeliveryClientFactory{},
213180
messageCryptoService,
214181
secAdv,
215182
defaultSecureDialOpts,
216183
)
217-
218184
assert.NoError(t, err)
219185

220186
go grpcServer.Serve(socket)

core/scc/cscc/configure_test.go

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,10 @@ import (
2929
"github.com/hyperledger/fabric/core/chaincode"
3030
"github.com/hyperledger/fabric/core/chaincode/shim"
3131
"github.com/hyperledger/fabric/core/common/ccprovider"
32-
"github.com/hyperledger/fabric/core/deliverservice"
33-
"github.com/hyperledger/fabric/core/deliverservice/blocksprovider"
3432
"github.com/hyperledger/fabric/core/peer"
3533
"github.com/hyperledger/fabric/core/policy"
3634
policymocks "github.com/hyperledger/fabric/core/policy/mocks"
3735
"github.com/hyperledger/fabric/core/transientstore"
38-
"github.com/hyperledger/fabric/gossip/api"
3936
"github.com/hyperledger/fabric/gossip/service"
4037
"github.com/hyperledger/fabric/internal/configtxgen/configtxgentest"
4138
"github.com/hyperledger/fabric/internal/configtxgen/encoder"
@@ -72,37 +69,6 @@ type configtxValidator interface {
7269
configtx.Validator
7370
}
7471

75-
type mockDeliveryClient struct {
76-
}
77-
78-
func (ds *mockDeliveryClient) UpdateEndpoints(chainID string, endpoints []string) error {
79-
return nil
80-
}
81-
82-
// StartDeliverForChannel dynamically starts delivery of new blocks from ordering service
83-
// to channel peers.
84-
func (ds *mockDeliveryClient) StartDeliverForChannel(chainID string, ledgerInfo blocksprovider.LedgerInfo, f func()) error {
85-
return nil
86-
}
87-
88-
// StopDeliverForChannel dynamically stops delivery of new blocks from ordering service
89-
// to channel peers.
90-
func (ds *mockDeliveryClient) StopDeliverForChannel(chainID string) error {
91-
return nil
92-
}
93-
94-
// Stop terminates delivery service and closes the connection
95-
func (*mockDeliveryClient) Stop() {
96-
97-
}
98-
99-
type mockDeliveryClientFactory struct {
100-
}
101-
102-
func (*mockDeliveryClientFactory) Service(g service.GossipService, endpoints []string, mcs api.MessageCryptoService) (deliverservice.DeliverService, error) {
103-
return &mockDeliveryClient{}, nil
104-
}
105-
10672
var mockAclProvider *aclmocks.MockACLProvider
10773

10874
func TestMain(m *testing.M) {
@@ -280,13 +246,12 @@ func TestConfigerInvokeJoinChainCorrectParams(t *testing.T) {
280246
return dialOpts
281247
}
282248

283-
err = service.InitGossipServiceCustomDeliveryFactory(
249+
err = service.InitGossipService(
284250
signer,
285251
&disabled.Provider{},
286252
peerEndpoint,
287253
grpcServer,
288254
nil,
289-
&mockDeliveryClientFactory{},
290255
messageCryptoService,
291256
secAdv,
292257
defaultSecureDialOpts,

gossip/service/gossip_service.go

Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -131,39 +131,12 @@ func (jcm *joinChannelMessage) AnchorPeersOf(org api.OrgIdentityType) []api.Anch
131131
var logger = util.GetLogger(util.ServiceLogger, "")
132132

133133
// InitGossipService initialize gossip service
134-
func InitGossipService(peerIdentity identity.SignerSerializer, metricsProvider metrics.Provider, endpoint string, s *grpc.Server,
135-
certs *gossipcommon.TLSCertificates, mcs api.MessageCryptoService, secAdv api.SecurityAdvisor,
136-
secureDialOpts api.PeerSecureDialOpts, bootPeers ...string) error {
137-
// TODO: Remove this.
138-
// TODO: This is a temporary work-around to make the gossip leader election module load its logger at startup
139-
// TODO: in order for the flogging package to register this logger in time so it can set the log levels as requested in the config
140-
util.GetLogger(util.ElectionLogger, "")
141-
142-
return InitGossipServiceCustomDeliveryFactory(
143-
peerIdentity,
144-
metricsProvider,
145-
endpoint,
146-
s,
147-
certs,
148-
&deliveryFactoryImpl{
149-
signer: peerIdentity,
150-
},
151-
mcs,
152-
secAdv,
153-
secureDialOpts,
154-
bootPeers...,
155-
)
156-
}
157-
158-
// InitGossipServiceCustomDeliveryFactory initialize gossip service with customize delivery factory
159-
// implementation, might be useful for testing and mocking purposes
160-
func InitGossipServiceCustomDeliveryFactory(
134+
func InitGossipService(
161135
peerIdentity identity.SignerSerializer,
162136
metricsProvider metrics.Provider,
163137
endpoint string,
164138
s *grpc.Server,
165139
certs *gossipcommon.TLSCertificates,
166-
factory DeliveryServiceFactory,
167140
mcs api.MessageCryptoService,
168141
secAdv api.SecurityAdvisor,
169142
secureDialOpts api.PeerSecureDialOpts,
@@ -175,29 +148,36 @@ func InitGossipServiceCustomDeliveryFactory(
175148
if err != nil {
176149
return err
177150
}
178-
once.Do(func() {
179-
var gossipConfig *gossip.Config
180151

152+
once.Do(func() {
181153
serviceConfig := GlobalConfig()
182154
if serviceConfig.Endpoint != "" {
183155
endpoint = serviceConfig.Endpoint
184156
}
185-
gossipConfig, err = gossip.GlobalConfig(endpoint, certs, bootPeers...)
186157

187158
logger.Info("Initialize gossip with endpoint", endpoint, "and bootstrap set", bootPeers)
188159

189-
gossipMetrics := gossipmetrics.NewGossipMetrics(metricsProvider)
190-
191-
gossipComponent = gossip.NewGossipService(gossipConfig, s, secAdv, mcs, serializedIdentity, secureDialOpts, gossipMetrics)
160+
var gossipConfig *gossip.Config
161+
gossipConfig, err = gossip.GlobalConfig(endpoint, certs, bootPeers...)
192162

163+
gossipMetrics := gossipmetrics.NewGossipMetrics(metricsProvider)
164+
gossipComponent = gossip.NewGossipService(
165+
gossipConfig,
166+
s,
167+
secAdv,
168+
mcs,
169+
serializedIdentity,
170+
secureDialOpts,
171+
gossipMetrics,
172+
)
193173
gossipServiceInstance = &gossipServiceImpl{
194174
mcs: mcs,
195175
gossipSvc: gossipComponent,
196176
privateHandlers: make(map[string]privateHandler),
197177
chains: make(map[string]state.GossipStateProvider),
198178
leaderElection: make(map[string]election.LeaderElectionService),
199179
deliveryService: make(map[string]deliverservice.DeliverService),
200-
deliveryFactory: factory,
180+
deliveryFactory: &deliveryFactoryImpl{signer: peerIdentity},
201181
peerIdentity: serializedIdentity,
202182
secAdv: secAdv,
203183
metrics: gossipMetrics,

0 commit comments

Comments
 (0)