- 19 5月, 2017 1 次提交
-
-
由 Pengzhou Tang 提交于
Resource group cpu rate limitation is implemented with cgroup on linux system. When resource group is enabled via GUC we check whether cgroup is available and properly configured on the system. A sub cgroup is created for each resource group, cpu quota and share weight will be set depends on the resource group configuration. The queries will run under these cgroups, and the cpu usage will be restricted by cgroup. The cgroups directory structures: * /sys/fs/cgroup/{cpu,cpuacct}/gpdb: the toplevel gpdb cgroup * /sys/fs/cgroup/{cpu,cpuacct}/gpdb/*/: cgroup for each resource group The logic for cpu rate limitation: * in toplevel gpdb cgroup we set the cpu quota and share weight as: cpu.cfs_quota_us := cpu.cfs_period_us * 256 * gp_resource_group_cpu_limit cpu.shares := 1024 * ncores * for each sub group we set the cpu quota and share weight as: sub.cpu.cfs_quota_us := -1 sub.cpu.shares := top.cpu.shares * sub.cpu_rate_limit The minimum and maximum cpu percentage for a sub cgroup: sub.cpu.min_percentage := gp_resource_group_cpu_limit * sub.cpu_rate_limit sub.cpu.max_percentage := gp_resource_group_cpu_limit The acutal percentage depends on how busy the system is. gp_resource_group_cpu_limit is a GUC introduced to control the cpu resgroups assigned on each host. gpconfig -c gp_resource_group_cpu_limit -v '0.9' A new pipeline is created to perform the tests as we need privileged permission to enable and setup cgroups on the system. Signed-off-by: NNing Yu <nyu@pivotal.io>
-
- 07 3月, 2017 1 次提交
-
-
First, it support shell script and command: The new syntax is: ``` ! <some script> ``` This is required to run something like gpfaultinjector, gpstart, gpstop, etc. Second, it support utility mode with blocking command and join: The new syntax is: ``` 2U&: <sql> 2U<: ``` The above example means: - blocking in utility mode on dbid 2 - join back in previous session in utility mode on dbid 2 Fix the exception handling to allow the test to complete, and log the failed commands instead of abort the test. This will make sure all the cleaning steps are executed and not blocking following tests. This also include init_file for diff comparison to ignore timestamp output from gpfaultinjector.
-
- 23 2月, 2017 1 次提交
-
-
由 Heikki Linnakangas 提交于
These are the same tests queries for column-oriented append-only tables, as those moved by commit 11a5a807, for row-oriented append-only tables. There were two additional tests that were never executed for row-oriented tables though: phantom_reads_update_serializable and phantom_reads_delete_serializable. I believe that was an oversight in the original test suite; they are now also executed for row-oriented tables. We use the UAO templating mechanism, to run the same test files against row- and column-oriented tables. To make that work, fix a bug in the templating mechanism pg_regress.c: if the --ao-dir argument was shorter than 7 characters, the uao directory was not detected correctly.
-
- 19 2月, 2017 1 次提交
-
-
由 Heikki Linnakangas 提交于
This new "isolation2" suite uses the same Python helper that TINC used, to run these special isolation test cases.
-