At this stage is is just a proposal - Todd Stoffel will confirm or reject.
Problem: On very low memory (1GB, 2GB, even 3GB) columnstore tends to fail in multiple and unpredictable ways.
At the same time it appears next to impossible to find all the points where failure may occur and defend against them.
We believe it is acceptable to simply prevent the cluster from starting up if memory is 3G or below.
Complication: The behavior needs to be clear to the user. It cannot be something put into some log file which nobody knows the location of. It cannot be that the cluster comes up but stays inoperable, putting some messages into some logs on any attempt to use it.
Proposal: put the logic into CMAPI START and CMAPI ADD NODE. On START, make sure all nodes have enough memory, otherwise print a message, and set STATUS to OOM. On ADD NODE check the new node and refuse the operation if it does not have enough memory.
And make sure STATUS query reflect the condition (not only the fact that the cluster is down, but also that it is down for a reason).