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

Internal changes for MB-40121 (Deprecation of querySettings/curlWhitelist API endpoint)

    XMLWordPrintable

Details

    • Triaged
    • 1
    • No

    Description

      In MB-40121 only the name of the external API endpoint was changed. This ticket will be used to track the other items to be finished. 

      1) Change references to "whitelist" in api responses. Change "queryCurlWhitelist" to "queryCurlAllowlist" in the following response.

      curl -X GET http://127.0.0.1:9000/settings/querySettings -u Administrator:asdasd
       
      {"queryTmpSpaceDir": "/ Users / hareen.kancharla / cb / src / ns_server / tmp", "queryTmpSpaceSize": 5120, "queryPipelineBatch": 16, "queryPipelineCap": 512, "queryScanCap": 512, "query 0, "queryPreparedLimit": 16384, "queryCompletedLimit": 4000, "queryCompletedThreshold": 1000, "queryLogLevel": "info", "queryMaxParallelism": 1, "queryN1QLFeatCtrl": 76, "queryTxMimeout": ": 0," queryUseCBO ": true," queryCleanupClientAttempts ": true," queryCleanupLostAttempts ": true," queryCleanupWindow ":" 60s "," queryNumAtrs ": 1024, ... ,
      "queryCurlWhitelist ": {" all_access_ls ": false," : [], "disallowed_urls": []}} 

      2) Deprecate the API's from all the consumers (UI etc) using it.

      3) Update external/internal docs if any, documenting the API deprecation. 

      Context for the changes to be made as mentioned by Steve:

      The information in the ns_config is persistent (written to disk). In a mixed version cluster the old versions would expect to find (I'm making up these names) a key named "whitelist". If the newer version wants to use "allowList" it cannot do so until there are no nodes running the older version. We have a concept we call cluster compatibility mode which is used to define what is allowed on the cluster. The cluster compat mode is the lowest version running in the cluster.  As an example, if you have a 5 node cluster with 2 nodes running 6.0, 2 nodes running 6.6.2, and 1 node running 7.0, the cluster must be at compat mode 6.0.  This means any new keys (or renaming of keys) that were done in the 6.6.2 release or the 7.0 release cannot occur until the cluster compat mode goes to 6.6.2.  This won't happen until the 6.0 node is removed from the cluster.  At that point the cluster compat mode would transition to 6.6.2 allowing any new keys or renaming that occurred in the 6.6.2 release to be done.  This would now allow any new keys or renaming in 7.0 to occur. The 6.6.2 nodes would have to be removed in order for that to be allowed.

      Attachments

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

        Activity

          People

            Abhijeeth.Nuthan Abhijeeth Nuthan
            hareen.kancharla Hareen Kancharla
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are 2 open Gerrit changes

                PagerDuty