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

Lax validation of autocompaction setting

    XMLWordPrintable

Details

    • Untriaged
    • 1
    • Unknown

    Description

      Lax validation of compaction settings causes unwanted behavior in that some fields can be "undefined", as below.

      $ curl -s 'Administrator:asdasd@127.0.0.1:9000/pools/default/buckets/default' \
      > -d 'allowedTimePeriod[toMinute]=0' \
      > -d 'allowedTimePeriod[toHour]=12' \
      > -d 'allowedTimePeriod[fromMinute]=0' \
      > -d 'allowedTimePeriod[fromHour]=11' \
      > -d 'autoCompactionDefined=true' \
      > -d 'parallelDBAndViewCompaction=true'
       
      $ curl -s 'Administrator:asdasd@127.0.0.1:9000/pools/default/buckets' | jq '.[].autoCompactionSettings'
      {
        "parallelDBAndViewCompaction": true,
        "allowedTimePeriod": {
          "fromHour": 11,
          "toHour": 12,
          "fromMinute": 0,
          "toMinute": 0,
          "abortOutside": "undefined"
        },
        "databaseFragmentationThreshold": {
          "percentage": "undefined",
          "size": "undefined"
        },
        "viewFragmentationThreshold": {
          "percentage": "undefined",
          "size": "undefined"
        }
      } 

      It is also possible for other parameters to not be specified. 

      $ curl -s 'Administrator:asdasd@127.0.0.1:9000/pools/default/buckets/default' \
      > -d 'allowedTimePeriod[toHour]=13' \
      > -d 'allowedTimePeriod[fromMinute]=0' \
      > -d 'allowedTimePeriod[fromHour]=11' \
      > -d 'autoCompactionDefined=true' \
      > -d 'parallelDBAndViewCompaction=true' \
      > -d 'allowedTimePeriod[abortOutside]=true'
      $ curl -s 'Administrator:asdasd@127.0.0.1:9000/pools/default/buckets' | jq '.[].autoCompactionSettings'
      {
        "parallelDBAndViewCompaction": true,
        "allowedTimePeriod": {
          "fromHour": 11,
          "toHour": 13,
          "fromMinute": 0,
          "toMinute": "undefined",
          "abortOutside": true
        },
        "databaseFragmentationThreshold": {
          "percentage": "undefined",
          "size": "undefined"
        },
        "viewFragmentationThreshold": {
          "percentage": "undefined",
          "size": "undefined"
        }
      }

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            steve.watanabe Steve Watanabe
            Abhijeeth.Nuthan Abhijeeth Nuthan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty