Using the Free License on a Kubernetes Cluster with more memory than allowed

Hi

I’ve got a Kubernetes cluster where each node has > 768GB of memory. I’m trying to install the Free license via the memsql operator. The installation fails on the ADD LEAF. When I manually try to do it on the master:

memsqlctl add-leaf --host node-memsql-cluster-leaf-ag1-0.svc-memsql-cluster --password *
memsqlctl will perform the following actions on the local master aggregator on port 3306:
· Run ADD LEAF root:****@node-memsql-cluster-leaf-ag1-0.svc-memsql-cluster:3306

Would you like to continue? [y/N]: y
Error 2374: Leaf node could not be added because you are using the MemSQL free license which has a limit of 4 license units and after adding the node you would be using 24 license units. To purchase more capacity, contact team@memsql.com. See Capacity Limit Errors · SingleStore Documentation for instructions on how to create a cluster with up to 4 license units.

I’ve set the maximum_memory to a low number:

cat /var/lib/memsql/instance/memsql.cnf
[server]
auditlogsdir = auditlogs
bind_address = 0.0.0.0
datadir = data
pid_file = memsqld.pid
plancachedir = plancache
port = 3306
tracelogsdir = tracelogs
basedir = .
core_file = true
lc_messages_dir = ./share
lock_wait_timeout = 60
maximum_memory = 13107
minimum_core_count = 0
minimum_memory_mb = 0
skip_host_cache = on
snapshot_trigger_size = 2g
socket = memsql.sock
tmpdir = .

And I’ve only got one master and one leaf.

Any ideas?

If you are experimenting or building a proof of concept, talk to our sales team to get an enterprise trial license with more capacity. You can contact them at info@memsql.com if you are not already in touch with them.

The license code looks at the capacity of the whole machine. One possible workaround, if you want to use this machine long-term with the free version, within allowed capacity, would be to run memsql in a VM or VMs on that machine that constrains the hardware available to the software inside the VM.

Also, we are changing our licensing code so it will track container hard memory and cpu limits instead of the underlying host limits. This change should be released in a 7.1 patch release sometime this month. This will make running MemSQL free edition in k8s a lot easier then today.