aditya-pt opened a new issue #8090: URL: https://github.com/apache/pinot/issues/8090
If we create replicaGroupPartitionConfig config as below with `"numReplicaGroups": 1` ``` "replicaGroupPartitionConfig": { "replicaGroupBased": true, "numInstances": 0, "numReplicaGroups": 1, "numInstancesPerReplicaGroup": 2, "numPartitions": 2, "numInstancesPerPartition": 1 } ``` Rebalance servers fails with following error ``` { "status": "FAILED", "description": "Caught exception while calculating target assignment: java.lang.IllegalStateException: Instance partitions: transcript_OFFLINE should contain 1 replica and 1 partition for non-replica-group based assignment", "instanceAssignment": { "OFFLINE": { "instancePartitionsName": "transcript_OFFLINE", "partitionToInstancesMap": { "0_0": [ "Server_11.22.91.152_8098" ], "1_0": [ "Server_10.45.76.114_9098" ] } } }, "segmentAssignment": null } ``` Error stack trace in controller logs ```2022/01/28 19:09:36.894 WARN [TableRebalancer] [grizzly-http-server-2] Caught exception while calculating target assignment for table: transcript_OFFLINE, aborting the rebalance java.lang.IllegalStateException: Instance partitions: transcript_OFFLINE should contain 1 replica and 1 partition for non-replica-group based assignment at shaded.com.google.common.base.Preconditions.checkState(Preconditions.java:518) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.apache.pinot.controller.helix.core.assignment.segment.SegmentAssignmentUtils.getInstancesForNonReplicaGroupBasedAssignment(SegmentAssignmentUtils.java:78) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.apache.pinot.controller.helix.core.assignment.segment.OfflineSegmentAssignment.reassignSegments(OfflineSegmentAssignment.java:251) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.apache.pinot.controller.helix.core.assignment.segment.OfflineSegmentAssignment.rebalanceTable(OfflineSegmentAssignment.java:215) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.apache.pinot.controller.helix.core.rebalance.TableRebalancer.rebalance(TableRebalancer.java:248) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.apache.pinot.controller.helix.core.PinotHelixResourceManager.rebalanceTable(PinotHelixResourceManager.java:2633) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.apache.pinot.controller.api.resources.PinotTableRestletResource.rebalance(PinotTableRestletResource.java:590) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at jdk.internal.reflect.GeneratedMethodAccessor500.invoke(Unknown Source) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52) ~[pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124) [pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167) [pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219) [pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79) [pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469) [pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0b00d0d6076] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391) [pinot-all-0.10.0-SNAPSHOT-jar-with-dependencies.jar:0.10.0-SNAPSHOT-e7ea235a1e0e94da02b5a8b171bba0 ``` If numReplicaGroups is changed to 2. Server rebalance is successful ``` "replicaGroupPartitionConfig": { "replicaGroupBased": true, "numInstances": 0, "numReplicaGroups": 2, "numInstancesPerReplicaGroup": 2, "numPartitions": 2, "numInstancesPerPartition": 1 } ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org