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

Reply via email to