You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Donal Evans (Jira)" <ji...@apache.org> on 2022/03/29 18:14:00 UTC
[jira] [Updated] (GEODE-10191) BLPOP command does not trigger when the target List is created via a RENAME
[ https://issues.apache.org/jira/browse/GEODE-10191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Donal Evans updated GEODE-10191:
--------------------------------
Labels: blocks-1.15.0 (was: needsTriage)
> BLPOP command does not trigger when the target List is created via a RENAME
> ---------------------------------------------------------------------------
>
> Key: GEODE-10191
> URL: https://issues.apache.org/jira/browse/GEODE-10191
> Project: Geode
> Issue Type: Bug
> Components: redis
> Affects Versions: 1.15.0
> Reporter: Donal Evans
> Priority: Major
> Labels: blocks-1.15.0
>
> BLPOP uses fired events from the LPUSH and RPUSH commands to trigger returning, but it is also possible that a key will be created via RENAME, which does not currently fire any events. The test below passes with open source Redis but fails/hangs with geode-for-redis:
> {code:java}
> @Test
> public void testBLPopWhenValueGetsCreated_withRename() throws Exception {
> String initialName = "{tag}initial";
> String changedName = "{tag}changed";
> jedis.lpush(initialName, "value1", "value2");
> Future<List<String>> future = executor.submit(() -> jedis.blpop(0, changedName));
> awaitEventDistributorSize(1);
> jedis.rename(initialName, changedName);
> assertThat(future.get()).containsExactly(changedName, "value2");
> assertThat(jedis.lpop(changedName)).isEqualTo("value1");
> } {code}
> The RENAME command should be modified so that it fires events for the key being created.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)