Pool Family Routing¶
Actions are normally routed to a specific pool by setting the Pool execution
property on your platform target — see Pools for details.
Pool family routing lets you target executor pools by operating system and CPU architecture rather than by the physical pool name. This is useful when building cross-platform binaries — for example, producing native Linux, macOS releases from the same CI pipeline. Each target platform runs on a real machine of the matching OS and architecture, all resolved from the same logical pool family.
Enable pool family routing¶
This feature requires setup on both sides:
- Server side: Contact your DSE to configure pool families and enable the feature on your cluster.
- Client side: Set the
PoolFamily,OSFamily, andISAexecution properties in your platform target (see below).
Configure your Bazel platform¶
Set all three of PoolFamily, OSFamily, and ISA on your platform target.
All three must be set together — specifying a subset results in an error.
Your DSE will provide the correct values for PoolFamily, OSFamily, and ISA
that match your cluster's configuration.
Verify routing¶
You can confirm that actions are routing correctly using Build Analytics. Each action record includes these fields:
| Field | Description |
|---|---|
pool_id_requested |
The pool or family the client requested |
pool_id_alias |
The pool alias used to resolve the request |
pool_id_resolution |
How the pool was resolved: explicit, mnemonic_override, or pool_family_alias |
Actions routed via pool family routing show pool_family_alias in
pool_id_resolution.