# Does FoundationDB support running 1 GRV proxy per zone?

**URL:** <https://forums.foundationdb.org/t/does-foundationdb-support-running-1-grv-proxy-per-zone/4555>\
**Category:** Running FoundationDB\
**Created:** [July 4, 2024, 7:25am UTC](https://forums.foundationdb.org/t/does-foundationdb-support-running-1-grv-proxy-per-zone/4555 "2024-07-04T07:25:07Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gm42](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/gm42/32/1784_2.png) [@gm42](https://forums.foundationdb.org/u/gm42)\
**Post date:** [July 4, 2024, 7:25am UTC](https://forums.foundationdb.org/t/does-foundationdb-support-running-1-grv-proxy-per-zone/4555/1 "2024-07-04T07:25:07Z")

</div>

Hi there 🙂

I am trying to figure out whether it’s possible (or not) to run a cluster configuration with operator where there is 1 GRV proxy on each zone, with the intent of minimizing latency on read-only queries.

So far I have tried using `three_data_hall` and configuring `grv_proxies: 1` on the cluster of each zone, with no luck: the GRV proxy and cluster controller always end up in a single zone.

Any tips/ideas? Thanks!

[Previous thread](https://forums.foundationdb.org/t/incorrect-clusterfile-coordinators-when-using-three-data-hall/4493/13)

---

<div class="post-metadata">

**Author:** ![jzhou](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/jzhou/32/445_2.png) [@jzhou](https://forums.foundationdb.org/u/jzhou)\
**Post date:** [July 12, 2024, 4:55am UTC](https://forums.foundationdb.org/t/does-foundationdb-support-running-1-grv-proxy-per-zone/4555/2 "2024-07-12T04:55:56Z")

</div>

`grv_proxies=N` is a database option that can be configured with `fdbcli`. For your desired case, N=3. Then you need to have 3 stateless pods, one in each zone, running `grv_proxy` class so that these processes are preferred and recruited as GRV proxies.

---

<div class="post-metadata">

**Author:** ![gm42](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/gm42/32/1784_2.png) [@gm42](https://forums.foundationdb.org/u/gm42)\
**Post date:** [July 31, 2024, 10:17am UTC](https://forums.foundationdb.org/t/does-foundationdb-support-running-1-grv-proxy-per-zone/4555/3 "2024-07-31T10:17:27Z")

</div>

Thanks for your reply @jzhou! When setting `grv_proxies: 3` on each of the 3 k8s FoundationDB cluster objects, no change happens e.g. the `master`, `commit_proxy`, `cluster_controller`, `grv_proxy` and resolver are all running on the stateless pods of one of the 3 data halls. By `grv_proxy` class you mean that I should somehow have the operator create dedicated pods for this class? Is that supported/possible? I can see for example that one can specify a `coordinatorSelection` but I can’t locate a similar mechanism for `grv_proxy` and other classes which normally run on `stateless` pods; if you have some reference to existing documentation I’ll be happy to read it.

---

<div class="post-metadata">

**Author:** ![gm42](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/gm42/32/1784_2.png) [@gm42](https://forums.foundationdb.org/u/gm42)\
**Post date:** [November 12, 2024, 10:21am UTC](https://forums.foundationdb.org/t/does-foundationdb-support-running-1-grv-proxy-per-zone/4555/4 "2024-11-12T10:21:35Z")

</div>

@johscheuer do you know of any way to force the cluster to hire more than 1 GRV proxy role in one of the 3 halls? 🤔

---

<div class="post-metadata">

**Author:** ![gm42](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/gm42/32/1784_2.png) [@gm42](https://forums.foundationdb.org/u/gm42)\
**Post date:** [November 13, 2024, 2:26pm UTC](https://forums.foundationdb.org/t/does-foundationdb-support-running-1-grv-proxy-per-zone/4555/5 "2024-11-13T14:26:45Z")

</div>

I managed to activate multiple GRV proxies: it was key to not specify a pre-fixed `stateless:` in `processCounts:`.

Thanks everyone!
