Skip to content

Commit

Permalink
[FAB-2676] Use atomic create ledger from GB
Browse files Browse the repository at this point in the history
Currently while peer joins the channel it provided the genesis block
which is used to generate the ledger and consequently being committed
into newly generated ledger. Currently the creation has been done in
two phases.

This commit switches the create ledger from the genesis block
functionality to use atomic function which creates ledger with already
committed block.

Change-Id: I8371f9ee8f026bd98194817b48d8118c4df08dd7
Signed-off-by: Artem Barger <bartem@il.ibm.com>
  • Loading branch information
C0rWin committed Apr 5, 2017
1 parent cacb292 commit 1fc1379
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions core/peer/peer.go
Original file line number Diff line number Diff line change
Expand Up @@ -234,17 +234,13 @@ func CreateChainFromBlock(cb *common.Block) error {
if err != nil {
return err
}
var ledger ledger.PeerLedger
if ledger, err = createLedger(cid); err != nil {
return err
}

if err := ledger.Commit(cb); err != nil {
peerLogger.Errorf("Unable to get genesis block committed into the ledger, chainID %v", cid)
return err
var l ledger.PeerLedger
if l, err = ledgermgmt.CreateWithGenesisBlock(cb); err != nil {
return fmt.Errorf("Cannot create ledger from genesis block, due to %s", err)
}

return createChain(cid, ledger, cb)
return createChain(cid, l, cb)
}

// MockCreateChain used for creating a ledger for a chain for tests
Expand Down

0 comments on commit 1fc1379

Please sign in to comment.