public static boolean isNodeGroupAvailable(ServiceHost host,NodeGroupState localState){
  if (NodeGroupUtils.isMembershipSettled(host,host.getMaintenanceIntervalMicros(),localState) && NodeGroupUtils.hasMembershipQuorum(host,localState)) {
    return true;
  }
  return false;
}

public static boolean isNodeGroupAvailable ( ServiceHost host , NodeGroupState localState ) { if ( NodeGroupUtils . isMembershipSettled ( host , host . getMaintenanceIntervalMicros ( ) , localState ) && NodeGroupUtils . hasMembershipQuorum ( host , localState ) ) { return true ; } return false ; }
evaluates current node group state and returns true if requests should be process , forwarded , etc the conditions are : 1 ) the node group membership should have been stable ( gossip did not produce changes ) for a specific period 2 ) the number of node group members in available stage is > = membershipquorum
