https://pinot.apache.org/ logo
#general
Title
# general
d

Dan DC

09/20/2021, 9:39 AM
Hello there, the docs say that a shared volume is required for controllers if more than one is to be deployed. Can someone shed some light as why this is needed instead of each controller having its own storage? Will all the controllers be active? Will they all write to the volume simultaneously? Any considerations we should take into account in a multi-controller environment? My deployment is on k8s
m

Mayank

09/20/2021, 3:16 PM
The shared volume is used for storing golden copy of the data as it is pushed. Typically you want to configure a deepstore (eg S3) for this purpose
d

Dan DC

09/20/2021, 3:20 PM
Cool, so in fact all the controllers will be active if I understand what you're saying, is this correct?
m

Mayank

09/20/2021, 4:29 PM
Yes all controllers will be active to provide fault tolerance. So in case one goes down you will not have unavailability
d

Dan DC

09/20/2021, 4:37 PM
Thanks for confirming 👍
g

Gurpreet Singh

10/05/2023, 5:36 AM
Hi, adding to this conversation. Currently, I see the controllers running in active/passive mode and just provide fault tolerance. Is there a way to run them in active/active mode so that controllers can share the load as well?
m

Mayank

10/05/2023, 6:01 AM
The tables should be distributed across controllers. Can you check the api
leader/tables
?
g

Gurpreet Singh

10/05/2023, 6:05 AM
Here I can see the tables distributed amongst controllers.
Thanks!
m

Mayank

10/05/2023, 6:05 AM
cool
g

Gurpreet Singh

10/05/2023, 6:05 AM
The RAM usage has a huge difference in both of my controllers. Hence, I wanted to clear this out.
Would you have any recommendations where should I be looking?
m

Mayank

10/05/2023, 6:15 AM
In ZK check if this is the lead controller. Also check how much if it is heap (and obsolete references)