Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-22709

N1QL clustering improvements

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 5.0.0
    • 5.0.0
    • query
    • None
    • Untriaged
    • Unknown

    Description

      This is required for the correct implementation of clustered monitoring in spock.

      The current implementation of clustering only provides a list of n1ql nodes that are active - no local name information, no services information, and crucially, no inactive nodes.

      This was all that was needed when clustering was originally coded but has profound implications on clustered monitoring.
      For instance - CM operation should provide warnings when nodes cannot be reached, however this may not always be possible because clustering will silently remove nodes from the node list if these have been flagged by ns_server to be inactive before CM manages to actually request something to them and gets an error back.
      Not seeing the nodes, CM, does not do requests for the simple reason it no longer knows they exist.

      Similarly - the local node name is determined by looking for the local ip address in the list of active nodes.
      The list of active nodes does not contain the local node if ns_server does not deem it to be fully up (see MB-22588, MB-22656), so we may end up in a situation where the local node, not finding itself in the node list, thinks it's not part of a cluster.

      ns_server provides a list of nodes, with services, and a list of active node services, so clustering should provide

      • a new method that returns the local node name from /pools/nodes or /pools/<pool>: this so that MB-22656 can be reliably fixed
      • a new method that returns a slice of nodes each containing a slice of services each containing a map of active services (for MB-20774)
      • a new method that provides a list of all n1ql node names, or amend GetNodeNames to return all nodes sunning n1ql, not just the active ones. This will allow clustered monitoring to go through the list of nodes and issue warnings if some are noted to be inactive.

      Attachments

        For Gerrit Dashboard: MB-22709
        # Subject Branch Project Status CR V

        Activity

          People

            marco.greco Marco Greco (Inactive)
            marco.greco Marco Greco (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty