Skip to content

Commit 2bed988

Browse files
committed
Add Close function to the committer service API
In order to prevent resource leakage and allow cleanup procedure, new function has been added to committer service. Change-Id: Ibb52562f8031c9d0fb23fd15a1ffe748279dc7c5 Signed-off-by: Artem Barger <[email protected]>
1 parent c08c536 commit 2bed988

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

core/committer/committer.go

+3
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,7 @@ type Committer interface {
3737

3838
// Gets blocks with sequence numbers provided in the slice
3939
GetBlocks(blockSeqs []uint64) []*pb.Block2
40+
41+
// Closes committing service
42+
Close()
4043
}

core/committer/committer_impl.go

+14-6
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ func init() {
3333
logger = logging.MustGetLogger("committer")
3434
}
3535

36+
// LedgerCommitter is the implementation of Committer interface
37+
// it keeps the reference to the ledger to commit blocks and retreive
38+
// chain information
3639
type LedgerCommitter struct {
3740
ledger ledger.ValidatedLedger
3841
}
@@ -67,17 +70,22 @@ func (lc *LedgerCommitter) LedgerHeight() (uint64, error) {
6770

6871
// GetBlocks used to retrieve blocks with sequence numbers provided in the slice
6972
func (lc *LedgerCommitter) GetBlocks(blockSeqs []uint64) []*pb.Block2 {
70-
blocks := make([]*pb.Block2, 0)
73+
var blocks []*pb.Block2
7174

7275
for _, seqNum := range blockSeqs {
73-
var block *pb.Block2
74-
var err error
75-
if block, err = lc.ledger.GetBlockByNumber(seqNum); err != nil {
76-
logger.Errorf("Could not able to acquire block num %d, from the ledger skipping...\n", seqNum)
76+
if blck, err := lc.ledger.GetBlockByNumber(seqNum); err != nil {
77+
logger.Errorf("Not able to acquire block num %d, from the ledger skipping...\n", seqNum)
7778
continue
79+
} else {
80+
logger.Debug("Appending next ", blck, " to the resulting set")
81+
blocks = append(blocks, blck)
7882
}
79-
blocks = append(blocks, block)
8083
}
8184

8285
return blocks
8386
}
87+
88+
// Close the ledger
89+
func (lc *LedgerCommitter) Close() {
90+
lc.ledger.Close()
91+
}

0 commit comments

Comments
 (0)