Details
-
Bug
-
Resolution: Duplicate
-
Major
-
6.6.0
-
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" |
}
|
}
|