Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for RANDOMKEY Command #254

Open
JyotinderSingh opened this issue Aug 6, 2024 · 20 comments
Open

Add support for RANDOMKEY Command #254

JyotinderSingh opened this issue Aug 6, 2024 · 20 comments

Comments

@JyotinderSingh
Copy link
Collaborator

We need to implement the RANDOMKEY command similar to the RANDOMKEY command in Redis. Please refer to the following commit in Redis to understand the implementation specifics - source.

  1. Write unit and integration tests for the command referring to the tests written in the Redis codebase 7.2.5.
  2. For integration tests, you can refer to the tests folder. Note: they have used TCL for the test suite, and we need to port that to our way of writing integration tests using the relevant helper methods. Please refer to our tests directory.
  3. For the command, benchmark the code and measure the time taken and memory allocs using benchmem and try to keep them to the bare minimum.
@codeimmortal
Copy link

codeimmortal commented Aug 6, 2024

Please assign this to me, i will understand code base first. Good for initial understanding of code flow, I have un-assign myself from other issue.

@JyotinderSingh
Copy link
Collaborator Author

Please assign this to me, i will understand code base first. Good for initial understanding of code flow, I have un-assign myself from other issue.

Assigned

@rkarthick15
Copy link
Contributor

@codeimmortal if you are not working on this, can I pick this one?

@ArjunMenonPe
Copy link

@JyotinderSingh / @soumya-codes - Can you please assign this issue? Would like to try the SCAN approach to get the next valid key for this issue.

@AshwinKul28
Copy link
Contributor

This is yours @ArjunMenonPe . Thanks for picking this up.

@arpitbbhayani
Copy link
Contributor

Hello @ArjunMenonPe,

There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.

We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.

Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.

Thanks again.

@Vidyap23
Copy link

Vidyap23 commented Sep 14, 2024

Hello @ArjunMenonPe,

There has been no activity on this issue for the past 5 days. It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.

We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.

Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.

Thanks again.

@arpitbbhayani I would like to pick this, if there has been no activity. Thanks

@Vidyap23
Copy link

@JyotinderSingh @soumya-codes Could you please assign this to me?

@JyotinderSingh
Copy link
Collaborator Author

@JyotinderSingh @soumya-codes Could you please assign this to me?

Assigned, thanks for picking this up. However, please keep in mind that implementing RANDOMKEY in our setup has proven to be a little challenging up until now, particularly due to the data structures we are using internally. Feel free to discuss any blockers on the Discord channel.

@Vidyap23
Copy link

Vidyap23 commented Sep 18, 2024

@JyotinderSingh @soumya-codes Could you please assign this to me?

Assigned, thanks for picking this up. However, please keep in mind that implementing RANDOMKEY in our setup has proven to be a little challenging up until now, particularly due to the data structures we are using internally. Feel free to discuss any blockers on the Discord channel.

Thank you. Sure, I will do that.

@JyotinderSingh
Copy link
Collaborator Author

@JyotinderSingh @soumya-codes Could you please assign this to me?

Assigned, thanks for picking this up. However, please keep in mind that implementing RANDOMKEY in our setup has proven to be a little challenging up until now, particularly due to the data structures we are using internally. Feel free to discuss any blockers on the Discord channel.

Thank you. Sure, I will do that.

https://discord.gg/xAqKy3jw

@Vidyap23
Copy link

Just wanted to give an update, I am still working on it and hope to raise a PR tomorrow

@iamskp11
Copy link
Contributor

Hey @Vidyap23, just stumbled upon this, and read the RANDOMKEY implementation of Redis.
Are you working on this? If yes, how are you making sure that this command runs in O(1) with current DB methods (store/store.store() methods) we currently have in DiceDB?

@xanish
Copy link

xanish commented Sep 30, 2024

Hey, if this is open I would like to work on it. I was tinkering around and kindof have a working prototype. But will need to discuss some trade-offs before initiating the PR

@arpitbbhayani
Copy link
Contributor

Hello @Vidyap23,

There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.

We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.

Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.

Thanks again.

@iamskp11
Copy link
Contributor

iamskp11 commented Oct 9, 2024

Hey @JyotinderSingh , would like to figure out how we can do it in O(1) or similar. Please assign to me.

@JyotinderSingh JyotinderSingh assigned xanish and unassigned Vidyap23 Oct 16, 2024
@arpitbbhayani
Copy link
Contributor

Hello @xanish,

There has been no activity on this issue for the past 5 days.
It would be awesome if you keep posting updates to this issue so that we know you are actively working on it.

We are really eager to close this issue at the earliest, hence if we continue to see the inactivity, we will have to reassign the issue to someone else. We are doing this to ensure that the project maintains its momentum and others are not blocked on this work.

Just drop a comment with the current status of the work or share any issues you are facing. We can always chip in to help you out.

Thanks again.

@xanish
Copy link

xanish commented Oct 24, 2024

Hey @arpitbbhayani I have initiated the MR, just waiting for confirmation if it can be merged or needs any further changes.

@yaten2302
Copy link

yaten2302 commented Dec 16, 2024

Hey @JyotinderSingh , may I work on this issue since it has been inactive for quite a while?

@JyotinderSingh
Copy link
Collaborator Author

Hey @JyotinderSingh , may I work on this issue since it has been inactive for quite a while?

This issue does not require further work at this time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

10 participants