Why roles is empty in status json output?

We found that there are some empty roles in the status json out as following:

“roles” : [
],

We wonder what does it mean? And what is the root cause of it? Thanks!

In my experience, if no roles are assigned to a given process could mean it is a stateless class process and there are already all necessary stateless roles assigned, or is a log class process but it is standby (overcapacity, only assigned if other log process fails?).

If a process doesn’t have a role assign normally means it doesn’t participate actively in the cluster that could mean for a storage process that this process was excluded and doesn’t hold any data. For log and stateless processes that could mean that they are either excluded or that they are in standby mode (like Imperatorx already mentioned). For example if you run 10 log processes and configure the database to have 5 log processes that would mean that 5 are on standby (assuming no faults).

Thanks a lot for your explanation!

@johscheuer How to achieve this: “run 10 log processes and configure the database to have 5 log processes”?
I thought you first configure the number of log process, then you can see the cluster is up and running with the number of log processes you’ve defined.

Is this related to the difference between databaseConfiguration and processCounts? I’m not clear why both of them can define the role counts. Have seen this https://github.com/FoundationDB/fdb-kubernetes-
operator/blob/main/docs/cluster_spec.md#databaseconfiguration but didn’t understand.
Which one is deciding how many that kind of processes will be launched in the soon-to-be created cluster?