You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ri...@apache.org on 2022/02/14 17:15:18 UTC
[geode] branch WIP-GEODE-9892 updated: MOVED fix, more transactional lpush
This is an automated email from the ASF dual-hosted git repository.
ringles pushed a commit to branch WIP-GEODE-9892
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/WIP-GEODE-9892 by this push:
new b1ff4dd MOVED fix, more transactional lpush
b1ff4dd is described below
commit b1ff4ddb77c29ab14a892378c01fb868149d72db
Author: Ray Ingles <ri...@vmware.com>
AuthorDate: Mon Feb 14 12:11:58 2022 -0500
MOVED fix, more transactional lpush
---
.../redis/internal/commands/executor/list/LPushDUnitTest.java | 1 +
.../java/org/apache/geode/redis/internal/data/RedisList.java | 11 ++++++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/list/LPushDUnitTest.java b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/list/LPushDUnitTest.java
index b77558b..029b28c 100644
--- a/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/list/LPushDUnitTest.java
+++ b/geode-for-redis/src/distributedTest/java/org/apache/geode/redis/internal/commands/executor/list/LPushDUnitTest.java
@@ -64,6 +64,7 @@ public class LPushDUnitTest {
@Before
public void testSetup() {
clusterStartUp.startRedisVM(1, locator.getPort());
+ clusterStartUp.rebalanceAllRegions();
int redisServerPort = clusterStartUp.getRedisPort(1);
jedis = new JedisCluster(new HostAndPort(BIND_ADDRESS, redisServerPort), REDIS_CLIENT_TIMEOUT);
GeodeAwaitility.await().during(Duration.ofMillis(500)).until(() -> true);
diff --git a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java
index 307d2ec..61f9b79 100644
--- a/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java
+++ b/geode-for-redis/src/main/java/org/apache/geode/redis/internal/data/RedisList.java
@@ -49,9 +49,10 @@ public class RedisList extends AbstractRedisData {
* @return the number of elements actually added
*/
public long lpush(List<byte[]> elementsToAdd, Region<RedisKey, RedisData> region, RedisKey key) {
- for (byte[] element : elementsToAdd) {
- elementPush(element);
- }
+ // for (byte[] element : elementsToAdd) {
+ // elementPush(element);
+ // }
+ elementsPush(elementsToAdd);
storeChanges(region, key, new AddByteArrays(elementsToAdd));
return elementList.size();
}
@@ -131,6 +132,10 @@ public class RedisList extends AbstractRedisData {
elementList.addFirst(element);
}
+ public synchronized void elementsPush(List<byte[]> elementsToAdd) {
+ elementList.addAll(0, elementsToAdd);
+ }
+
@Override
public RedisDataType getType() {
return REDIS_LIST;