dice icon indicating copy to clipboard operation
dice copied to clipboard

Add support for `PFDEBUG` command

Open Vsareen0 opened this issue 1 year ago • 15 comments

Add support for the PFDEBUG command in DiceDB similar to the PFDEBUG command in Redis. Please refer to the following commit in Redis to understand the implementation specifics - source.

Write unit and integration tests for the command referring to the tests written in the Redis codebase 7.2.5. 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.

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.

Vsareen0 avatar Aug 04 '24 17:08 Vsareen0

Hey @Vsareen0 Do you have any updates on this? If you have any blockers lets discuss this over the discord. Or if you have multiple items on the plate, lets open this issue for everyone, and others can pick this up. Thanks

cc - @JyotinderSingh

AshwinKul28 avatar Aug 25 '24 18:08 AshwinKul28

Would like to pick this up if possible

chettriyuvraj avatar Sep 01 '24 18:09 chettriyuvraj

@chettriyuvraj Assigned https://github.com/DiceDB/dice/issues/242 to you, this can be picked up by someone else. thank you.

AshwinKul28 avatar Sep 08 '24 12:09 AshwinKul28

@AshwinKul28 If this is pending I would like to work on it.

deep-adeshraa avatar Sep 09 '24 12:09 deep-adeshraa

Hi, I'd like to work on this issue.

ankkyprasad avatar Sep 18 '24 19:09 ankkyprasad

@deep-adeshraa over to you! Thanks for picking up.

AshwinKul28 avatar Sep 18 '24 20:09 AshwinKul28

Thank you @AshwinKul28 - I started looking into it

deep-adeshraa avatar Sep 21 '24 19:09 deep-adeshraa

Please assign this issue to me. Thanks :)

neverwannafly avatar Oct 10 '24 06:10 neverwannafly

Please assign this issue to me. Thanks :)

Assigned

JyotinderSingh avatar Oct 10 '24 06:10 JyotinderSingh

Will close by this week.

neverwannafly avatar Oct 17 '24 15:10 neverwannafly

Hello @neverwannafly,

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 avatar Oct 24 '24 13:10 arpitbbhayani

Hey @JyotinderSingh @arpitbbhayani @AshwinKul28,

if this still needs to be worked on, I'd like to pick it up. Thank you :)

benbarten avatar Oct 28 '24 10:10 benbarten

I have mostly completed it. One sub-command for PFDEBUG needs to be integrated. Will do this by this month. I'll raise a first draft PR by morrow

neverwannafly avatar Oct 28 '24 15:10 neverwannafly

Link to work in progress PR - https://github.com/DiceDB/dice/pull/1216/files @arpitbbhayani

neverwannafly avatar Oct 29 '24 09:10 neverwannafly

redis's hyperloglog implementation is slightly different from the lib we're using for go for the PFDEBUG subcommands decode, they return a run length encoding of their sparse data structure (for efficient representation). Our DS for sparseset is slightly different and wont make sense to return the exact same output (we make use of tempset and sparseset to lazily load/assign sparse fields). Would it be better to return a base64 encoded version and in our documentation provide end users how to unmarhsal it?

neverwannafly avatar Nov 04 '24 12:11 neverwannafly