Adding a peer node when no genesis block orderer exist in the channel #fabric-orderer #raft #hyperledger-fabric


The peer fails to join the channel in the following scenario:

  1. A channel was created by the Orderer Organization (running 3 orderers in RAFT mode).
  2. A peer organization was added (let's say with 3 peers). Chaincodes were installed, instantiated and invoked several times.
  3. Over channel lifetime, the orderer nodes in channel were modified to the extent that no channel genesis block orderers existed in the channel any longer.
  4. A requirement occurred to add a new peer node in the channel. On giving, channel genesis block, it kept trying to fetch next blocks (starting from 1) by reaching out to orderer defined in the block 0 of the channel.

As expected, the new peer could not fetch any block after block 0! Because all the orderers defined in the channel at the time of its creation were swapped over by different orderers over channel lifetime.

What if instead of swapping the nodes, I need to rotate the TLS certificates of the different consenters in the application channel, such that in  channel lifetime, at some point every consenter has a TLS certificate different from the one present in the channel genesis block. This would again stop the newly added peer nodes to join the channel by blocking them to sync any blocks after the block 0 of the application channel!

I tried looking online if this issue was officially addressed by the community. But could not find any proposed solution for this. Is this a bug and taken into consideration for development? Or is this addressed already?

Join to automatically receive all group messages.