[ 
https://issues.apache.org/jira/browse/GEODE-10191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17515685#comment-17515685
 ] 

ASF subversion and git services commented on GEODE-10191:
---------------------------------------------------------

Commit 3a8044aeec9d492182c4bf1a4a311fdc382a393d in geode's branch 
refs/heads/develop from Jens Deppe
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=3a8044a ]

GEODE-10191: Radish RENAME and RESTORE create notification events (#7537)

- Both of these commands have the ability to create events to satisfy
  BLPOP.
- Introduce a NotificationEvent enum which is passed to fireEvent.
- Previously the RedisCommandType was being passed, but this does not
  work for RENAME which creates RENAME_FROM and RENAME_TO events. In the
  future, other commands will need to create multiple events too.



> 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
>            Assignee: Jens Deppe
>            Priority: Major
>              Labels: blocks-1.15.0​, pull-request-available
>             Fix For: 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)

Reply via email to