How to verify RAFT health in HLF version 1.4.4 #raft


Jason Yellick <jyellick@...>
 

Not in Fabric v1.4.x.  There is a recently approved RFC for an Orderer Channel Participation API.  https://github.com/hyperledger/fabric-rfcs/pull/24

This new API will enable easier and more direct management of channels and ordering, but this is still a work in progress.

~Jason
 

----- Original message -----
From: "shrugupt via lists.hyperledger.org" <shrugupt=microsoft.com@...>
Sent by: fabric@...
To: fabric@...
Cc:
Subject: [EXTERNAL] Re: [Hyperledger Fabric] How to verify RAFT health in HLF version 1.4.4 #raft
Date: Fri, Jun 26, 2020 5:25 AM
 
On Fri, Jun 19, 2020 at 06:14 AM, Jason Yellick wrote:
OSN
Thanks Jason for the response. This information is useful.

Is there any way to identify application channel(s) that OSN is part of? In Fabric NodeJsSDK, there is "queryChannels" API but it work only for peer nodes. I could not find any such API for orderer node.
 


shrugupt@...
 

On Fri, Jun 19, 2020 at 06:14 AM, Jason Yellick wrote:
OSN
Thanks Jason for the response. This information is useful.

Is there any way to identify application channel(s) that OSN is part of? In Fabric NodeJsSDK, there is "queryChannels" API but it work only for peer nodes. I could not find any such API for orderer node.


Jason Yellick <jyellick@...>
 

For v1.4.x, there is no metric to check the set of active nodes.  Usually, it's adequate to simply ensure that all OSNs are alive and have been online for a reasonable period of time to ensure that the Raft cluster has all nodes active.

There are ways to detect nodes out of quorum, but it is a little tedious.  When a node is not part of the Raft quorum, it will make services for that channel unavailable, so, you may attempt to pull a block via the Deliver interface from each OSN on a channel, and those which respond with SERVICE_UNAVAILABLE are not active in the Raft cluster currently.

As was pointed out in your original e-mail, the "consensus_etcdraft_active_nodes" metric was added into v2.0 to address this operational aspect.  It was not back-ported to v1.4.x because the code change required new messages on the wire, and was considered to be too invasive for an LTS release.

Thanks,
~Jason
 
 

----- Original message -----
From: "Senthil Nathan" <cendhu@...>
Sent by: fabric@...
To: shrugupt@...
Cc: fabric <fabric@...>
Subject: [EXTERNAL] Re: [Hyperledger Fabric] How to verify RAFT health in HLF version 1.4.4 #raft
Date: Fri, Jun 19, 2020 7:12 AM
   
On Fri, Jun 19, 2020 at 9:38 AM shrugupt via lists.hyperledger.org <shrugupt=microsoft.com@...> wrote:
Hi,

Would really appreciate if anybody has any thought/suggestion regarding my query.

Thanks,
Shruti

 

 

 

 


Senthil Nathan
 

On Fri, Jun 19, 2020 at 9:38 AM shrugupt via lists.hyperledger.org <shrugupt=microsoft.com@...> wrote:
Hi,

Would really appreciate if anybody has any thought/suggestion regarding my query.

Thanks,
Shruti



shrugupt@...
 

Hi,

Would really appreciate if anybody has any thought/suggestion regarding my query.

Thanks,
Shruti



shrugupt@...
 

Hi,

I want to add/remove orderer node in the network. I went through the orderer reconfiguration article.

My question is how can the RAFT health be verified. I need it for two purpose:
1. Before adding/removing node, I need to ensure that RAFT is stable and running.
2. In case of adding orderer node, after adding new orderer node certificate in TLS consenter section, I want to verify the if the RAFT is stable before adding this new orderer node endpoint in ordererAddresses section of configuration block.

I found that in HLF v1.2, a metric "consensus_etcdraft_active_nodes" has been added. As well as, data plane operation has been enhanced
to reject add/remove orderer node if it can lead to instable RAFT cluster. But I could not find anyway in HLF v1.4.4 to verify RAFT health.

Thanks,
Shruti