This is an automated email from the ASF dual-hosted git repository.

gjacoby pushed a commit to branch 5.1
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/5.1 by this push:
     new 0a6c28ff2d PHOENIX-6530 - changed the tenant id generation for uniform 
distribution load generator (#1453)
0a6c28ff2d is described below

commit 0a6c28ff2dc9b81d1cbb40cac66beb51597c21e6
Author: thrylokya <[email protected]>
AuthorDate: Wed Jun 22 20:27:07 2022 +0530

    PHOENIX-6530 - changed the tenant id generation for uniform distribution 
load generator (#1453)
    
    Co-authored-by: Thrylokya Geereddy <[email protected]>
---
 .../UniformDistributionLoadEventGenerator.java        | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/generators/UniformDistributionLoadEventGenerator.java
 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/generators/UniformDistributionLoadEventGenerator.java
index 15ccbb4e80..3dac8bb3c5 100644
--- 
a/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/generators/UniformDistributionLoadEventGenerator.java
+++ 
b/phoenix-pherf/src/main/java/org/apache/phoenix/pherf/workload/mt/generators/UniformDistributionLoadEventGenerator.java
@@ -37,6 +37,10 @@ import java.util.Random;
 public class UniformDistributionLoadEventGenerator extends 
BaseLoadEventGenerator {
 
     private static class UniformDistributionSampler {
+
+        private final Random RANDOM = new Random();
+
+
         private final LoadProfile loadProfile;
         private final String modelName;
         private final String scenarioName;
@@ -47,7 +51,7 @@ public class UniformDistributionLoadEventGenerator extends 
BaseLoadEventGenerato
         private final List<Operation> operationList;
 
         public UniformDistributionSampler(List<Operation> operationList, 
DataModel model,
-                Scenario scenario) {
+                                          Scenario scenario) {
             this.modelName = model.getName();
             this.scenarioName = scenario.getName();
             this.tableName = scenario.getTableName();
@@ -72,12 +76,19 @@ public class UniformDistributionLoadEventGenerator extends 
BaseLoadEventGenerato
         public TenantOperationInfo nextSample() {
             int sampleIndex = this.distribution.nextInt(operationList.size());
             Operation op = operationList.get(sampleIndex);
+            int numTenants = 1;
+
+            if(tenantGroup.getNumTenants() != 0){
+                numTenants = tenantGroup.getNumTenants();
+            }
 
             String tenantGroupId = tenantGroup.getId();
             String tenantIdPrefix = Strings
                     .padStart(tenantGroupId, loadProfile.getGroupIdLength(), 
'x');
+           
             String formattedTenantId = 
String.format(loadProfile.getTenantIdFormat(),
-                    tenantIdPrefix.substring(0, 
loadProfile.getGroupIdLength()), 1);
+                    tenantIdPrefix.substring(0, 
loadProfile.getGroupIdLength()), RANDOM.nextInt(numTenants));
+
             String paddedTenantId = Strings.padStart(formattedTenantId, 
loadProfile.getTenantIdLength(), 'x');
             String tenantId = paddedTenantId.substring(0, 
loadProfile.getTenantIdLength());
 
@@ -91,13 +102,13 @@ public class UniformDistributionLoadEventGenerator extends 
BaseLoadEventGenerato
 
 
     public UniformDistributionLoadEventGenerator(PhoenixUtil phoenixUtil, 
DataModel model, Scenario scenario,
-            Properties properties) {
+                                                 Properties properties) {
         super(phoenixUtil, model, scenario, properties);
         this.sampler = new 
UniformDistributionSampler(operationFactory.getOperations(), model, scenario);
     }
 
     public UniformDistributionLoadEventGenerator(PhoenixUtil phoenixUtil, 
DataModel model, Scenario scenario,
-            List<PherfWorkHandler> workHandlers, Properties properties) {
+                                                 List<PherfWorkHandler> 
workHandlers, Properties properties) {
         super(phoenixUtil, model, scenario, workHandlers, properties);
         this.sampler = new 
UniformDistributionSampler(operationFactory.getOperations(), model, scenario);
     }

Reply via email to