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

upthewaterspout pushed a commit to branch feature/redis-performance-testing
in repository https://gitbox.apache.org/repos/asf/geode.git

commit dc5ece083bcbe1c1e75cf324c1250c88a7ea1f9a
Author: Jens Deppe <[email protected]>
AuthorDate: Wed Feb 24 16:01:56 2021 -0800

    Fix partition calculation
---
 .../src/main/java/org/apache/geode/redis/internal/RegionProvider.java  | 1 +
 .../java/org/apache/geode/redis/internal/data/ByteArrayWrapper.java    | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/geode-redis/src/main/java/org/apache/geode/redis/internal/RegionProvider.java 
b/geode-redis/src/main/java/org/apache/geode/redis/internal/RegionProvider.java
index a8cd6c8..20c9dc3 100644
--- 
a/geode-redis/src/main/java/org/apache/geode/redis/internal/RegionProvider.java
+++ 
b/geode-redis/src/main/java/org/apache/geode/redis/internal/RegionProvider.java
@@ -31,6 +31,7 @@ public class RegionProvider {
   public static final String REDIS_CONFIG_REGION = "__REDIS_CONFIG";
   public static final int REDIS_REGION_BUCKETS = 
Integer.getInteger("redis.region.buckets", 128);
   public static final int REDIS_SLOTS = Integer.getInteger("redis.slots", 
16384);
+  public static final int REDIS_SLOTS_PER_BUCKET = REDIS_SLOTS / 
REDIS_REGION_BUCKETS;
 
   private final Region<ByteArrayWrapper, RedisData> dataRegion;
   private final Region<String, Object> configRegion;
diff --git 
a/geode-redis/src/main/java/org/apache/geode/redis/internal/data/ByteArrayWrapper.java
 
b/geode-redis/src/main/java/org/apache/geode/redis/internal/data/ByteArrayWrapper.java
index b24d5a6..ba1b409 100755
--- 
a/geode-redis/src/main/java/org/apache/geode/redis/internal/data/ByteArrayWrapper.java
+++ 
b/geode-redis/src/main/java/org/apache/geode/redis/internal/data/ByteArrayWrapper.java
@@ -17,6 +17,7 @@ package org.apache.geode.redis.internal.data;
 
 import static 
org.apache.geode.redis.internal.RegionProvider.REDIS_REGION_BUCKETS;
 import static org.apache.geode.redis.internal.RegionProvider.REDIS_SLOTS;
+import static 
org.apache.geode.redis.internal.RegionProvider.REDIS_SLOTS_PER_BUCKET;
 
 import java.io.DataInput;
 import java.io.DataOutput;
@@ -119,7 +120,7 @@ public class ByteArrayWrapper
    */
   public synchronized Object getRoutingId() {
     if (routingId == null) {
-      routingId = (CRC16.calculate(value) % REDIS_SLOTS) % 
REDIS_REGION_BUCKETS;
+      routingId = (CRC16.calculate(value) % REDIS_SLOTS) / 
REDIS_SLOTS_PER_BUCKET;
     }
 
     return routingId;

Reply via email to