Skip to content
This repository was archived by the owner on Apr 25, 2025. It is now read-only.

Commit 91d09d4

Browse files
committed
[FAB-8781] orderer needs to call context ReleaseConn
Change-Id: Id812e0354399811bcc54a12dd4841954219a85f5 Signed-off-by: Troy Ronda <troy@troyronda.com>
1 parent 40ef627 commit 91d09d4

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

pkg/fab/orderer/orderer.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -317,17 +317,16 @@ func (o *Orderer) SendDeliver(ctx reqContext.Context, envelope *fab.SignedEnvelo
317317
broadcastStream, err := ab.NewAtomicBroadcastClient(conn).Deliver(ctx)
318318
if err != nil {
319319
logger.Errorf("deliver failed [%s]", err)
320-
o.commManager.ReleaseConn(conn)
320+
o.releaseConn(ctx, conn)
321321

322322
errs <- errors.Wrap(err, "deliver failed")
323323
return responses, errs
324324
}
325325

326326
// Receive blocks from the GRPC stream and put them on the channel
327327
go func() {
328-
defer o.commManager.ReleaseConn(conn)
329328
blockStream(broadcastStream, responses, errs)
330-
329+
o.releaseConn(ctx, conn)
331330
}()
332331

333332
// Send block request envelope
@@ -336,7 +335,7 @@ func (o *Orderer) SendDeliver(ctx reqContext.Context, envelope *fab.SignedEnvelo
336335
Payload: envelope.Payload,
337336
Signature: envelope.Signature,
338337
}); err != nil {
339-
o.commManager.ReleaseConn(conn)
338+
o.releaseConn(ctx, conn)
340339

341340
errs <- errors.Wrap(err, "failed to send block request to orderer")
342341
return responses, errs
@@ -362,10 +361,8 @@ func blockStream(broadcastStream ab.AtomicBroadcast_DeliverClient, responses cha
362361
close(responses)
363362
return
364363
}
365-
if t.Status != common.Status_SUCCESS {
366-
errs <- errors.Errorf("error status from ordering service %s", t.Status)
367-
return
368-
}
364+
errs <- errors.Errorf("error status from ordering service %s", t.Status)
365+
return
369366

370367
// Response is a requested block
371368
case *ab.DeliverResponse_Block:
@@ -382,10 +379,12 @@ func blockStream(broadcastStream ab.AtomicBroadcast_DeliverClient, responses cha
382379
type defCommManager struct{}
383380

384381
func (*defCommManager) DialContext(ctx reqContext.Context, target string, opts ...grpc.DialOption) (conn *grpc.ClientConn, err error) {
382+
logger.Debugf("DialContext [%s]", target)
385383
opts = append(opts, grpc.WithBlock())
386384
return grpc.DialContext(ctx, target, opts...)
387385
}
388386

389387
func (*defCommManager) ReleaseConn(conn *grpc.ClientConn) {
388+
logger.Debugf("ReleaseConn [%p]", conn)
390389
conn.Close()
391390
}

pkg/fab/peer/peer.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,12 @@ func PeersToTxnProcessors(peers []fab.Peer) []fab.ProposalProcessor {
236236
type defCommManager struct{}
237237

238238
func (*defCommManager) DialContext(ctx reqContext.Context, target string, opts ...grpc.DialOption) (conn *grpc.ClientConn, err error) {
239+
logger.Debugf("DialContext [%s]", target)
239240
opts = append(opts, grpc.WithBlock())
240241
return grpc.DialContext(ctx, target, opts...)
241242
}
242243

243244
func (*defCommManager) ReleaseConn(conn *grpc.ClientConn) {
245+
logger.Debugf("ReleaseConn [%p]", conn)
244246
conn.Close()
245247
}

0 commit comments

Comments
 (0)