New roles in FDB 6.2?

When upgrading from FDB 6.0 to FDB 6.2, I notice some new roles: ratekeeper, router and data_distributor, which are not mentioned here https://apple.github.io/foundationdb/configuration.html.

Do you have a reference document for that, and what is the recommended configurations (how many processes per each role) in a 3DCs, two-regions setup?

1 Like

I’d first recommend taking a look at Roles / Classes matrix, which will give you the nicer view of how and where the new roles will fit into the new processes. Overall, there’s been a trend of adding new types of things that can live in stateless class processes happily, so it’s always nice to have an extra few of them laying around.

ratekeeper and data_distributor were both previously pieces of master that got broken out to reduce master CPU usage (and to let them survive across recoveries). If you had a master class process in your 6.0 cluster, then they’ll prefer to be there. Otherwise, they’ll migrate towards other stateless class processes if they’re available and preferably unused.

log_router is the piece that pulls mutations from the primary to the secondary in a multi-region cluster. FDB will recruit a number of them that matches the number of transaction logs that you have, or you can configure it with log_routers=N. As log routers are stateless, they’ll probably just use the processes that you have allocated to be the proxies/resolver/master/etc. in the secondary in the case of a failover, so I don’t really expect that you’ll need to allocate any new processes for them.

But the feedback that we didn’t update the documentation about configuration is appreciated.

2 Likes