Query Admin REST API

  • reference
    +

    Overview

    The Query Admin REST API is a secondary API provided by the Query service. This API enables you to retrieve statistics about the clusters and nodes running the Query service; view or specify node-level settings; and view or delete requests.

    Version information

    Version : 7.6

    Host information

    {scheme}://{host}:{port}

    The URL scheme, host, and port are as follows.

    Component Description

    scheme

    The URL scheme. Use https for secure access.

    Values: http, https
    Example: http

    host

    The host name or IP address of a node running the Query service.

    Example: localhost

    port

    The Query service REST port. Use 18093 for secure access.

    Values: 8093, 18093
    Example: 8093

    Resources

    This section describes the operations available with this REST API. The operations are grouped in the following categories.

    Active Requests

    Table of Contents

    Delete an Active Request

    DELETE /admin/active_requests/{request}
    Description

    Terminates the specified active query request.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    request
    required

    The name of a request. This is the requestID that was assigned automatically when the statement was created.

    String

    Responses
    HTTP Code Description Schema

    200

    The active request was successfully terminated.

    500

    Returns an error message if the active request could not be found.

    Object

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Terminate an Active Request for examples.

    Retrieve Active Index Requests

    GET /admin/indexes/active_requests
    Description

    Returns all active index requests.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An array of strings, each of which is the requestID of an active index request.

    String array

    Security
    Type Name

    http (basic)

    Default

    Retrieve an Active Request

    GET /admin/active_requests/{request}
    Description

    Returns the specified active query request.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    request
    required

    The name of a request. This is the requestID that was assigned automatically when the statement was created.

    String

    Responses
    HTTP Code Description Schema

    200

    An object containing information about the specified active request.

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Get Active Requests for examples.

    Retrieve All Active Requests

    GET /admin/active_requests
    Description

    Returns all active query requests.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An array of objects, each of which contains information about one active request.

    Requests array

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Get Active Requests for examples.

    Completed Requests

    Table of Contents

    Delete a Completed Request

    DELETE /admin/completed_requests/{request}
    Description

    Purges the specified completed request.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    request
    required

    The name of a request. This is the requestID that was assigned automatically when the statement was created.

    String

    Responses
    HTTP Code Description Schema

    200

    The completed request was successfully purged.

    500

    Returns an error message if the completed request could not be found.

    Object

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Purge the Completed Requests for examples.

    Retrieve Completed Index Requests

    GET /admin/indexes/completed_requests
    Description

    Returns all completed index requests.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An array of strings, each of which is the requestID of a completed index request.

    String array

    Security
    Type Name

    http (basic)

    Default

    Retrieve a Completed Request

    GET /admin/completed_requests/{request}
    Description

    Returns the specified completed request.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    request
    required

    The name of a request. This is the requestID that was assigned automatically when the statement was created.

    String

    Responses
    HTTP Code Description Schema

    200

    An object containing information about the specified completed request.

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Get Completed Requests for examples.

    Retrieve All Completed Requests

    GET /admin/completed_requests
    Description

    Returns all completed requests.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An array of objects, each of which contains information about one completed request.

    Requests array

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Get Completed Requests for examples.

    Configuration

    Operations for cluster and node configuration.

    Read a Cluster

    GET /admin/clusters/{cluster}
    Description

    Returns information about the specified cluster.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    cluster
    required

    The name of a cluster.

    String

    Responses
    HTTP Code Description Schema

    200

    An object giving information about the specified cluster.

    Security
    Type Name

    http (basic)

    Default

    Read All Clusters

    GET /admin/clusters
    Description

    Returns information about all clusters.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An array of objects, each of which gives information about one cluster.

    Security
    Type Name

    http (basic)

    Default

    Read Configuration

    GET /admin/config
    Description

    Returns the configuration of the query service on the cluster.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An object giving information about the specified node.

    Security
    Type Name

    http (basic)

    Default

    Read a Node

    GET /admin/clusters/{cluster}/nodes/{node}
    Description

    Returns information about the specified node in the specified cluster.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    cluster
    required

    The name of a cluster.

    String

    node
    required

    The name of a node.

    String

    Responses
    HTTP Code Description Schema

    200

    An object giving information about the specified node.

    Security
    Type Name

    http (basic)

    Default

    Read All Nodes

    GET /admin/clusters/{cluster}/nodes
    Description

    Returns information about all nodes in the specified cluster.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    cluster
    required

    The name of a cluster.

    String

    Responses
    HTTP Code Description Schema

    200

    An array of objects, each of which gives information about one node.

    Security
    Type Name

    http (basic)

    Default

    Default

    Other operations.

    Run Garbage Collector

    GET /admin/gc
    Description

    Runs the garbage collector.

    A message is written to query.log whenever the garbage collector endpoint is invoked.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    Indicates that the garbage collector was invoked.

    401

    Error 10000: authentication failure. The invoking user is not a valid full-admin user.

    Object

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Response
    Response 200
    {
      "freed": 123456,
      "status": "GC invoked"
    }

    Ping

    GET /admin/ping
    Description

    Returns a minimal response, indicating that the service is running and reachable.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An empty object.

    Object

    Security

    No authentication is required for this endpoint.

    Example HTTP Response
    Response 200
    {}

    Run Garbage Collector and Release Memory

    POST /admin/gc
    Description

    Run the garbage collector and attempts to return freed memory to the OS.

    A message is written to query.log whenever the garbage collector endpoint is invoked.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    Indicates that the garbage collector was invoked.

    401

    Error 10000: authentication failure. The invoking user is not a valid full-admin user.

    Object

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Response
    Response 200
    {
      "freed": 109304,
      "released": 835584,
      "status": "GC invoked and memory released"
    }

    Prepared Statements

    Table of Contents

    Delete a Prepared Statement

    DELETE /admin/prepareds/{name}
    Description

    Deletes the specified prepared statement.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    name
    required

    The name of a prepared statement. This may be a UUID that was assigned automatically, or a name that was user-specified when the statement was created.

    String

    Responses
    HTTP Code Description Schema

    200

    The prepared statement was successfully deleted.

    500

    Returns an error message if the prepared statement could not be found.

    Object

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Delete Prepared Statements for examples.

    Retrieve a Prepared Statement

    GET /admin/prepareds/{name}
    Description

    Returns the specified prepared statement.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    name
    required

    The name of a prepared statement. This may be a UUID that was assigned automatically, or a name that was user-specified when the statement was created.

    String

    Responses
    HTTP Code Description Schema

    200

    An object containing information about the specified prepared statement.

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Get Prepared Statements for examples.

    Retrieve Prepared Index Statements

    GET /admin/indexes/prepareds
    Description

    Returns all prepared index statements.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An array of strings, each of which is the name of a prepared index statement.

    String array

    Security
    Type Name

    http (basic)

    Default

    Retrieve All Prepared Statements

    GET /admin/prepareds
    Description

    Returns all prepared statements.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An array of objects, each of which contains information about one prepared statement.

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Get Prepared Statements for examples.

    Settings

    Operations for query settings.

    Retrieve Node-Level Query Settings

    GET /admin/settings
    Description

    Returns node-level query settings.

    Produces
    • application/json

    Refer to Configure Queries for more information.
    Responses
    HTTP Code Description Schema

    200

    An object giving node-level query settings.

    Security
    Type Name

    http (basic)

    Default

    Update Node-Level Query Settings

    POST /admin/settings
    Description

    Updates node-level query settings.

    Consumes
    • application/json

    • application/x-www-form-urlencoded

    Produces
    • application/json

    Refer to Configure Queries for more information.
    Parameters
    Body Parameter

    Name Description Schema

    Body
    optional

    An object specifying node-level query settings.

    Responses
    HTTP Code Description Schema

    200

    An object giving node-level query settings, including the latest changes.

    Security
    Type Name

    http (basic)

    Default

    Statistics

    Operations for query statistics.

    Get Debug Variables

    GET /debug/vars
    Description

    Currently unused.

    Produces
    • text/html

    Responses
    HTTP Code Description Schema

    302

    Redirects to the Retrieve All Statistics endpoint.

    String (text/html)

    Security

    No authentication is required for this endpoint.

    Example HTTP Response
    Response 302
    <a href="/admin/stats">Found</a>.

    Retrieve a Statistic

    GET /admin/stats/{stat}
    Description

    Returns the specified statistic.

    Produces
    • application/json

    Parameters
    Path Parameters

    Name Description Schema

    stat
    required

    The name of a statistic. Only top-level statistic names can be used. You cannot specify a metric.

    Values: "active_requests", "at_plus", "audit_actions", "audit_actions_failed", "audit_requests_filtered", "audit_requests_total", "cancelled", "deletes", "errors", "index_scans", "inserts", "invalid_requests", "mutations", "prepared", "primary_scans", "queued_requests", "request_time", "request_timer", "requests", "requests_1000ms", "requests_250ms", "requests_5000ms", "requests_500ms", "result_count", "result_size", "scan_plus", "selects", "service_time", "unbounded", "updates", "warnings"

    String

    Responses
    HTTP Code Description Schema

    200

    An object containing all metrics for the specified statistic. Each statistic has a different set of metrics.

    Security
    Type Name

    http (basic)

    Default

    Retrieve All Statistics

    GET /admin/stats
    Description

    Returns all statistics.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An object containing all statistics. Each statistic consists of a top-level statistic name and a metric name. Each statistic has a different set of metrics.

    Security
    Type Name

    http (basic)

    Default

    Retrieve Vitals

    GET /admin/vitals
    Description

    Returns data about the running state and health of the query engine. This information can be very useful to assess the current workload and performance characteristics of a query engine, and hence load-balance the requests being sent to various query engines.

    Produces
    • application/json

    Responses
    HTTP Code Description Schema

    200

    An object containing all vital statistics.

    Security
    Type Name

    http (basic)

    Default

    Example HTTP Request

    Refer to Get System Vitals for examples.

    Definitions

    This section describes the properties consumed and returned by this REST API.

    Cluster Information

    Object

    Property Schema

    name
    optional

    The name of the cluster.

    String

    datastore
    optional

    The URL of the datastore.

    String

    configstore
    optional

    The URL of the configstore.

    String

    accountstore
    optional

    The URL of the accountstore.

    String

    version
    optional

    String

    Garbage Collection

    Object

    Property Schema

    freed
    required

    The amount of memory freed.

    Integer

    released
    optional

    Only returned by the POST method. The amount of memory released to the OS.

    Integer

    status
    required

    The status of the garbage collector.

    String

    Logging Parameters

    Object

    Property Schema

    aborted
    optional

    If true, all requests that generate a panic are logged.

    Default: null
    Example: true

    Boolean

    client
    optional

    The IP address of the client. If specified, all completed requests from this IP address are logged.

    Default: ""
    Example: "172.1.2.3"

    String

    context
    optional

    The opaque ID or context provided by the client. If specified, all completed requests with this client context ID are logged.

    Refer to the request-level client_context_id parameter for more information.

    String

    error
    optional

    An error number. If specified, all completed queries returning this error number are logged.

    Default: null
    Example: 12003

    Integer (int32)

    tag
    optional

    A unique string which tags a set of qualifiers.

    Refer to Configure Completed Requests for more information.

    Default: ""
    Example: "both_user_and_error"

    String

    threshold
    optional

    A duration in milliseconds. If specified, all completed queries lasting longer than this threshold are logged.

    This is another way of specifying the node-level completed-threshold setting.

    Default: 1000
    Example: 7000

    Integer (int32)

    user
    optional

    A user name, as given in the request credentials. If specified, all completed queries with this user name are logged.

    Default: ""
    Example: "marco"

    String

    Metrics

    Object

    Property Schema

    count
    optional

    A single value that represents the current state.

    Integer

    15m.rate
    optional

    15-minute exponentially weighted moving average.

    Big Decimal

    1m.rate
    optional

    1-minute exponentially weighted moving average.

    Big Decimal

    5m.rate
    optional

    5-minute exponentially weighted moving average.

    Big Decimal

    mean.rate
    optional

    Mean rate since the query service started.

    Big Decimal

    max
    optional

    The maximum value.

    Integer

    mean
    optional

    The mean value.

    Big Decimal

    median
    optional

    The median value.

    Big Decimal

    min
    optional

    The minimum value.

    Integer

    stddev
    optional

    The standard deviation.

    Big Decimal

    75%
    optional

    The 75th percentile.

    Big Decimal

    95%
    optional

    The 95th percentile.

    Big Decimal

    99%
    optional

    The 99th percentile.

    Big Decimal

    99.9%
    optional

    The 99.9th percentile.

    Big Decimal

    Node Information

    Object

    Property Schema

    cluster
    optional

    The name of the cluster.

    String

    name
    optional

    The URL of the node, including port number.

    String

    queryEndpoint
    optional

    The HTTP URL of the query endpoint.

    String

    adminEndpoint
    optional

    The HTTP URL of the admin endpoint.

    String

    querySecure
    optional

    The HTTPS URL of the query endpoint.

    String

    adminSecure
    optional

    The HTTPS URL of the admin endpoint.

    String

    options
    optional

    String

    Requests

    Object

    Property Schema

    clientContextID
    optional

    The opaque ID or context provided by the client. Refer to the request-level client_context_id parameter for more information.

    String

    elapsedTime
    optional

    The time taken from when the request was acknowledged by the service to when the request was completed. It includes the time taken by the service to schedule the request.

    String (duration)

    errorCount
    optional

    Total number of errors encountered while executing the query.

    Integer

    memoryQuota
    optional

    The memory quota for the request, in MB. This property is only returned if a memory quota is set for the query.

    Integer

    node
    optional

    IP address and port number of the node where the query is executed.

    String

    phaseCounts
    optional

    Count of documents processed at selective phases involved in the query execution, such as authorize, index scan, fetch, parse, plan, run, etc.

    For active requests, this property is dynamic, depending on the documents processed by various phases up to this moment in time. Polling the active requests again may return different values.

    Example: {"fetch":16,"indexScan":187}

    Object

    phaseOperators
    optional

    Indicates the numbers of each kind of query operator involved in different phases of the query processing.

    For instance, a non-covering index path might involve one index scan and one fetch operator. A join would probably involve two or more fetches, one per keyspace. A union select would have twice as many operator counts, one per each branch of the union.

    Example: {"authorize":1,"fetch":1,"indexScan":2}

    Object

    phaseTimes
    optional

    Cumulative execution times for various phases involved in the query execution, such as authorize, index scan, fetch, parse, plan, run, etc.

    For active requests, this property is dynamic, depending on the documents processed by various phases up to this moment in time. Polling the active requests again may return different values.

    Example: {"authorize":"823.631µs","fetch":"656.873µs","indexScan":"29.146543ms","instantiate":"236.221µs","parse":"826.382µs","plan":"11.831101ms","run":"16.892181ms"}

    Object

    remoteAddr
    optional

    IP address and port number of the client application, from where the query is received.

    String

    requestId
    optional

    Unique request ID internally generated for the query.

    UUID (uuid)

    requestTime
    optional

    Timestamp when the query is received.

    Date (date-time)

    resultCount
    optional

    Total number of documents returned in the query result.

    Integer

    resultSize
    optional

    Total number of bytes returned in the query result.

    Integer

    scanConsistency
    optional

    The value of the query setting Scan Consistency used for the query.

    String

    serviceTime
    optional

    Total amount of calendar time taken to complete the query.

    String (duration)

    state
    optional

    The state of the query execution, such as completed, running, cancelled.

    Note that the completed state means that the request was started and completed by the Query service, but it does not mean that it was necessarily successful. The request could have been successful, or completed with errors.

    To find requests that were successful, use this field in conjunction with the errorCount field: search for requests whose state is completed and whose error count is 0.

    String

    statement
    optional

    The query statement being executed.

    String

    useCBO
    optional

    Whether the cost-based optimizer is enabled for the query.

    Boolean

    usedMemory
    optional

    The amount of document memory used to execute the request. This property is only returned if a memory quota is set for the query.

    Integer

    userAgent
    optional

    Name of the client application or program that issued the query.

    String

    users
    optional

    Username with whose privileges the query is run.

    String

    Settings

    Object

    Property Schema

    atrcollection
    optional

    Specifies the collection where active transaction records are stored. The collection must be present. If not specified, the active transaction record is stored in the default collection in the default scope in the bucket containing the first mutated document within the transaction.

    The value must be a string in the form "bucket.scope.collection" or "namespace:bucket.scope.collection". If any part of the path contains a special character, that part of the path must be delimited in backticks ``.

    The request-level atrcollection parameter specifies this property per request. If a request does not include this parameter, the node-level atrcollection setting will be used.

    Default: ""
    Example: "default:`travel-sample`.transaction.test"

    String

    auto-prepare
    optional

    Specifies whether the query engine should create a prepared statement every time a SQL++ request is submitted, whether the PREPARE statement is included or not.

    Refer to Auto-Prepare for more information.

    Default: false
    Example: true

    Boolean

    cleanupclientattempts
    optional

    When enabled, the Query service preferentially aims to clean up just transactions that it has created, leaving transactions for the distributed cleanup process only when it is forced to.

    The cluster-level queryCleanupClientAttempts setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: true
    Example: false

    Boolean

    cleanuplostattempts
    optional

    When enabled, the Query service takes part in the distributed cleanup process, and cleans up expired transactions created by any client.

    The cluster-level queryCleanupLostAttempts setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: true
    Example: false

    Boolean

    cleanupwindow
    optional

    Specifies how frequently the Query service checks its subset of active transaction records for cleanup. Decreasing this setting causes expiration transactions to be found more swiftly, with the tradeoff of increasing the number of reads per second used for the scanning process.

    The value for this setting is a string. Its format includes an amount and a mandatory unit, e.g. 10ms (10 milliseconds) or 0.5s (half a second). Valid units are:

    • ns (nanoseconds)
    • us (microseconds)
    • ms (milliseconds)
    • s (seconds)
    • m (minutes)
    • h (hours)

    The cluster-level queryCleanupWindow setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: "60s"
    Example: "30s"

    String (duration)

    completed
    optional

    A nested object that sets the parameters for the completed requests catalog. All completed requests that match these parameters are tracked in the completed requests catalog.

    Refer to Configure Completed Requests for more information and examples.

    completed-limit
    optional

    Sets the number of requests to be logged in the completed requests catalog. As new completed requests are added, old ones are removed.

    Increase this when the completed request keyspace is not big enough to track the slow requests, such as when you want a larger sample of slow requests.

    Refer to Configure Completed Requests for more information and examples.

    The cluster-level queryCompletedLimit setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 4000
    Example: 7000

    Integer (int32)

    completed-max-plan-size
    optional

    A plan size in bytes. Limits the size of query execution plans that can be logged in the completed requests catalog. Values larger than the maximum limit are silently treated as the maximum limit. Queries with plans larger than this are not logged. You must obtain execution plans for such queries via profiling or using the EXPLAIN statement.

    Refer to Configure Completed Requests for more information.

    The cluster-level queryCompletedMaxPlanSize setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 262144
    Minimum: 0
    Maximum: 20840448

    Integer (int32)

    completed-stream-size
    optional

    Couchbase Server 7.6.4

    A file size in MiB. When specified, completed requests are saved to the Couchbase Server logs directory. Completed requests are saved to GZIP archives with the prefix local_request_log. The value of this property determines the size of the data to retain, per node.

    Specify 0 (the default) to disable completed request streaming.

    Completed request streaming is available in Couchbase Server 7.6.4 and later.

    Refer to Stream Completed Requests for more information and examples.

    Integer (int32)

    completed-threshold
    optional

    A duration in milliseconds. All completed queries lasting longer than this threshold are logged in the completed requests catalog.

    Specify 0 to track all requests, independent of duration. Specify any negative number to track none.

    Refer to Configure Completed Requests for more information and examples.

    The cluster-level queryCompletedThreshold setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 1000
    Example: 7000

    Integer (int32)

    controls
    optional

    Specifies if there should be a controls section returned with the request results.

    When set to true, the query response document includes a controls section with runtime information provided along with the request, such as positional and named parameters or settings.

    NOTE: If the request qualifies for caching, these values will also be cached in the completed_requests system keyspace.

    The request-level controls parameter specifies this property per request. If a request does not include this parameter, the node-level controls setting will be used.

    Default: false
    Example: true

    Boolean

    cpuprofile
    optional

    The absolute path and filename to write the CPU profile to a local file.

    The output file includes a controls section and performance measurements, such as memory allocation and garbage collection, to pinpoint bottlenecks and ways to improve your code execution.

    NOTE: If cpuprofile is left running too long, it can slow the system down as its file size increases.

    To stop cpuprofile, run with the empty setting of "".

    Default: ""
    Example: "/tmp/info.txt"

    String

    debug
    optional

    Use debug mode.

    When set to true, extra logging is provided.

    Default: false
    Example: true

    Boolean

    distribute
    optional

    This field is only available with the POST method. When specified alongside other settings, this field instructs the node that is processing the request to cascade those settings to all other query nodes. The actual value of this field is ignored.

    Example: true

    Boolean

    functions-limit
    optional

    Maximum number of user-defined functions.

    Default: 16384
    Example: 7000

    Integer (int32)

    keep-alive-length
    optional

    Maximum size of buffered result.

    Default: 16384
    Example: 7000

    Integer (int32)

    loglevel
    optional

    Log level used in the logger.

    All values, in descending order of data:

    • DEBUG — For developers. Writes everything.

    • TRACE — For developers. Less info than DEBUG.

    • INFO — For admin & customers. Lists warnings & errors.

    • WARN — For admin. Only abnormal items.

    • ERROR — For admin. Only errors to be fixed.

    • SEVERE — For admin. Major items, like crashes.

    • NONE — Doesn't write anything.

    The cluster-level queryLogLevel setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Values: "DEBUG", "TRACE", "INFO", "WARN", "ERROR", "SEVERE", "NONE"
    Default: "INFO"
    Example: "DEBUG"

    String

    max-index-api
    optional

    Max index API. This setting is provided for technical support only.

    Integer (int32)

    max-parallelism
    optional

    Specifies the maximum parallelism for queries on this node.

    If the value is zero or negative, the maximum parallelism is restricted to the number of allowed cores. Similarly, if the value is greater than the number of allowed cores, the maximum parallelism is restricted to the number of allowed cores.

    (The number of allowed cores is the same as the number of logical CPUs. In Community Edition, the number of allowed cores cannot be greater than 4. In Enterprise Edition, there is no limit to the number of allowed cores.)

    The cluster-level queryMaxParallelism setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, there is a request-level max_parallelism parameter. If a request includes this parameter, it will be capped by the node-level max-parallelism setting.

    NOTE: To enable queries to run in parallel, you must specify the cluster-level queryMaxParallelism parameter, or specify the node-level max-parallelism parameter on all Query nodes.

    Refer to Max Parallelism for more information.

    Default: 1
    Example: 0

    Integer (int32)

    memory-quota
    optional

    Specifies the maximum amount of memory a request may use on this node, in MB. Note that the overall node memory quota is this setting multiplied by the node-level servicers setting.

    Specify 0 (the default value) to disable. When disabled, there is no quota.

    This parameter enforces a ceiling on the memory used for the tracked documents required for processing a request. It does not take into account any other memory that might be used to process a request, such as the stack, the operators, or some intermediate values.

    Within a transaction, this setting enforces the memory quota for the transaction by tracking the delta table and the transaction log (approximately).

    The cluster-level queryMemoryQuota setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level memory_quota parameter specifies this property per request. If a request includes this parameter, it will be capped by the node-level memory-quota setting.

    Default: 0
    Example: 4

    Integer (int32)

    memprofile
    optional

    Filename to write the diagnostic memory usage log.

    NOTE: If memprofile is left running too long, it can slow the system down as its file size increases.

    To stop memprofile, run with the empty setting of "".

    Default: ""
    Example: "/tmp/memory-usage.log"

    String

    mutexprofile
    optional

    Mutex profile. This setting is provided for technical support only.

    Default: false

    Boolean

    n1ql-feat-ctrl
    optional

    SQL++ feature control. This setting is provided for technical support only. The value may be an integer, or a string representing a hexadecimal number.

    The cluster-level queryN1qlFeatCtrl setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 76
    Example: 16460

    Integer (int32)

    node-quota
    optional

    Sets the soft memory limit for this node, in MB. The garbage collector tries to keep below this target. It is not a hard, absolute limit, and memory usage may exceed this value.

    When set to 0 (the default), there is no soft memory limit.

    The cluster-level queryNodeQuota setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 0

    Integer (int32)

    node-quota-val-percent
    optional

    The percentage of the node-quota that is dedicated to tracked value content memory across all active requests on this node. (The memory-quota setting specifies the maximum amount of document memory an individual request may use on this node.)

    The cluster-level queryNodeQuotaValPercent setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 67
    Minimum: 0
    Maximum: 100

    Integer (int32)

    num-cpus
    optional

    The number of CPUs the Query service can use on this node. Note that this setting requires a restart of the Query service to take effect.

    When set to 0 (the default), the Query service can use all available CPUs, up to the limits described below.

    The number of CPUs can never be greater than the number of logical CPUs. In Community Edition, the number of allowed CPUs cannot be greater than 4. In Enterprise Edition, there is no limit to the number of allowed CPUs.

    The cluster-level queryNumCpus setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 0

    Integer (int32)

    numatrs
    optional

    Specifies the total number of active transaction records.

    The cluster-level queryNumAtrs setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level numatrs parameter specifies this property per request. The minimum of that and the node-level numatrs setting is applied.

    String

    pipeline-batch
    optional

    Controls the number of items execution operators can batch for Fetch from the KV.

    The cluster-level queryPipelineBatch setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level pipeline_batch parameter specifies this property per request. The minimum of that and the node-level pipeline-batch setting is applied.

    Default: 16
    Example: 64

    Integer (int32)

    pipeline-cap
    optional

    Maximum number of items each execution operator can buffer between various operators.

    The cluster-level queryPipelineCap setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level pipeline_cap parameter specifies this property per request. The minimum of that and the node-level pipeline-cap setting is applied.

    Default: 512
    Example: 1024

    Integer (int32)

    plus-servicers
    optional

    The number of service threads for transactions where the scan consistency is request_plus or at_plus. The default is 16 times the number of logical cores.

    Example: 16

    Integer (int32)

    prepared-limit
    optional

    Maximum number of prepared statements in the cache. When this cache reaches the limit, the least recently used prepared statements will be discarded as new prepared statements are created.

    The cluster-level queryPreparedLimit setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    Default: 16384
    Example: 65536

    Integer (int32)

    pretty
    optional

    Specifies whether query results are returned in pretty format.

    The request-level pretty parameter specifies this property per request. If a request does not include this parameter, the node-level setting is used, which defaults to false.

    Default: false
    Example: true

    Boolean

    profile
    optional

    Specifies if there should be a profile section returned with the request results. The valid values are:

    • off — No profiling information is added to the query response.

    • phases — The query response includes a profile section with stats and details about various phases of the query plan and execution. Three phase times will be included in the system:active_requests and system:completed_requests monitoring keyspaces.

    • timings — Besides the phase times, the profile section of the query response document will include a full query plan with timing and information about the number of processed documents at each phase. This information will be included in the system:active_requests and system:completed_requests keyspaces.

    NOTE: If profile is not set as one of the above values, then the profile setting does not change.

    Refer to Monitoring and Profiling Details for more information and examples.

    The request-level profile parameter specifies this property per request. If a request does not include this parameter, the node-level profile setting will be used.

    Values: "off", "phases", "timings"
    Default: "off"
    Example: "phases"

    String

    request-size-cap
    optional

    Maximum size of a request.

    Default: 67108864
    Example: 70000

    Integer (int32)

    scan-cap
    optional

    Maximum buffered channel size between the indexer client and the query service for index scans. This parameter controls when to use scan backfill.

    Use 0 or a negative number to disable. Smaller values reduce GC, while larger values reduce indexer backfill.

    The cluster-level queryScanCap setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level scan_cap parameter specifies this property per request. The minimum of that and the node-level scan-cap setting is applied.

    Default: 512
    Example: 1024

    Integer (int32)

    servicers
    optional

    The number of service threads for the query. The default is 4 times the number of cores on the query node.

    Note that the overall node memory quota is this setting multiplied by the node-level memory-quota setting.

    Default: 32
    Example: 8

    Integer (int32)

    timeout
    optional

    Maximum time to spend on the request before timing out (ns).

    The value for this setting is an integer, representing a duration in nanoseconds. It must not be delimited by quotes, and must not include a unit.

    Specify 0 (the default value) or a negative integer to disable. When disabled, no timeout is applied and the request runs for however long it takes.

    The cluster-level queryTimeout setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level timeout parameter specifies this property per request. The minimum of that and the node-level timeout setting is applied.

    Default: 0
    Example: 500000000

    Long (int64)

    txtimeout
    optional

    Maximum time to spend on a transaction before timing out (ns). This setting only applies to requests containing the BEGIN TRANSACTION statement, or to requests where the tximplicit parameter is set. For all other requests, it is ignored.

    The value for this setting is an integer, representing a duration in nanoseconds. It must not be delimited by quotes, and must not include a unit.

    Specify 0 (the default value) to disable. When disabled, no timeout is applied and the transaction runs for however long it takes.

    The cluster-level queryTxTimeout setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level txtimeout parameter specifies this property per request. The minimum of that and the node-level txtimeout setting is applied.

    Default: 0
    Example: 500000000

    Long (int64)

    use-cbo
    optional

    Specifies whether the cost-based optimizer is enabled.

    The cluster-level queryUseCBO setting specifies this property for the whole cluster. When you change the cluster-level setting, the node-level setting is over-written for all nodes in the cluster.

    In addition, the request-level use_cbo parameter specifies this property per request. If a request does not include this parameter, the node-level setting is used, which defaults to true.

    Default: true
    Example: false

    Boolean

    use-replica
    optional

    Specifies whether a query can fetch data from a replica vBucket if active vBuckets are inaccessible. The possible values are:

    • off — read from replica is disabled for all queries and cannot be overridden at request level.

    • on — read from replica is enabled for all queries, but can be disabled at request level.

    • unset — read from replica is enabled or disabled at request level.

    The cluster-level queryUseReplica setting specifies the default for this property for the whole cluster. When you change the cluster-level setting, the node-level setting is overwritten for all nodes in the cluster.

    In addition, the request-level use_replica parameter specifies this property per request. If a request does not include this parameter, or if the request-level parameter is unset, the node-level setting is used. If the request-level parameter and the node-level setting are both unset, read from replica is disabled for that request.

    Do not enable read from replica when you require consistent results. Only SELECT queries that are not within a transaction can read from replica.

    Reading from replica is only possible if the cluster uses Couchbase Server 7.6.0 or later.

    Note that KV range scans cannot currently be started on a replica vBucket. If a query uses sequential scan and a data node becomes unavailable, the query might return an error, even if read from replica is enabled for the request.

    Values: "off", "on", "unset"
    Default: "unset"
    Example: "on"

    String

    Prepared Statements

    Object

    Property Schema

    encoded_plan
    required

    The full prepared statement in encoded format.

    String

    featureControls
    optional

    This property is provided for technical support only. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    Integer

    indexApiVersion
    optional

    This property is provided for technical support only. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    Integer

    name
    required

    The name of the prepared statement. This may be a UUID that was assigned automatically, or a name that was user-specified when the statement was created.

    String

    namespace
    optional

    The namespace in which the prepared statement is stored. Currently, only the default namespace is available.

    String

    node
    optional

    The node on which the prepared statement is stored.

    String

    statement
    required

    The text of the query.

    String

    uses
    required

    The count of times the prepared statement has been executed.

    Integer

    avgElapsedTime
    optional

    The mean time taken from when the request to execute the prepared statement was acknowledged by the service, to when the request was completed. It includes the time taken by the service to schedule the request.

    This property is only returned when the prepared statement has been executed. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    String (duration)

    avgServiceTime
    optional

    The mean amount of calendar time taken to complete the execution of the prepared statement.

    This property is only returned when the prepared statement has been executed. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    String (duration)

    lastUse
    optional

    Date and time of last use.

    This property is only returned when the prepared statement has been executed.

    Date (date-time)

    maxElapsedTime
    optional

    The maximum time taken from when the request to execute the prepared statement was acknowledged by the service, to when the request was completed. It includes the time taken by the service to schedule the request.

    This property is only returned when the prepared statement has been executed. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    String (duration)

    maxServiceTime
    optional

    The maximum amount of calendar time taken to complete the execution of the prepared statement.

    This property is only returned when the prepared statement has been executed. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    String (duration)

    minElapsedTime
    optional

    The minimum time taken from when the request to execute the prepared statement was acknowledged by the service, to when the request was completed. It includes the time taken by the service to schedule the request.

    This property is only returned when the prepared statement has been executed. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    String (duration)

    minServiceTime
    optional

    The minimum amount of calendar time taken to complete the execution of the prepared statement.

    This property is only returned when the prepared statement has been executed. It is only returned when retrieving a specific prepared statement, not when retrieving all prepared statements.

    String (duration)

    Statistics

    Object

    Property Schema

    active_requests.count
    optional

    Total number of active requests.

    Integer

    at_plus.count
    optional

    Total number of query requests with at_plus index consistency.

    Integer

    audit_actions.count
    optional

    The total number of audit records sent to the server. Some requests cause more than one audit record to be emitted. Records in the output queue that have not yet been sent to the server are not counted.

    Integer

    audit_actions_failed.count
    optional

    The total number of audit records sent to the server that failed.

    Integer

    audit_requests_filtered.count
    optional

    The number of potentially auditable requests that cause no audit action to be taken.

    Integer

    audit_requests_total.count
    optional

    The total number of potentially auditable requests sent to the query engine.

    Integer

    cancelled.count
    optional

    Total number of cancelled requests.

    Integer

    deletes.count
    optional

    Total number of DELETE operations.

    Integer

    errors.count
    optional

    The total number of query errors returned so far.

    Integer

    index_scans.count
    optional

    Total number of secondary index scans.

    Integer

    inserts.count
    optional

    Total number of INSERT operations.

    Integer

    invalid_requests.count
    optional

    Total number of requests for unsupported endpoints.

    Integer

    mutations.count
    optional

    Total number of document mutations.

    Integer

    prepared.count
    optional

    Total number of prepared statements executed.

    Integer

    primary_scans.count
    optional

    Total number of primary index scans.

    Integer

    queued_requests.count
    optional

    Total number of queued requests.

    Integer

    request_time.count
    optional

    Total end-to-end time to process all queries (ns).

    Integer

    request_timer.15m.rate
    optional

    Number of query requests processed per second. 15-minute exponentially weighted moving average.

    Big Decimal

    request_timer.1m.rate
    optional

    Number of query requests processed per second. 1-minute exponentially weighted moving average.

    Big Decimal

    request_timer.5m.rate
    optional

    Number of query requests processed per second. 5-minute exponentially weighted moving average.

    Big Decimal

    request_timer.75%
    optional

    End-to-end time to process a query (ns). The 75th percentile.

    Big Decimal

    request_timer.95%
    optional

    End-to-end time to process a query (ns). The 95th percentile.

    Big Decimal

    request_timer.99%
    optional

    End-to-end time to process a query (ns). The 99th percentile.

    Big Decimal

    request_timer.99.9%
    optional

    End-to-end time to process a query (ns). The 99.9th percentile.

    Big Decimal

    request_timer.count
    optional

    Total number of query requests.

    Integer

    request_timer.max
    optional

    End-to-end time to process a query (ns). The maximum value.

    Integer

    request_timer.mean
    optional

    End-to-end time to process a query (ns). The mean value.

    Big Decimal

    request_timer.mean.rate
    optional

    Number of query requests processed per second. Mean rate since the query service started.

    Big Decimal

    request_timer.median
    optional

    End-to-end time to process a query (ns). The median value.

    Big Decimal

    request_timer.min
    optional

    End-to-end time to process a query (ns). The minimum value.

    Integer

    request_timer.stddev
    optional

    End-to-end time to process a query (ns). The standard deviation.

    Big Decimal

    requests.count
    optional

    Total number of query requests.

    Integer

    requests_1000ms.count
    optional

    Number of queries that take longer than 1000ms.

    Integer

    requests_250ms.count
    optional

    Number of queries that take longer than 250ms.

    Integer

    requests_5000ms.count
    optional

    Number of queries that take longer than 5000ms.

    Integer

    requests_500ms.count
    optional

    Number of queries that take longer than 500ms.

    Integer

    result_count.count
    optional

    Total number of results (documents) returned by the query engine.

    Integer

    result_size.count
    optional

    Total size of data returned by the query engine (bytes).

    Integer

    scan_plus.count
    optional

    Total number of query requests with request_plus index consistency.

    Integer

    selects.count
    optional

    Total number of SELECT requests.

    Integer

    service_time.count
    optional

    Time to execute all queries (ns).

    Integer

    unbounded.count
    optional

    Total number of query requests with not_bounded index consistency.

    Integer

    updates.count
    optional

    Total number of UPDATE requests.

    Integer

    warnings.count
    optional

    The total number of query warnings returned so far.

    Integer

    Vital Statistics

    Object

    Property Schema

    bucket.IO.stats
    optional

    The number of reads and retries for each bucket.

    Object

    uptime
    optional

    The uptime of the query engine.

    String (duration)

    local.time
    optional

    The local time of the query engine.

    Date (date-time)

    version
    optional

    The version of the query engine.

    String

    total.threads
    optional

    The number of active threads used by the query engine.

    Integer

    cores
    optional

    The maximum number of logical cores available to the query engine.

    Integer

    ffdc.total
    optional

    The total number of times FFDC has been invoked since the last restart.

    Integer

    gc.num
    optional

    The target heap size of the next garbage collection cycle.

    Long (int64)

    gc.pause.time
    optional

    The total time spent pausing for garbage collection since the query engine started (ns).

    String (duration)

    gc.pause.percent
    optional

    The percentage of time spent pausing for garbage collection since the last time the statistics were checked.

    Long (int64)

    healthy
    optional

    False when either the unbounded or plus request queues are full; true otherwise.

    Boolean

    host.memory.free
    optional

    Amount of free memory on the host.

    Long (int64)

    host.memory.quota
    optional

    The host memory quota. This reflects the node-quota setting.

    Long (int64)

    host.memory.total
    optional

    Total memory on the host.

    Long (int64)

    host.memory.value_quota
    optional

    This the total document memory quota on the node.

    Long (int64)

    load
    optional

    A calculation for how busy the server is.

    Integer

    loadfactor
    optional

    The moving 15 minute average of the load calculation.

    Integer

    memory.usage
    optional

    The amount of memory allocated for heap objects (bytes). This increases as heap objects are allocated, and decreases as objects are freed.

    Long (int64)

    memory.total
    optional

    The cumulative amount of memory allocated for heap objects (bytes). This increases as heap objects are allocated, but does not decrease when objects are freed.

    Long (int64)

    memory.system
    optional

    The total amount of memory obtained from the operating system (bytes). This measures the virtual address space reserved by the query engine for heaps, stacks, and other internal data structures.

    Long (int64)

    node
    optional

    The name or IP address and port of the node.

    String

    node.allocated.values
    optional

    The total number of values allocated to contain documents or computations around documents. (This is only of relevance internally.)

    Integer

    node.memory.usage
    optional

    The currently allocated document memory on the node.

    Integer

    cpu.user.percent
    optional

    CPU usage. The percentage of time spent executing user code since the last time the statistics were checked.

    Long (int64)

    cpu.sys.percent
    optional

    CPU usage. The percentage of time spent executing system code since the last time the statistics were checked.

    Long (int64)

    process.memory.usage
    optional

    Current process memory use.

    Integer

    process.percore.cpupercent
    optional

    Average CPU usage per core.

    Big Decimal

    process.rss
    optional

    Process RSS (bytes)

    Integer

    process.service.usage
    optional

    The number of active servicers for the dominant workload — unbound queue servicers or plus queue servicers.

    Integer

    request.completed.count
    optional

    Total number of completed requests.

    Integer

    request.active.count
    optional

    Total number of active requests.

    Integer

    request.per.sec.1min
    optional

    Number of query requests processed per second. 1-minute exponentially weighted moving average.

    Big Decimal

    request.per.sec.5min
    optional

    Number of query requests processed per second. 5-minute exponentially weighted moving average.

    Big Decimal

    request.per.sec.15min
    optional

    Number of query requests processed per second. 15-minute exponentially weighted moving average.

    Big Decimal

    request.queued.count
    optional

    Number of queued requests.

    Integer

    request.quota.used.hwm
    optional

    High water mark for request quota use.

    Integer

    request_time.mean
    optional

    End-to-end time to process a query. The mean value.

    String (duration)

    request_time.median
    optional

    End-to-end time to process a query. The median value.

    String (duration)

    request_time.80percentile
    optional

    End-to-end time to process a query. The 80th percentile.

    String (duration)

    request_time.95percentile
    optional

    End-to-end time to process a query. The 95th percentile.

    String (duration)

    request_time.99percentile
    optional

    End-to-end time to process a query. The 99th percentile.

    String (duration)

    request.prepared.percent
    optional

    Percentage of requests that are prepared statements.

    Integer

    servicers.paused.count
    optional

    Number of servicers temporarily paused due to memory pressure. (Applies to serverless environments only.)

    Integer

    servicers.paused.total
    optional

    Number of times servicers have been temporarily paused. (Applies to serverless environments only.)

    Integer

    temp.hwm
    optional

    High water mark for temp space use directly by query. (Doesn't include use by the GSI and FTS clients.)

    Integer

    temp.usage
    optional

    Current Query temp space use. (Doesn't include use by the GSI and FTS clients.)

    Integer

    Security

    Default

    The Admin API supports admin credentials. Credentials can be passed via HTTP headers (HTTP basic authentication).

    Type : http

    None

    No authentication is required for the Ping or Get Debug Variables endpoints.

    See Also