[MCOL-1847] need to be able to specify NumBlocksPct and TotalUmMemory explicitly Created: 2018-11-02 Updated: 2019-01-15 Resolved: 2018-11-26 |
|
| Status: | Closed |
| Project: | MariaDB ColumnStore |
| Component/s: | installation |
| Affects Version/s: | 1.1.6 |
| Fix Version/s: | 1.2.2 |
| Type: | Bug | Priority: | Critical |
| Reporter: | David Thompson (Inactive) | Assignee: | Daniel Lee (Inactive) |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | containers, relnote | ||
| Issue Links: |
|
||||||||||||
| Sprint: | 2018-20 | ||||||||||||
| Description |
|
Both NumBlocksPct and TotalUmMemory only support a percentage of physical memory setting. This is problematic for containers on shared hosts as this inherits the physical host setting leading to oversizing. Providing an additional means to specify these as explicit amount of memory would help allow explicit sizing and may be beneficial in non container cases as well. |
| Comments |
| Comment by Patrick LeBlanc (Inactive) [ 2018-11-19 ] |
|
Yes it would be, even for us. At least in Hyper-V, and I assume kvm & VMware, you can enable dynamic memory for the client, so the mem available fluctuates. If you can only specify a %age, who knows what you will get. |
| Comment by Patrick LeBlanc (Inactive) [ 2018-11-19 ] |
|
I added the config param "NumBlocksInMB", which lets us specify the cache size in MB. If the Pct is also specified, it will prefer the Pct param. I would have preferred to make this smart and detect the units in the parameter, and not clutter the config file more, except that %age is right there in the name of this one. Since this is for 1.2.2, I chose the less invasive mod. TotalUmMemory already allows absolutes, confirmed that it still works. That one is smart in that it interprets "50%" as a %age, and "10" as 10 bytes. It is not smart enough to tell you 10 is a bad choice, however. |
| Comment by Patrick LeBlanc (Inactive) [ 2018-11-20 ] |
|
Daniel suggested having only 1 config param, leaving it as NumBlocksPct for now, to prevent support headaches. I went ahead and coded that up. Now, if NumBlocksPct ends in an 'm' or a 'g' it will be interpreted as megabytes or gigabytes. Any other suffix (or none) will make it interpret the # as a percentage. In a future version where it makes sense, we should change the name to something more general like "CacheSize". |
| Comment by Patrick LeBlanc (Inactive) [ 2018-11-20 ] |
|
Noticed that TotalUmMemory is parsed by Config::fromText(), which handles the [kKmMgG] suffixes. I made fromText() also parse NumBlocksPct for consistency. |
| Comment by Andrew Hutchings (Inactive) [ 2018-11-20 ] |
|
For QA and docs: NumBlocksPct and TotalUmMemory can now also take a number with M or G at the end to specify a fixed size instead of percentage. |
| Comment by Daniel Lee (Inactive) [ 2018-11-26 ] |
|
Build verified: build made by buildbot on 2018-11-26 for pull request 643. |