Hello, we’re trying to use pool based assignment. ...
# troubleshooting
t
Hello, we’re trying to use pool based assignment. We have three availability zones, a server group in each with different pool tags. The table replication setting is 2. Our issue is that we either have a three sized replica group and the segments will be replicated to each pool (unnecessary increasing the table replication) or a 2 sized replica group but then one of the server groups won’t have any segments to serve. Any idea for a configuration where each server groups are used and the replication of the table remains 2?
this is the configuration when we end up increased replication:
Copy code
"instanceAssignmentConfigMap": {
      "OFFLINE": {
        "tagPoolConfig": {
          "tag": "DefaultTenant_OFFLINE",
          "poolBased": true,
          "numPools": 0
        },
        "replicaGroupPartitionConfig": {
          "replicaGroupBased": true,
          "numInstances": 0,
          "numReplicaGroups": 3,
          "numInstancesPerReplicaGroup": 0,
          "numPartitions": 1,
          "numInstancesPerPartition": 2
        }
      }
    },
k
Would you mind describing the problem you are trying to solve
Pool based is a bit advanced feature
t
We’re running Pinot in Kubernetes, and we’d like to achieve zero downtime upgrade. Thus we created independent pinot server Kubernetes deployments for each availability zone, all of them are members of the same Pinot cluster. We’d like to create a table configuration where a segment and its replica are in a different availability zone(/Kubernetes deployment) in any case. We’re trying to use pool based assignments for this. Servers in the same zone are in the same pool. But so far we were only able to create configs where either a segments are available in every zone which increases our desired replica size for the table or using only two of the server groups leaving one server group completely unused.