[ https://issues.apache.org/jira/browse/GEODE-9833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Owen Nichols closed GEODE-9833. ------------------------------- > SPOP Command Supported > ---------------------- > > Key: GEODE-9833 > URL: https://issues.apache.org/jira/browse/GEODE-9833 > Project: Geode > Issue Type: Improvement > Components: redis > Reporter: Wayne > Assignee: Kristen > Priority: Major > Labels: blocks-1.15.0, pull-request-available > Fix For: 1.15.0 > > > The SPOP command has been implemented but lacks sufficient testing to ensure > that the implementation is robust and does not regress in the future. > > Write unit/integration tests that run against both Geode Redis and native > Redis, and dunit tests which test multiple concurrent clients accessing > different servers. > > +Acceptance Criteria+ > > Passing Unit/integration tests for both Geode and native Redis. The > RedisCommandType class and > README/redis_api_for_[geode.html.md.erb|http://geode.html.md.erb/] updated to > make command "supported". Stories in the backlog to fix the identified issues > (with JIRA tickets) and problem tests that are ignored should be fixed and > enabled. > > The current implementation of RedisSet spop and srandmember always copy the > entire MemberSet. So if you have a redis set with a million items, and than > ask for one random one, instead of it reading just one of the items out of > the set it first copies the entire set. > The call that makes the copy is "members.toArray". It should be pretty easy > to add spop and srandmember support to the MemberSet super class. Since > MemberSet uses a flat array to store its items it should work well with > supporting indexing of its array to get a random element. -- This message was sent by Atlassian Jira (v8.20.7#820007)